معرفی کتاب «داده ساختارها و مبانی الگوریتم‌ها»
در میان کتاب‌هایی که در ایران به‌عنوان مرجع دانشگاهی برای تدریس در رشته کامپیوتر استفاده می‌شود، تعدادی تألیف اساتید برجسته ایرانی هستند. از آن میان، کتاب «داده ساختارها و مبانی الگوریتم‌ها» تألیف محمد قدسی عضو هیأت علمی دانشکده کامپیوتر دانشگاه صنعتی شریف است. این کتاب اولین بار در سال 1388 توسط انتشارات فاطمی منتشر شد و چاپ ششم آن (سال 95) با 507 صفحه هم‌اکنون در بازار موجود است. در این مطلب کوتاه، مروری داریم بر محتوا و ساختار این کتاب.

مخاطبان کتاب           

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

ساختار کتاب

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

حال و هوای کتاب

«داده‌ ساختارها و مبانی الگوریتم‌ها» کتابی خوش‌ساخت، سنگین و ریاضی‌محور است. در یک کلام، همان چیزی است که برای درگیر کردن ذهن دانشجویانی که خوره کامپیوتر هستند، لازم است. چاپ اخیر کتاب بسیار تمیز و به‌صورت دو رنگ است و صفحه‌آرایی خیلی خوبی دارد که خواندن یک بحث سنگین ریاضی را قابل تحمل می‌کند. محمد قدسی خود در مقدمه کتاب نوشته که حین تألیف آن، که سال‌ها به طول انجامیده، از کتاب‌های مرجع در این زمینه برداشت‌هایی انجام داده است. از جمله کتاب Introduction to Algorithms چاپ انتشارات دانشگاه MIT که زبان الگوریتم‌نویسی استفاده شده در آن (2) به CLRS معروف است. CLRS سرنام نویسندگان این کتاب است و استاد قدسی ترجیح داده است که در تألیف این کتاب از همین زبان استفاده کند. او همچنین از محتوای مسائل ریاضی و کامپیوتری مطرح شده در المپیاد کامپیوتر برای تدوین مطالب این کتاب الهام گرفته و استفاده کرده است. این مرجع ارزشمند فارسی می‌تواند برای تدریس «الگوریتم‌ها و ساختار داده‌ها» در سراسر کشور مورد استفاده قرار گیرد.

پی‌نوشت:

(1) این زندگی‌نامه از پشت جلد کتاب برداشته شده است.
(2) زبان الگوریتم‌نویسی یک زبان برنامه‌نویسی نادقیق و حاوی عباراتی به زبان انگلیسی است. اصطلاحاً این نوع زبان‌ها را Pseudocode می‌گویند و هر کتاب یا استادی ممکن است شیوه خاص خود را استفاده کند. این در عرف دانشگاهی پذیرفته شده است.


درباره استاد محمد قدسی    

دکتر محمد قدسی در سال 1331 در شهر ملایر متولد شد. (1) دیپلم خود را از دبیرستان علوی در تهران و لیسانسش را در سال 1354 در رشته مهندسی برق از دانشگاه صنعتی شریف گرفت. سپس برای ادامه تحصیل به دانشگاه کالیفرنیا، برکلی در امریکا رفت و در سال 1356 فوق لیسانس خود را در رشته مهندسی برق و علم کامپیوتر اخذ نمود. در همان سال به ایران بازگشت و عضو هیأت علمی دانشگاه صنعتی شریف و مربی دانشکده ریاضی و علوم کامپیوتر آن دانشگاه شد. در سال 1363 جهت ادامه تحصیل مجدد به امریکا رفت و در سال 1368 دکتری خود را در علم کامپیوتر از دانشگاه ایالتی پنسیلوانیا گرفت. از آن سال تاکنون عضو هیأت علمی دانشکده مهندسی برق و کامپیوتر دانشگاه صنعتی شریف است و از سال 1384، استاد تمام این رشته است. علاوه بر سمت‌های علمی و اجرایی فراوان، از سال 1371 رئیس کمیته ملی المپیاد کامپیوتر در کشور است و از سال 1378 مسابقه برنامه‌نویسی دانشجویی ای‌سی‌ام را در ایران آغاز کرد و سرپرست مسابقه منطقه‌ای آن در تهران است.

 

برچسب: