چیزی مثبت بگو، و چیز مثبت خواهی دید." — جیم تامپسون من کیستم ؟ من کجا هستم ؟ من چه میخواهم ؟
۱۰ ساختار دادهی متداول که به شکل روزانه از آنها استفاده میکنیم ...
ساختارهای داده در توسعه نرم افزار ضروری هستند و نقش مهمی در ساخت سیستم های کارآمد دارند.
نمونه های متداول از ساختارهای داده عبارتند از:
لیستها (لیست پیوندی) : همه کاره و عالی برای ذخیره داده های ترتیبدار، مفید در مدیریت کار، فید رسانه های اجتماعی، و سبد خرید. *
آرایهها: مجموعهای از عناصر با اندازه ثابت را فراهم میکند، مناسب برای موقعیتهایی که اندازه مجموعه مشخص است یا اغلب تغییر نمیکند. کاربردهای رایج شامل عملیات ریاضی (ماتریسها)، ذخیره مجموعه داده های بزرگ و پردازش تصویر است. * یادمان باشد جداول، ماتریسها همه آرایههای ۲ بعدی در نظر گرفته میشوند.
پشته ها: از اصل آخرین ورودی در اولین خروجی (LIFO) پیروی میکند که برای عملیاتهای undo، redo، و reload در ویرایشگرهای متن و حفظ تاریخچه مرور در مرورگرهای وب مفید است. * برای مثال در یک text editor با کمک عملیات redo و یا undo میتوانیم چندین عملیات اخیر نویسنده را داشته باشیم و از آن بهره ببریم.
صف ها: بر اساس اولین ورود در اولین خروج (FIFO) عمل می کند، در مدیریت کارهای چاپگر، اقدامات کاربر در بازی ها و مدیریت پیام ها در برنامه های چت مفید است.
هیپها Heaps: برای زمان بندی وظایف و مدیریت حافظه، به ویژه در اجرای صف های اولویت استفاده می شود.
درختان: داده ها را به صورت سلسله مراتبی سازماندهی می کند، که در برنامه هایی مانند نمایه سازی پایگاه داده یا database indexing، تصمیم گیری هوش مصنوعی و سیستم های فایل استفاده می شود.
جداول هش: امکان جستجو، درج و حذف کارآمد داده ها را فراهم می کند که به طور گسترده در موتورهای جستجو، سیستم های کش و مفسرها یا کامپایلرهای زبان برنامه نویسی استفاده می شود.
درخت پسوند Suffix Trees: تخصصی برای جستجوی رشته ها در اسناد، مفید در ویرایشگرهای متن و الگوریتم های جستجو.
نمودارها Graphs: ردیابی روابط یا یافتن مسیرهایی که در شبکه های اجتماعی، موتورهای توصیه و الگوریتم های مسیریابی بسیار ارزشمند هستند.
درخت R یا R-trees: نزدیکترین همسایگان را پیدا میکند که برای برنامه های نقشه برداری و خدمات موقعیت جغرافیایی بسیار مهم است.
سازگاری با حافظه پنهان cache friendliness یک ملاحظات مهم است، زیرا ساختارهای داده های مختلف سطوح مختلفی از سازگاری حافظه پنهان دارند که بر عملکرد تأثیر می گذارد.
حافظه نهان CPU یک حافظه سریع کوچک بین حافظه اصلی (RAM) و CPU است که اطلاعات و دستورالعملهایی را که اخیراً به آنها دسترسی پیدا کردهاید را برای دسترسی سریع ذخیره میکند.
ساختارهای داده های مختلف بر اساس حافظه ذخیره سازی، سازگاری حافظه پنهان cache friendliness متفاوتی دارند:
ذخیره سازی حافظه پیوسته (به عنوان مثال، آرایه ها) امکان مکان بهتر حافظه پنهان و از دست رفتن حافظه کمتر را فراهم می کند و عملکرد را بهبود می بخشد.
ذخیره سازی حافظه غیر پیوسته (به عنوان مثال، لیست های پیوندی) می تواند از دست رفتن حافظه پنهان بیشتری را تجربه کند که منجر به کاهش عملکرد می شود.
انتخاب ساختارهای داده مناسب بر اساس الزامات و محدودیت های پروژه خاص برای عملکرد بهینه در برنامه های کاربردی حیاتی بسیار مهم است.
https://youtu.be/ouipSd_5ivQ?si=m5FRboSY3m9SOwGT
مطلبی دیگر از این انتشارات
ASUS Zenbook Duo (UX8406): سلطان بی چون و چرای لپ تاپهای دو صفحه نمایش
مطلبی دیگر از این انتشارات
چطور برنامه نویسی را شروع کنیم ؟
مطلبی دیگر از این انتشارات
چطور Commit Message های بهتری بنویسیم