প্রকল্প সম্পর্কে
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 কমিউনিটিও রক্ষণাবেক্ষণ করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.