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

رتبه: 5 ار 2 رای SSSSS
ساختمان داده
نویسنده: تیم تولید محتوا زمان مطالعه 6 دقیقه
Banner Image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1- آرایه

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

آرایه

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

2- پشته

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

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

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

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

3- صف

چرب زبان

3 مهارت برتر مهندسان کامپیوتر! بدون کلاس، سرعت 2 برابر، ماندگاری 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

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

profile name
تیم تولید محتوا

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

کلاس های آنلاین مرتبط

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

مدرس :

0

*برای مشاهده قیمت کلاس روی رزرو کلاس آنلاین کلیک کنید*

رزرو کلاس آنلاین

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

1 2 3 4 5

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

  • تیمور
    تیمور آیا این دیدگاه مفید بود ؟

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

    پاسخ
  • یاوری
    یاوری آیا این دیدگاه مفید بود ؟

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

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید