ساختمان داده

آموزش ساختمان داده از صفر تا صد (10 درس رایگان)

folderسایر مقالات آموزشی
comments2 دیدگاه

در این مطلب ساختمان داده را از سطح کاملا مبتدی تا پیشرفته با چند درس رایگان به شما یاد می دهیم. در این مقاله با ساختار داده و انواع آن آشنا می شوید.

ساختار داده چیست؟

ساختار داده نوع ذخیره سازی است که برای ذخیره و سازماندهی داده ها استفاده می شود. راهی برای مرتب سازی داده ها روی کامپیوتر است تا بتوان به طور موثر به آنها دسترسی پیدا کرد و مقادیر آنها را به روزرسانی کرد.

 


مای اسکیو ال

توی این پک فوق العاده، My Sql رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! همراه با فایل های تمرینی، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

انتخاب ساختار داده مناسب براساس نیاز و پروژه بسیار مهم است. به عنوان مثال برای ذخیره داده ها به صورت متوالی در حافظه می توانید از ساختار داده آرایه (Array) استفاده کنید.

نمایش ساختار داده آرایه

نمایش ساختار داده آرایه

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

انواع ساختار داده

اساسا ساختارهای داده به دو دسته تقسیم می شوند:

  • ساختار داده خطی
  • ساختار داده غیر خطی

در ادامه با هر دو نوع به طور مفصل آشنا خواهید شد.

ساختار داده های خطی

عناصر در ساختار داده های خطی به ترتیب پشت سر هم مرتب می شوند. چون ترتیب خاصی دارند بنابراین پیاده سازی آنها آسان است.

با این حال وقتی پیچیدگی برنامه بیشتر شود، ساختار داده خطی به دلیل پیچیدگی های عملیاتی ممکنه بهترین انتخاب نباشد.

ساختارهای داده خطی محبوب عبارتند از:

1- آرایه

عناصر موجود در یک آرایه در حافظه به طور پیوسته و پشت سر هم مرتب شده اند. همه عناصر آرایه از یک نوع هستند و نوع عناصر با زبان برنامه نویسی تعیین می شود.

آرایه

هر عنصر در آرایه با یک اندیس نشان داده می شود و قابل دسترس است.

2- پشته

در ساختار داده پشته (استک یا Stack) عناصر در اصل به روش LIFO (عنصر اول وارد شده، اول هم خارج می شود) ذخیره می شوند. یعنی ابتدا آخرین عنصر ذخیره شده در پشته حذف می شود.

مانند تعدادی بشقاب روی هم است که در آن آخرین بشقاب روی همه ابتدا برداشته می شود.

پشته (استک یا Stack)

در پشته عملیات فقط از یک سر انجام می شود.

3- صف

ساختار داده صف (queue) برخلاف پشته براساس اصل FIFO کار می کند یعنی اولین عنصر ذخیره شده در صف ابتدا حذف خواهد شد.

مانند صفی از افراد برای گرفتن بلیط است که در آن اولین نفر در صف اولین بلیط را دریافت می کند.

ساختار داده صف (queue)

در صف، اضافه کردن و حذف عناصر از دو سر انجام می شود.

4- لیست پیوندی

عناصر داده در ساختار داده لیست پیوندی دنباله ای از گره ها هستند که از طریق لینک به هم وصل می شوند. هر گره شامل عنصر داده و آدرس گره بعدی است.

A linked list

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

برخلاف ساختارهای داده خطی عناصر موجود در ساختارهای داده غیر خطی ترتیب متوالی ندارند. در عوض به صورت سلسله مراتبی مرتب می شوند که در آن یک عنصر به یک یا چند عنصر دیگر وصل است.

ساختارهای داده غیر خطی به ساختارهای مبتنی بر گراف و درخت تقسیم می شوند.

1- ساختار داده مبتنی بر گراف

در ساختار داده گراف هر گره راس نامیده می شود و هر راس از طریق یال ها به سایر راس ها وصل می شود.

ساختار داده مبتنی بر گراف

ساختارهای داده محبوب مبتنی بر گراف:

  • درخت پوشا و درخت پوشای کمینه
  • گراف همبند قوی
  • ماتریس مجاورت
  • لیست مجاورت

2- ساختار داده مبتنی بر درخت

ساختار داده درخت شبیه گراف شامل مجموعه ای از راس ها و یال ها است. اما در ساختار داده درخت هر راس حداکثر یک یال دارد.

ساختار داده مبتنی بر درخت

ساختارهای داده محبوب مبتنی بر درخت:

  • درخت دودویی
  • درخت جستجوی دودویی
  • درخت AVL
  • درخت B
  • درخت B+
  • درخت قرمز-سیاه (RBT)

حتما دانلود کنید: آموزش صفر تا صد sql (رایگان)

مقایسه ساختارهای داده خطی و غیر خطی

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

ساختارهای داده خطی ساختارهای داده غیر خطی
عناصر داده به ترتیب متوالی و پشت سر هم مرتب می شوند. عناصر داده ترتیب غیر متوالی و به شیوه سلسله مراتبی مرتب می شوند.
همه عناصر از یک نوع داده هستند. عناصر از انواع مختلف داده هستند.
در طی یک اجرا قابل پیمایش هستند. یعنی اگر از اولین عنصر شروع کنیم همه عناصر به صورت متوالی در یک پیمایش قابل دسترس می باشند. به چند اجرا نیاز دارند. یعنی اگر از اولین عنصر شروع کنیم ممکنه نتوانیم به همه عناصر در یک پیمایش دسترسی پیدا کنیم.
از حافظه به طور موثر استفاده نمی کنند. ساختارهای مختلف براساس نیاز به حافظه از روش های مختلف و موثر استفاده می کنند.
پیچیدگی زمانی با تعداد داده ها افزایش می یابد. پیچیدگی زمانی ثابت می ماند.
مثل: آرایه، پشته، صف مثل: درخت، گراف، نقشه

شناخت ساختارهای داده به شما کمک می کند تا عملکرد هر ساختار داده را درک کنید و بر اساس آن می توانید ساختارهای داده مناسب را برای پروژه خود انتخاب کنید. علاوه بر این روی کدنویسی و استفاده موثر از حافظه نیز تاثیرگذار است .

در کنار این مطلب دانلود کنید: آموزش صفر تا صد Php (رایگان)

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

  • اگر اروری مشاهده کردید بخاطر روشن بودن وی پی ان است. بعد از پخش هر ویدیو، علامت دانلود روی آن نمایان می شود.
  • اگر روی دانلود کلیک کردید و ویدیو باز هم پخش شد، بعد از پخش ردن روی علامت سه نقطه پایینش کلیک و گزینه دانلود یا ذخیره را انتخاب کنید. هر درسی مشکل داشت در نظرات اعلام کنید تا سریعا رفع شود یا به پیج منبع مراجعه کنید. ضمنا هر چند وقت یک بار احتمالا دروس به روز می شوند.
  • برای مشاهده بهتر ویدیوها در موبایل، گوشی را افقی نگه دارید. اگر اروری مشاهده کردید بخاطر روشن بودن وی پی ان است. بعد از پخش هر ویدیو، علامت دانلود روی آن نمایان می شود.

از پیج کنکور ارشد کامپیوتر (با تاکید بر تست و موفقیت در کنکور):

آموزش ساختمان داده کنکور کامپیوتر جلسه 1

آموزش ساختمان داده کنکور کامپیوتر جلسه 2 بخش یک

آموزش ساختمان داده کنکور کامپیوتر جلسه 2 بخش دو

آموزش ساختمان داده کنکور کامپیوتر جلسه 3 بخش یک

آموزش ساختمان داده کنکور کامپیوتر جلسه 3 بخش دو

آموزش ساختمان داده کنکور کامپیوتر جلسه 4،بخش اول

آموزش ساختمان داده کنکور کامپیوتر جلسه 4،بخش دوم

آموزش ساختمان داده کنکور کامپیوتر جلسه 4،بخش سوم

آموزش نکته و تست جلسه 1

آموزش نکته و تست جلسه 2

حتما در کنار این دروس دانلود کنید: آموزش صفر تا صد پایگاه داده (رایگان)

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

2 دیدگاه. ارسال دیدگاه جدید

  • سلام کاش به صورت یک فایل زیپ همه رو برای دانلود میزاشتید ولی به هر حال ممنونم

    پاسخ
  • سلام
    در توضیح پشته اشتباه درج نشده است؟ در واقع عنصر آخر وارد شده، اول خارج می شود.
    توضیح سایت: LIFO (عنصر اول وارد شده، اول هم خارج می شود)

    پاسخ

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست