প্রকল্প সম্পর্কে
কোডিং প্রবলেমস হলো একটি শিক্ষামূলক রিপোজিটরি, যা অ্যালগরিদমিক ও কোডিং-ইন্টারভিউ ধরনের সমস্যার পাইথন ৩ সমাধান এবং একটি নির্বাচিত অধ্যয়ন রিসোর্সের সংগ্রহ একত্রিত করে। README-তে স্পষ্টভাবে বলা হয়েছে যে এই উপাদান শেখা ও গবেষণার জন্য, উৎপাদন ব্যবহারের জন্য নয়।
সমাধান
সব সমাধান পাইথন ৩-এ লেখা এবং শুধুমাত্র বিল্ট-ইন ফাংশন ও কয়েকটি স্ট্যান্ডার্ড-লাইব্রেরি মডিউল (math, collections, heapq, random) ব্যবহার করে, তাই চালানোর জন্য কোনো বাহ্যিক প্যাকেজ প্রয়োজন নেই। লেখক পাইথন বেছে নিয়েছেন কারণ এটি সিউডোকোডের কাছাকাছি পড়া যায়, ফলে যুক্তি অন্য ভাষায় সহজে স্থানান্তর করা যায়। কোড স্টাইল PEP8 অনুসরণ করে।
প্রতিটি সমাধান ফাইল একটি ধারাবাহিক টেমপ্লেট ব্যবহার করে: সমস্যার নাম, ব্যাখ্যা, ইনপুট/আউটপুট বর্ণনা এবং এক বা একাধিক সমাধান পদ্ধতিসহ টাইম ও স্পেস কমপ্লেক্সিটি সম্বলিত একটি ডকস্ট্রিং; তারপর সমাধান ফাংশন; তারপর একটি সাধারণ টেস্টিং অংশ যা ইউনিট-টেস্টিং ফ্রেমওয়ার্কের বদলে print() দিয়ে ফলাফল দেখায় (README-তে প্রকৃত টেস্টিংয়ের জন্য unittest বা pytest-কে ভালো বিকল্প হিসেবে উল্লেখ করা হয়েছে)।
সমস্যাগুলো শ্রেণীতে বিভক্ত: Arrays (সর্টিং, বাইনারি সার্চ, ডিভাইড অ্যান্ড কনকার, স্লাইডিং উইন্ডো), Linked Lists, Trees (BST, BFS/DFS ট্রাভার্সাল), Hashing Data Structures (সেট ও ডিকশনারি), Dynamic Programming (1D/2D, LCS, LIS, ন্যাপস্যাক), Strings, Math (GCD, LCM, ফ্যাক্টরাইজেশন, জ্যামিতি), এবং Other (ব্যাকট্র্যাকিং, BFS, DFS, স্ট্যাক, কিউ, ডেক, হিপ, ম্যাট্রিক্স)। লেখক উল্লেখ করেছেন যে সমস্যাগুলো LeetCode-এর মতো সাইট থেকে নেওয়া; শুধু সমাধান ও ব্যাখ্যা মৌলিক।
শেখার রিসোর্স
রিপোজিটরিটি চারটি গ্রুপে রিসোর্সও সংকলন করে:
- কোর্স: স্ট্যানফোর্ড, প্রিন্সটন, UC সান দিয়েগো, MIT, হার্ভার্ড ও UC বার্কলির বিনামূল্যের বিশ্ববিদ্যালয় কোর্স, যা অ্যালগরিদম, ডেটা স্ট্রাকচার, গ্রাফ অ্যালগরিদম ও উন্নত বিষয় কভার করে।
- বই: সংক্ষিপ্ত টীকাযুক্ত তালিকা, যার মধ্যে Grokking Algorithms, CLRS, Sedgewick & Wayne, The Algorithm Design Manual, Dasgupta et al., Competitive Programming 3, এবং Cracking the Coding Interview রয়েছে।
- প্রশিক্ষণ সাইট: অনুশীলনের প্ল্যাটফর্মের দীর্ঘ তালিকা, যেমন Codeforces, HackerRank, Topcoder, AtCoder, SPOJ, Project Euler, Kattis, Codewars, Codility এবং অন্যান্য।
- অন্যান্য রিসোর্স: Geeks For Geeks, TheAlgorithms/Python, CP Algorithms, ভিজ্যুয়ালাইজার (USFCA, VisuAlgo, Algorithm Visualizer), বিভিন্ন টিউটোরিয়াল এবং YouTube প্লেলিস্ট।
README-তে issues বা pull requests-এর মাধ্যমে বাগ রিপোর্ট বা উন্নত বাস্তবায়ন আমন্ত্রণ জানানো হয়েছে এবং উল্লেখ করা হয়েছে যে রিপোটি পর্যায়ক্রমে আপডেট হয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.