DEV Community

sakib ahamed shahon
sakib ahamed shahon

Posted on

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

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

  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 : প্রায় সব সম্ভাব্য আন্সার থেকে সেরা টা বের করা তাও অনেক তারা তারি , বিশেষ আপ্রচ । নতুনদের জন্য একটু কঠিন , তাই অনুশীলন বেশী প্রয়োজন ।

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

Top comments (0)