راکت

تفاوت آرایه و لیست در سی شارپ

1 پاسخ

تفاوت ساختمان داده آرایه با لیست در سی شارپ چیست؟

ثبت پرسش جدید

پاسخ‌ها

1
هادی شجاعیان
هادی شجاعیان
@hadi.sh.pro

تخصص: مهندس نرم افزار، توسعه کسب و کار در اینترنت

آرایه به عنوان یک ساختمان داده خطی به حساب می آید.
آرایه ها به صورت کنار هم در حافظه قرار می گیرند، دسترسی از طریق اندیس صورت می گیرد. در آرایه عملیات جستجو به دو صورت ترتیبی و دودویی اتفاق می افتد. اگر خطی باشد O(n) و اگر دودویی باشد O(lg n) می باشد. البته در جستجویی دودویی آرایه حتما باید مرتب باشد و می دانیم مرتب سازی خودش می تواند شامل هزینه باشد. عمل حذف و اضافه کردن در آرایه از طریق شیفت انجام می شود.
لیست ها از طریق اشاره گر( پوینتر ) به یکدیگر وصل می شوند، بنابراین لزوما در حافظه کنار هم نیستند، جستجوی دودویی در لیست پیوندی وجود ندارد.
به صورت خلاصه تفاوت آرایه و لیست را می تواند اینگونه لیست کرد

  1. دسترسی به عناصر آرایه نسبت به لیست سریعتر است چون اندیس هر عنصر مشخص است.
    2.درج و حذف در لیست پیوندی نسبت به آرایه ساده تر و سریعتر است، چون نیاز به شیفت و جابجایی فیزیکی نداریم.
    3.امکان جستجوی دودویی در لیست پیوندی وجود ندارد.

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام