ساختارهای خطی و غیرخطی
دستهبندی کامل ساختارهای داده خطی و غیرخطی، مقایسه ساختاری و کاربرد هر کدام با مثالهای ملموس
دو خانواده بزرگ ساختار داده
قبل از ورود به جزئیات، تصویر کلی دستهبندی ساختارهای داده را ببینیم. این نقشه ذهنی در کل دوره همراهتان است.
ساختارهای خطی (Linear)
عناصر پشت سر هم و هر عنصر (بهجز اول و آخر) دقیقاً یک قبله و یک بعدله دارد:
آرایه (Array)
خانههای پشتسرهم حافظه؛ دسترسی با اندیس فوری است. مثل ردیف صندلیهای سینما: با شماره صندلی مستقیم میروید.
لیست پیوندی (Linked List)
گرههایی که هر کدام آدرس بعدی را نگه میدارند. مثل گنجینه: هر برگه میگوید سرنخ بعدی کجاست. باید از اول بروید!
پشته (Stack)
بشقابهای روی هم: فقط از بالا بردارید و فقط روی بالا بگذارید (LIFO — آخرین وارد، اولین خارج).
صف (Queue)
صف نانوایی: اول آمده، اول نان میگیرد (FIFO — اولین وارد، اولین خارج).
ساختارهای غیرخطی (Non-linear)
عناصر سلسلهمراتبی یا شبکهای چیده میشوند؛ یک عنصر میتواند به چند عنصر وصل باشد:
درخت (Tree)
سلسلهمراتب از بالا (ریشه) به پایین (برگها). مثل نمودار سازمانی شرکت یا ساختار پوشههای کامپیوتر.
گراف (Graph)
شبکهای از گرهها و اتصالات. مثل نقشه شهرها و جادهها یا شبکه دوستان در اینستاگرام.
جدول مقایسه
| ساختار | نوع | ترتیب | مثال واقعی |
|---|---|---|---|
| آرایه | خطی | اندیسدار | صندلی سینما |
| لیست پیوندی | خطی | زنجیرهای | گنجینه سرنخها |
| پشته | خطی | LIFO | بشقابهای روی هم |
| صف | خطی | FIFO | صف نانوایی |
| درخت | غیرخطی | سلسلهمراتبی | نمودار سازمانی |
| گراف | غیرخطی | شبکهای | نقشه جادهها |
کدام را انتخاب کنیم؟
- دسترسی سریع با اندیس ← آرایه
- درج/حذف زیاد در ابتدا یا وسط ← لیست پیوندی
- عملیات «آخرین» و برگرداندن (Undo) ← پشته
- پردازش به ترتیب ورود ← صف
- جستجوی سریع با کلید ← درخت BST یا جدول هش
- روابط پیچیده چندبهچند ← گراف
جمعبندی
- خطی: آرایه، لیست پیوندی، پشته، صف — عناصر پشتسرهم
- غیرخطی: درخت و گراف — سلسلهمراتب و شبکه
- هر ساختار برای الگوی خاصی از عملیات بهینه است
این مبحث بخشی از دوره آموزش کامل ساختار داده و الگوریتم است.