برنامه نویسی

🔍 مصاحبه DSA پرسش و پاسخ – روز 1: آرایه ها در مقابل لیست های مرتبط

خوش آمدید روز 1 از سری پرسش و پاسخ DSA مصاحبه، جایی که ما در اعماق سوالات داده های داده و الگوریتم های متداول شیرجه می شویم تا به شما در تهیه هوشمندانه تر برای مصاحبه های فنی کمک کند.


✅ سوال

تفاوت بین یک آرایه و یک لیست مرتبط چیست؟


💡 پاسخ

آرایه ها و لیست های مرتبط هر دو هستند ساختار داده های خطی، اما آنها در نحوه برخورد با حافظه ، عملیات و عملکرد متفاوت هستند.


🔸 آرایه

نشان شرح
خاطره محاصره کننده حافظه
اندازه اندازه ثابت (تعریف شده در ایجاد)
زمان دسترسی o (1) – دسترسی مستقیم از طریق فهرست
درج o (n) – عناصر باید تغییر کنند
حذف o (n) – عناصر باید تغییر کنند

از مورد استفاده کنید: بهترین حالت در هنگام نیاز به دسترسی سریع ، مستقیم و اندازه داده ها به طور مکرر تغییر نمی کند.

مثال (C#):

int[] arr = { 10, 20, 30, 40, 50 };
Console.WriteLine(arr[2]); // Output: 30
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


🔸 لیست پیوندی

نشان شرح
خاطره گره ها در حافظه پراکنده هستند. هر گره به قسمت بعدی اشاره می کند
اندازه پویا – در صورت لزوم رشد می کند/کوچک می شود
زمان دسترسی o (n) – باید از سر عبور کند
درج o (1) – اگر نشانگر گره شناخته شده باشد
حذف o (1) – اگر نشانگر گره شناخته شده باشد

از مورد استفاده کنید: ایده آل هنگام درج مکرر و حذف ها مورد نیاز است و دسترسی تصادفی لازم نیست.

مثال (C#):

public class Node
{
    public int Data;
    public Node Next;
}

Node head = new Node { Data = 10, Next = null };
head.Next = new Node { Data = 20, Next = null };

Console.WriteLine(head.Next.Data); // Output: 20
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


🧠 مقایسه کلیدی

نشان مجموعه لیست پیوندی
طرح حافظه هم پیوسته غیر مبهم
انعطاف پذیری اندازه ثابت پویا
دسترسی o (1) o (n)
درج o (n) o (1)*
حذف o (n) o (1)*

*اگر اشاره گر/مرجع به گره از قبل شناخته شده باشد.


🎯 نکته مصاحبه

  • ترجیح دادن آرایه هنگامی که به نمایه سازی سریع و حداقل عملیات درج/حذف نیاز دارید.
  • استفاده کردن لیست های مرتبط هنگامی که برنامه شما به اصلاحات مکرر (درج/حذف) در وسط ساختار نیاز دارد.

👉 بعدی: نحوه تشخیص چرخه در یک لیست مرتبط (الگوریتم فلوید)

🔔 برای محتوای آماده سازی مصاحبه روزانه و نمونه های دنیای واقعی دنبال کنید!

💬 در زیر تجربه یا نکات خود را با استفاده از آرایه ها و لیست های مرتبط در پروژه ها نظر دهید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا