সাধারণভাবে, কোনও সমস্যার সর্বাধিক গুরুত্বপূর্ণ সমাধানটি হ'ল যা আসলে বিদ্যমান এবং এটি আপনার সমস্যার জন্য বিদ্যমান হিসাবে এটির জন্য বৈধ। অন্য কথায়, অকাল অপটিমাইজেশন এড়িয়ে চলুন যতক্ষণ না আপনি বাস্তবে জানেন যে আপনার অযোগ্য কোড, বা দক্ষ কোড রয়েছে যা দ্রুত হওয়া দরকার।
এছাড়াও, ভুলে যাবেন না যে আপনার আবেদনের সর্বোত্তম সমাধানটি সাধারণ ক্ষেত্রে সমাধান নাও হতে পারে। কেস এবং পয়েন্ট, কয়েক বছর আগে একজন প্রফেসর আমাদের ক্লাসকে একটি সমস্যা দিয়েছিলেন যাতে আমরা প্রদত্ত প্রকারের প্রথম 10 নম্বর মুদ্রণ করতে পারি (দুঃখিত, আমার স্মৃতিটি টাইপ হিসাবে আমাকে ব্যর্থ করে, তবে এটি ছিল আরও অস্বাভাবিক সংখ্যার মধ্যে একটি ক্লাস) এবং নম্বরটি প্রদত্ত প্রকার ছিল কি না তা নিশ্চিত করার জন্য আমাদের পরীক্ষা দেওয়া হয়েছিল। আমাদের দেওয়া সমস্যার এই মাত্রাটি ছিল এবং আমাদের বলা হয়েছিল যে পরের দিনটি পুরো efficientণ পাওয়ার সবচেয়ে কার্যকর সমাধান সহকারে এটি হয়েছিল। নিম্নলিখিত বক্তৃতা অধ্যাপক ফলাফল সংক্ষিপ্তসার:
- কিছু শিক্ষার্থী একটি সহজ লুপ ব্যবহার করেছে এবং নম্বরগুলি সঠিক ছিল কিনা তা নিশ্চিত করার জন্য প্রদত্ত সূত্রটি প্রদর্শন করে, ধীর হলেও কাজটি সম্পন্ন করেছে, হে (এন ^ 3)।
- অন্যান্য শিক্ষার্থীরা তাদের গবেষণা করেছিল এবং একটি সূত্র খুঁজে পেয়েছে যা প্রদত্ত নম্বরটি বৈধ কিনা তা নিশ্চিত করার জন্য যাচাই করার আরও ভাল কাজ করেছে, ও (এন ^ 2) এই প্রোগ্রামগুলি আরও দ্রুত চলে ran
- একজন শিক্ষার্থী মানগুলি উত্পন্ন করতে ধীর সূত্র ব্যবহার করেছিল এবং তারপরে তাদের কোডে একটি ধ্রুবক অ্যারেতে অনুলিপি করে এবং এর (O) বিষয়বস্তু প্রদর্শন করে।
চূড়ান্ত সমাধানটি অধ্যাপকের দ্বারা সবচেয়ে দক্ষ হিসাবে বিচার করা হয়েছিল। দেখা যাচ্ছে যে সমস্যাটি আসলে সমস্যাটি সম্পূর্ণরূপে বোঝার জন্য ব্যায়াম ছিল এবং কেবল বাইরে বেরোনোর এবং সর্বাধিক দক্ষ সমাধানের সন্ধান করার জন্য নয়।
উপরের বিষয়টি হ'ল এটি যখন কোনও কার্যকর সমাধানের সমস্যাটি খুঁজে বের করার কথা আসে তখন কোডটি বন্ধ করে এবং লেখার আগে, বা কোডটি অনুকূলিত করার চেষ্টা করার আগে সমস্যাটি আসলে কী তা বোঝার জন্য আপনি সময়টি ব্যয় করা ভাল। আপনি যদি কোনও ধ্রুবক অ্যারেতে রেফারেন্স মানগুলির সেটটি সঞ্চয় করতে পারেন তবে কিছু অভিনব অ্যালগরিদম লেখার চেষ্টা করার চেয়ে পারফরম্যান্সের দিক থেকে এটি করা ভাল।
তেমনি, এটি ভুলে যাবেন না যে বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য, কেবলমাত্র লোকেরা অক্ষম কোড (যখন এটি অযথা অকার্যকর হয় না!) দেখতে থাকে তারা নিজেই বিকাশকারী হয়। আপনি যদি পরিষ্কার কোডটি লিখে থাকেন যা কেবল এটি করার দরকার হয় ঠিক তখনই প্রতিকূলতা হ'ল আপনার প্রোগ্রামের সাথে কাজ করার সময় ব্যবহারকারীরা বেশিরভাগ সময় পারফরম্যান্সের সমস্যাগুলি লক্ষ্য করবেন না এবং যখন তারা কেবল যে অংশগুলি উল্লেখ করেছেন সেগুলি অনুকূল করবে আপনি.