آموزش ساختمان داده از صفر تا صد (10 درس رایگان)
در این مطلب ساختمان داده را از سطح کاملا مبتدی تا پیشرفته با چند درس رایگان به شما یاد می دهیم. در این مقاله با ساختار داده و انواع آن آشنا می شوید.
ساختار داده چیست؟
ساختار داده نوع ذخیره سازی است که برای ذخیره و سازماندهی داده ها استفاده می شود. راهی برای مرتب سازی داده ها روی کامپیوتر است تا بتوان به طور موثر به آنها دسترسی پیدا کرد و مقادیر آنها را به روزرسانی کرد.
انتخاب ساختار داده مناسب براساس نیاز و پروژه بسیار مهم است. به عنوان مثال برای ذخیره داده ها به صورت متوالی در حافظه می توانید از ساختار داده آرایه (Array) استفاده کنید.
نمایش ساختار داده آرایه
نکته: ساختار داده و انواع داده کمی متفاوت هستند. ساختار داده مجموعه ای از انواع داده است که به ترتیب خاصی مرتب شده اند.
انواع ساختار داده
اساسا ساختارهای داده به دو دسته تقسیم می شوند:
- ساختار داده خطی
- ساختار داده غیر خطی
در ادامه با هر دو نوع به طور مفصل آشنا خواهید شد.
ساختار داده های خطی
عناصر در ساختار داده های خطی به ترتیب پشت سر هم مرتب می شوند. چون ترتیب خاصی دارند بنابراین پیاده سازی آنها آسان است.
با این حال وقتی پیچیدگی برنامه بیشتر شود، ساختار داده خطی به دلیل پیچیدگی های عملیاتی ممکنه بهترین انتخاب نباشد.
ساختارهای داده خطی محبوب عبارتند از:
1- آرایه
عناصر موجود در یک آرایه در حافظه به طور پیوسته و پشت سر هم مرتب شده اند. همه عناصر آرایه از یک نوع هستند و نوع عناصر با زبان برنامه نویسی تعیین می شود.
هر عنصر در آرایه با یک اندیس نشان داده می شود و قابل دسترس است.
2- پشته
در ساختار داده پشته (استک یا Stack) عناصر در اصل به روش LIFO (عنصر اول وارد شده، اول هم خارج می شود) ذخیره می شوند. یعنی ابتدا آخرین عنصر ذخیره شده در پشته حذف می شود.
مانند تعدادی بشقاب روی هم است که در آن آخرین بشقاب روی همه ابتدا برداشته می شود.
در پشته عملیات فقط از یک سر انجام می شود.
3- صف
3 مهارت برتر مهندسان کامپیوتر! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی عالی با هک، متلب و برنامه نویسی... دانلود:
ساختار داده صف (queue) برخلاف پشته براساس اصل FIFO کار می کند یعنی اولین عنصر ذخیره شده در صف ابتدا حذف خواهد شد.
مانند صفی از افراد برای گرفتن بلیط است که در آن اولین نفر در صف اولین بلیط را دریافت می کند.
در صف، اضافه کردن و حذف عناصر از دو سر انجام می شود.
4- لیست پیوندی
عناصر داده در ساختار داده لیست پیوندی دنباله ای از گره ها هستند که از طریق لینک به هم وصل می شوند. هر گره شامل عنصر داده و آدرس گره بعدی است.
ساختارهای داده غیر خطی
برخلاف ساختارهای داده خطی عناصر موجود در ساختارهای داده غیر خطی ترتیب متوالی ندارند. در عوض به صورت سلسله مراتبی مرتب می شوند که در آن یک عنصر به یک یا چند عنصر دیگر وصل است.
ساختارهای داده غیر خطی به ساختارهای مبتنی بر گراف و درخت تقسیم می شوند.
1- ساختار داده مبتنی بر گراف
در ساختار داده گراف هر گره راس نامیده می شود و هر راس از طریق یال ها به سایر راس ها وصل می شود.
ساختارهای داده محبوب مبتنی بر گراف:
- درخت پوشا و درخت پوشای کمینه
- گراف همبند قوی
- ماتریس مجاورت
- لیست مجاورت
2- ساختار داده مبتنی بر درخت
ساختار داده درخت شبیه گراف شامل مجموعه ای از راس ها و یال ها است. اما در ساختار داده درخت هر راس حداکثر یک یال دارد.
ساختارهای داده محبوب مبتنی بر درخت:
- درخت دودویی
- درخت جستجوی دودویی
- درخت AVL
- درخت B
- درخت B+
- درخت قرمز-سیاه (RBT)
حتما دانلود کنید: آموزش صفر تا صد sql (رایگان)
مقایسه ساختارهای داده خطی و غیر خطی
حالا که با ساختارهای داده خطی و غیر خطی آشنا شدیم، تفاوت های کلی آنها را معرفی می کنیم.
ساختارهای داده خطی | ساختارهای داده غیر خطی |
عناصر داده به ترتیب متوالی و پشت سر هم مرتب می شوند. | عناصر داده ترتیب غیر متوالی و به شیوه سلسله مراتبی مرتب می شوند. |
همه عناصر از یک نوع داده هستند. | عناصر از انواع مختلف داده هستند. |
در طی یک اجرا قابل پیمایش هستند. یعنی اگر از اولین عنصر شروع کنیم همه عناصر به صورت متوالی در یک پیمایش قابل دسترس می باشند. | به چند اجرا نیاز دارند. یعنی اگر از اولین عنصر شروع کنیم ممکنه نتوانیم به همه عناصر در یک پیمایش دسترسی پیدا کنیم. |
از حافظه به طور موثر استفاده نمی کنند. | ساختارهای مختلف براساس نیاز به حافظه از روش های مختلف و موثر استفاده می کنند. |
پیچیدگی زمانی با تعداد داده ها افزایش می یابد. | پیچیدگی زمانی ثابت می ماند. |
مثل: آرایه، پشته، صف | مثل: درخت، گراف، نقشه |
شناخت ساختارهای داده به شما کمک می کند تا عملکرد هر ساختار داده را درک کنید و بر اساس آن می توانید ساختارهای داده مناسب را برای پروژه خود انتخاب کنید. علاوه بر این روی کدنویسی و استفاده موثر از حافظه نیز تاثیرگذار است .
در کنار این مطلب دانلود کنید: آموزش صفر تا صد Php (رایگان)
دانلود دروس ویدیویی آموزش ساختمان داده و حل تست و نکات
- اگر اروری مشاهده کردید بخاطر روشن بودن وی پی ان است. بعد از پخش هر ویدیو، علامت دانلود روی آن نمایان می شود.
- اگر روی دانلود کلیک کردید و ویدیو باز هم پخش شد، بعد از پخش ردن روی علامت سه نقطه پایینش کلیک و گزینه دانلود یا ذخیره را انتخاب کنید. هر درسی مشکل داشت در نظرات اعلام کنید تا سریعا رفع شود یا به پیج منبع مراجعه کنید. ضمنا هر چند وقت یک بار احتمالا دروس به روز می شوند.
- برای مشاهده بهتر ویدیوها در موبایل، گوشی را افقی نگه دارید. اگر اروری مشاهده کردید بخاطر روشن بودن وی پی ان است. بعد از پخش هر ویدیو، علامت دانلود روی آن نمایان می شود.
از پیج کنکور ارشد کامپیوتر (با تاکید بر تست و موفقیت در کنکور):
آموزش ساختمان داده کنکور کامپیوتر جلسه 1 | آموزش ساختمان داده کنکور کامپیوتر جلسه 2 بخش یک |
آموزش ساختمان داده کنکور کامپیوتر جلسه 2 بخش دو | آموزش ساختمان داده کنکور کامپیوتر جلسه 3 بخش یک |
آموزش ساختمان داده کنکور کامپیوتر جلسه 3 بخش دو | آموزش ساختمان داده کنکور کامپیوتر جلسه 4،بخش اول |
آموزش ساختمان داده کنکور کامپیوتر جلسه 4،بخش دوم | آموزش ساختمان داده کنکور کامپیوتر جلسه 4،بخش سوم |
آموزش نکته و تست جلسه 1 | آموزش نکته و تست جلسه 2 |
حتما در کنار این دروس دانلود کنید: آموزش صفر تا صد پایگاه داده (رایگان)
سلام کاش به صورت یک فایل زیپ همه رو برای دانلود میزاشتید ولی به هر حال ممنونم
پاسخسلام
پاسخدر توضیح پشته اشتباه درج نشده است؟ در واقع عنصر آخر وارد شده، اول خارج می شود.
توضیح سایت: LIFO (عنصر اول وارد شده، اول هم خارج می شود)