چگونه از این کتاب استفاده کنیم؟

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

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

سیر کتاب به صورت مقدماتی به پیشرفته چیده شده است و ممکن است که مباحث جلوتر به مباحث قبل نیاز داشته باشند. بنابراین توصیه می‌شود که کتاب را به ترتیب بخوانید و خوب است که حتی اگر مبحثی را بلد هستید، نگاهی به درس نامه داشته باشید تا زیر مبحثی از دست شما در نرود.

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

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

در ضمیمه بعدی الگوریتم ها و تحلیل پیچیدگی زمانی و حافظه ای آن ها را بررسی می کنیم و با علامت هایی همچون \(O, \Omega, \theta\) که به وفور در کتاب استفاده می‌شوند آشنا می‌شوید. اگر با این علائم آشنا نیستید حتما ضمیمه بعدی را بخوانید.