۲۷ - ۱کتابخونه‌های پایه و ساختارهای داده

میشه گفت ساختارهای داده مهم‌اند. هر چقدر هم که کامپیوترها سریع‌اند، خیلی بیشتر از این سریع نمیشن – حداقل CPU که نمیشه. این معمولاً یه جور مقدمه برای کاربردِ توازی/همزمانی ِه. اما این کتاب جاش نیست.

ساختارهای داده‌ای که برای ارائه‌ی مسئله‌تون انتخاب می‌کنین، روی سرعت و حافظه‌ی درگیر در پردازش داده‌هاتون تأثیر دارن؛ شاید بشه گفت بیشتر از اونیکه در نگاهِ اول به نظر میرسه. تصمیمِ درست در مورد نحوه‌ی ارائه‌ی داده‌ها، اولین قدمِ مهم در نوشتن برنامه‌های بهینه‌ست. در واقع، ساختار داده‌ای که انتخاب میشه ممکنه در موازی شدنی یا نشدنیِ برنامه‌تون تعیین کننده باشه.

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

در این فصل:

  • نشون میدیم که چطور مصرف زمان و فضا رو در برنامه‌هاتون اندازه بگیرین؛

  • برای تشخیص اینکه موقعِ سنجش ِ کُد، حالت معمولی مناسب‌تره یا حالت معمولی با سر ضعیف، دستورالعمل‌هایی ارائه میدیم؛

  • فرم‌های اپلیکتیو ثابت رو تعریف می‌کنیم و اشباع آرگومان رو توضیح میدیم؛

    این فصل رو با یه کم سنجشِ عملکرد شروع می‌کنیم.