প্রোগ্রামিং কন্টেস্ট এর জন্য শুরুতে যা যা শিখবো (কমন টপিক)

sakib ahamed shahon - Feb 10 - - Dev Community

কন্টেস্ট এর প্রিপারেশন এর জন্য স্টেপ বাই স্টেপ কিছু টোপীক কভার করা ভাল । বিগেনার হিসেবে যে টপিক গুলো জানা থাকা দরকার আর যা যা শিখা দরকার তার লিস্ট অনেকটা নিচের মত :

  1. Basic Syntax : একেবারে শুরুর পর্যায় । আশা করা যায় এই স্টেপে লুপ , অপেরটর , কন্ডিশন , এ্যরে , স্ট্রাকচার ইত্যাদি পারো । Implementation problem : খুবি সাধারন সমস্যা , কোন ফর্মুলা থেকে অউটপুট বের করা বা যা বলা আছে তেমন ভাবে কোন সিমুলেশন চালাতে পারা ।
  2. STL & Data structure Basics : STL বা Standard Template Library C++ এর অংশ। অনেক কাজ আর ডাটা স্ট্রাকচার বিল্ডিন থাকে সেগুলো ব্যাবহার করতে শিখা । (আর C++ খুব একটা কঠিন না, যা সি তে কাজ করে সেই কোড C++ এও কাজ করে)
  3. Sorting : বিভিন্ন ধরনের ডাটাকে সর্ট করা , সর্টিং এর শর্তগুলো বদলাতে পারা , Quick sort, merge sort etc কিছু এল্গ শিখা দরকার পরে।
  4. Binary Search :সাজানো ডাটা থেকে তথ্য খোজা , কিছু সমীকরণ এর সমাধান করতে পারা Binary Search algorithm দিয়ে।
  5. Greedy Method : প্রতি স্টেপে সবচেয়ে ভাল উত্তর নিয়ে সল্যুশন বের করার একটা টেকনিক ।
  6. Basic Graph representation : বিভিন্ন ধরনের গ্রাফ কি , কোডে কিভাবে রেপ্রেসেন্ট করে এদের এতটুকু জানা।
  7. BFS & DFS : গ্রাফ এর তথ্য বের করা এবং সিস্টেম্যাটিকালি বের করা বা ট্রাভারস করা।
  8. Basic Number theory : (LCM ,GCD, prime factoring) কিছু থিউরি আর মৌলীক সংখ্যা নিয়ে কাজ করতে বিশেষ কিছু এলগোরিদম জানা।
  9. Basic Dynamic programming : প্রায় সব সম্ভাব্য আন্সার থেকে সেরা টা বের করা তাও অনেক তারা তারি , বিশেষ আপ্রচ । নতুনদের জন্য একটু কঠিন , তাই অনুশীলন বেশী প্রয়োজন ।

টপিক গুলো সবই এত অল্প কথায় বোঝানোর মত না। তবে নাম জানা থাকলে অন্ততও ইউটিউব আর গুগল থেকে নিজেই শিখা যাবে। শিখার সবচেয়ে ভাল উপায় প্রতি টপিক এর থেউরি শিখেই ঐ টপিক এর ৫-১০টা প্রবলেম সল্ভ করা । এবং খেয়াল রাখা যাতে সহজ থেকে আসতে আসতে কঠিন সমস্যা সমাধান করা হয়।একি ডিফিকাল্টটির প্রবলেম বার বার সল্ভ করলে উন্নতি হওয়া থেমে যায় দ্রুত । তাই ক্রমাগত প্রব্লেম এর ডিফিকাল্টি বাড়াতে থাকতে হয়।

. . . . . . . . .