প্রকল্প সম্পর্কে

The Algorithms - Go একটি ওপেন-সোর্স শিক্ষামূলক রিপোজিটরি, যা গো প্রোগ্রামিং ভাষায় বিভিন্ন ধরনের অ্যালগরিদম ও ডেটা স্ট্রাকচার বাস্তবায়ন করে। এটি বৃহত্তর The Algorithms প্রকল্পের অংশ এবং MIT License-এর অধীনে লাইসেন্সকৃত। রিপোজিটরিটি বিভিন্ন ডোমেনে প্যাকেজ আকারে বাস্তবায়নগুলো সাজিয়ে রেখেছে: - **Strings**: আহো-কোরাসিক প্যাটার্ন ম্যাচিং, কম্বিনেশন, জেনেটিক স্ট্রিং জেনারেশন এবং প্যারেনথেসিস জেনারেশন। - **Math**: আর্মস্ট্রং সংখ্যা, বাইনারি অপারেশন (বিট কাউন্টিং, ফাস্ট ইনভার্স স্কয়ার রুট, গ্রে কোড), কাতালান সংখ্যা, ফ্যাক্টোরিয়াল, ফিবোনাচ্চি, GCD এবং জ্যামিতি গণনা। - **Ciphers**: সিজার সাইফার এবং ডিফি-হেলম্যান কী এক্সচেঞ্জ। - **Dynamic programming**: কয়েন চেঞ্জ, এডিট ডিসট্যান্স, ন্যাপস্যাক, লংগেস্ট কমন সাবসিকোয়েন্স, লংগেস্ট ইনক্রিজিং সাবসিকোয়েন্স, ম্যাট্রিক্স চেইন মাল্টিপ্লিকেশন এবং আরও অনেক কিছু। - **Data structures**: LRU এবং LFU ক্যাশ, ডাবল-এন্ডেড কিউ (deque) এবং ডায়নামিক অ্যারে। - **Compression**: এনকোডিং ও ডিকোডিংয়ের জন্য হাফম্যান কোডিং। - **Conversion**: বেস৬৪, বাইনারি-ডেসিমাল, রোমান সংখ্যা এবং RGB/হেক্স রঙ রূপান্তর। - **Checksums**: CRC8 এবং লুন অ্যালগরিদম। - **Graph coloring**: বাইপারটাইট যাচাই এবং গ্রাফ কালারিং অ্যালগরিদম। প্রকল্পটি নতুনদের লক্ষ্য করে তৈরি এবং সর্বোত্তম অনুশীলন অনুসরণ করে। এতে অনেক বাস্তবায়নের জন্য টেস্ট, GitHub Actions-এর মাধ্যমে কন্টিনিউয়াস ইন্টিগ্রেশন এবং Codecov-এর মাধ্যমে কোড কভারেজ রিপোর্টিং অন্তর্ভুক্ত রয়েছে। যারা নতুন অ্যালগরিদম যোগ করতে বা বিদ্যমানগুলো উন্নত করতে চান তাদের জন্য কন্ট্রিবিউশন নির্দেশিকা দেওয়া হয়েছে। রিপোজিটরিটি আলোচনা ও সহায়তার জন্য একটি Discord কমিউনিটিও রক্ষণাবেক্ষণ করে।