ساختارهای خطی و غیرخطی

دسته‌بندی کامل ساختارهای داده خطی و غیرخطی، مقایسه ساختاری و کاربرد هر کدام با مثال‌های ملموس

دو خانواده بزرگ ساختار داده

قبل از ورود به جزئیات، تصویر کلی دسته‌بندی ساختارهای داده را ببینیم. این نقشه ذهنی در کل دوره همراهتان است.

ساختارهای خطی (Linear)

عناصر پشت سر هم و هر عنصر (به‌جز اول و آخر) دقیقاً یک قبله و یک بعدله دارد:

آرایه (Array)

خانه‌های پشت‌سرهم حافظه؛ دسترسی با اندیس فوری است. مثل ردیف صندلی‌های سینما: با شماره صندلی مستقیم می‌روید.

لیست پیوندی (Linked List)

گره‌هایی که هر کدام آدرس بعدی را نگه می‌دارند. مثل گنجینه: هر برگه می‌گوید سرنخ بعدی کجاست. باید از اول بروید!

پشته (Stack)

بشقاب‌های روی هم: فقط از بالا بردارید و فقط روی بالا بگذارید (LIFO — آخرین وارد، اولین خارج).

صف (Queue)

صف نانوایی: اول آمده، اول نان می‌گیرد (FIFO — اولین وارد، اولین خارج).

ساختارهای غیرخطی (Non-linear)

عناصر سلسله‌مراتبی یا شبکه‌ای چیده می‌شوند؛ یک عنصر می‌تواند به چند عنصر وصل باشد:

درخت (Tree)

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

گراف (Graph)

شبکه‌ای از گره‌ها و اتصالات. مثل نقشه شهرها و جاده‌ها یا شبکه دوستان در اینستاگرام.

جدول مقایسه

ساختارنوعترتیبمثال واقعی
آرایهخطیاندیس‌دارصندلی سینما
لیست پیوندیخطیزنجیره‌ایگنجینه سرنخ‌ها
پشتهخطیLIFOبشقاب‌های روی هم
صفخطیFIFOصف نانوایی
درختغیرخطیسلسله‌مراتبینمودار سازمانی
گرافغیرخطیشبکه‌اینقشه جاده‌ها

کدام را انتخاب کنیم؟

نکته: پشته و صف را می‌توان با آرایه یا لیست پیوندی ساخت! آن‌ها «قرارداد رفتاری» هستند (LIFO/FIFO) نه ساختار فیزیکی خاص.

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل ساختار داده و الگوریتم است.

ابزارهای مرتبط