فهرست مندرجات

خطاها

خطاهای یک برنامه به صورت زیر هستند:

بهبود زمان اجرای الگوریتم

برای بهتر کردن زمان برنامه‌ای که تفاوت زیادی با زمان مجاز ندارد، روش‌های زیر را به کار ببرید:

محاسبه‌ی زمان اجرای الگوریتم

با محاسبه‌ی زمان الگوریتمی که می‌خواهید آن را پیاده‌سازی کنید، می‌توانید بفهمید که در زمان مجاز اجرا می‌شود یا خیر. معمولاً قضیه اساسی تحلیل الگوریتم‌ها، رابطه‌ی بازگشتی زمان برنامه را حل می‌کند. فرض کنید زمان برنامه با رابطه بازگشتی زیر نشان داده شده باشد: \[ T(n) = a.T(n/b)+O(f(n)) \] ابتدا مقدار $g(n) = n^{\log_b a}$ را محاسبه می‌کنیم. اگر تابع $f(n)$ از نظر مرتبه از $g(n)$ بزرگتر بود، زمان الگوریتم $T(n) = f(n)$ خواهد بود. اگر تابع $g(n)$ از نظر مرتبه از تابع $f(n)$ بزرگتر بود، زمان الگوریتم $T(n) = g(n)$ خواهد بود. در غیر این صورت از نظر مرتبه با هم برابر هستند و الگوریتم از مرتبه $T(n) = f(n) O(\log n) = g(n) O(\log n)$ خواهد بود.

حافظه مجاز

در مواردی ممکن است حافظه مجاز از حافظه‌ی پیش‌فرض برای کامپایلر بیشتر باشد که در این صورت می‌توانید مقدار آن را در قسمت تنظیمات کامپایلر خود افزایش بدهید. (بیشتر در مورد مسابقات اینترنتی)

نمایش درست

یکی از موارد مهم در این قسمت دقت اعداد و نحوه‌ی نمایش آنها است. در زبان c++ کتابخانه‌ی iomanip برای تغییرات روی ورودی و خروجی به کار می‌رود. از این کتابخانه برای نمایش اعداد با دقت دلخواه، تبدیل بین فرم‌های اعشاری و نمایش علمی، اندازه‌ی ستون‌ها و … استفاده می‌شود.

جزئیات کتابخانه استاندارد و مثال برای استفاده از این توابع

از توابع کاربردی دیگر می‌توان به stringstream اشاره کرد که به جای ورودی از روی رشته‌ای که خودتان تعیین می‌کنید ورودی را می‌خواند و می‌توانید از عملگرهای ورودی و خروجی هم روی آن استفاده کنید.

جزئیات جریان ورودی و خروجی رشته‌ای

مثالی از استفاده از جریان رشته‌ای