کتاب ساختمان داده و الگوریتم در جاوااسکریپت (Javascript)
ساختمان داده و الگوریتم در جاوااسکریپت (Javascript)
نویسنده:
سامیه بی
مترجم:
منصور عمرانی
ناشر:
پندار پارس
تعداد صفحه:
۳۰۰
زبان نوشتار:
فارسی
سال انتشار:
۱۴۰۱
معرفی کتاب ساختمان داده و الگوریتم در جاوااسکریپت (Javascript)
انگیزهی اصلی من در نوشتن این کتاب فقدان منابع کافی در زمینهی ساختمان داده و الگوریتم به زبان جاوااسکریپت بود. این مساله بسیار برایم تعجب داشت، زیرا این روزها بسیاری از موقعیتهای شغلی برنامهنویسی مستلزم آشنایی با جاوااسکریپت است. جاوااسکریپت تنها زبانی است که با دانستن آن میتوان در همهی بخشهای پشتهی برنامهنویسی یک پروژه شامل front-end، موبایل (به صورت بومی یا دورگه) و back-end کار کرد. اطلاع از ساختمان داده و طراحی الگوریتم برای برنامهنویسان جاوااسکریپت امری حیاتی است. از این رو در این کتاب مفاهیم ساختمان داده و الگوریتم را به جای زبانهای مرسومی چون جاوا یا C++ به زبان جاوااسکریپت بیان کردهام. از آنجایی که در جاوااسکریپت بر خلاف زبانهایی مانند جاوا و C++ (که وراثت در آنها به صورت کلاسی است) از وراثت پروتوتایپی پیروی میکند، نحوهی بیان برخی از ساختمانهای داده در این کتاب کمی فرق دارد. در روش مرسوم وراثت کلاسی یک کپی از کلاس پدر ایجاد شده و اشیا فرزند از ساختار آن پیروی میکنند. اما در وراثت پروتوتایپی از خود اشیا کپی شده و خصوصیتهایشان تغییر داده میشود. در این کتاب نخست مبانی ریاضیات پایه مانند تحلیل O بزرگ یا Big-O بیان شده و سپس زیر بنای جاوااسکریپتی لازم مانند اشیا و نوع دادههای پایه توضیح داده میشود. پس از آن ساختمان دادههای پایه مانند لیست پیوندی، پشته، درخت، هیپ و گراف بیان میشود. در نهایت مفاهیم پیشرفتهتری مانند الگوریتمهای بهینهی جستجوی رشته، الگوریتمهای کَش کردن و برنامهنویسی پویا با جزئیات کامل توضیح داده میشود.