কম্পিউটার

হ্যাশ টেবিল বাস্তবায়নের জন্য C++ প্রোগ্রাম


একটি হ্যাশ টেবিল হল একটি ডেটা স্ট্রাকচার যা কী-মান জোড়া সংরক্ষণ করতে ব্যবহৃত হয়। হ্যাশ ফাংশন হ্যাশ টেবিল দ্বারা একটি অ্যারেতে একটি সূচক গণনা করতে ব্যবহৃত হয় যেখানে একটি উপাদান সন্নিবেশ করা হবে বা অনুসন্ধান করা হবে৷

এটি হ্যাশ টেবিল বাস্তবায়নের জন্য একটি C++ প্রোগ্রাম।

অ্যালগরিদম

কিছু পূর্ণসংখ্যা মানের জন্য টেবিলের আকার T_S শুরু করুন। k এবং মান ঘোষণা করার জন্য একটি কাঠামো তৈরি করুন hashTableEntry v. একটি শ্রেণী তৈরি করুন hashMapTable:টেবিল তৈরি করতে একটি কনস্ট্রাক্টর hashMapTable তৈরি করুন। একটি hashFunc() ফাংশন তৈরি করুন যা কী মোড T_S ফেরত দেয়। একটি কী এ উপাদান সন্নিবেশ করার জন্য Insert() ফাংশন তৈরি করুন। একটি কী এ উপাদান অনুসন্ধান করতে একটি ফাংশন SearchKey() তৈরি করুন। একটি কী এ উপাদান অপসারণ করতে Remove() ফাংশন তৈরি করুন। কনস্ট্রাক্টর দ্বারা তৈরি বস্তুগুলি ধ্বংস করার জন্য একটি ধ্বংসকারী হ্যাশম্যাপটেবল কল করুন। প্রধান, সুইচ অপারেশন সঞ্চালন এবং পছন্দ অনুযায়ী ইনপুট লিখুন. কী এবং মান সন্নিবেশ করতে, insert() কল করুন। উপাদান অনুসন্ধান করতে, SearchKey() কল করুন। উপাদান সরাতে, Remove().End. কল করুন

উদাহরণ কোড

#include#include#include#includeনামস্পেস ব্যবহার করে std;const int T_S =200; class HashTableEntry { পাবলিক:int k; int v; HashTableEntry(int k, int v) { this->k=k; this->v =v; }};ক্লাস HashMapTable { ব্যক্তিগত:HashTableEntry **t; সর্বজনীন:HashMapTable() { t =নতুন HashTableEntry * [T_S]; জন্য (int i =0; ik !=k) { h =HashFunc(h + 1); } if (t[h] !=NULL) মুছে ফেলো t[h]; t[h] =নতুন HashTableEntry(k, v); } int SearchKey(int k) { int h =HashFunc(k); যখন (t[h] !=NULL &&t[h]->k !=k) { h =HashFunc(h + 1); } if (t[h] ==NULL) রিটার্ন -1; অন্যথায় ফেরত দিন t[h]->v; } void সরান(int k) { int h =HashFunc(k); যখন (t[h] !=NULL) { যদি (t[h]->k ==k) বিরতি; h =HashFunc(h + 1); } if (t[h] ==NULL) { cout<<"কীতে কোনো উপাদান পাওয়া যায়নি "<>c; switch(c) { কেস 1:cout<<"এলিমেন্ট ঢোকাতে হবে:"; cin>>v; cout<<"কোন উপাদানে সন্নিবেশ করা হবে তা লিখুন:"; cin>>k; hash.Insert(k, v); বিরতি কেস 2:cout<<"অনুসন্ধান করা উপাদানটির কী লিখুন:"; cin>>k; if (hash.SearchKey(k) ==-1) { cout<<"কীতে কোনো উপাদান পাওয়া যায়নি "<>k; hash.Remove(k); বিরতি কেস 4:প্রস্থান (1); ডিফল্ট:cout<<"\nসঠিক বিকল্প লিখুন\n"; } } রিটার্ন 0; }

আউটপুট

1.টেবিলে উপাদান ঢোকান2.কী থেকে উপাদান অনুসন্ধান করুন3.একটি কী-তে উপাদান মুছুন4.আপনার পছন্দের প্রস্থান করুন:1প্রবেশ করার জন্য উপাদানটি প্রবেশ করান:1কোন উপাদানটিতে সন্নিবেশ করা হবে তা লিখুন:11.টেবিলে উপাদান ঢোকান2৷ কী থেকে উপাদান অনুসন্ধান করুন3.একটি কী-এ উপাদান মুছুন4.প্রস্থান করুন আপনার পছন্দের প্রবেশ করুন:1প্রবেশ করার জন্য উপাদানটি প্রবেশ করান:2কোন উপাদানে প্রবেশ করানো হবে তা প্রবেশ করান:21.টেবিলে উপাদান সন্নিবেশ করান2.কী থেকে উপাদান অনুসন্ধান করুন3.একটি কী থেকে উপাদান মুছুন4 .প্রস্থান করুন আপনার পছন্দটি লিখুন:1 সন্নিবেশ করার উপাদানটি প্রবেশ করান:4 কোন উপাদানটিতে সন্নিবেশ করা হবে তা প্রবেশ করান:51.টেবিলে উপাদান সন্নিবেশ করুন2.কী থেকে উপাদান অনুসন্ধান করুন3. একটি কী থেকে উপাদান মুছুন4.প্রস্থান করুন আপনার পছন্দটি প্রবেশ করুন:1প্রবেশ করার জন্য উপাদানটি প্রবেশ করান:7কোন উপাদানে কী ঢোকাতে হবে তা লিখুন:61.টেবিলে উপাদান সন্নিবেশ করুন2.কী থেকে উপাদান খুঁজুন3.একটি কী-এ উপাদান মুছুন4.প্রস্থান করুন আপনার পছন্দের উপাদানটি প্রবেশ করুন:2এলিমেন্টের কী প্রবেশ করান যা অনুসন্ধান করা হবে:7কীটিতে কোনো উপাদান পাওয়া যায়নি 71.ঢোকান টেবিলে উপাদান 2. কী থেকে উপাদান অনুসন্ধান করুন3. উপাদান মুছুন ent একটি কী এ 4. প্রস্থান করুন আপনার পছন্দটি লিখুন:2 অনুসন্ধান করার জন্য উপাদানটির কী প্রবেশ করান:6 কী 6 এ উপাদানটি প্রবেশ করান:71. টেবিলে উপাদান ঢোকান2. কী থেকে উপাদান অনুসন্ধান করুন3. একটি কী-তে উপাদান মুছুন4. প্রস্থান করুন আপনার পছন্দটি লিখুন:3টির কী প্রবেশ করান যে উপাদানটি মুছে ফেলতে হবে:1এলিমেন্ট মুছে ফেলা হয়েছে1.টেবিলে উপাদান ঢোকান2.কী থেকে উপাদান খুঁজুন3.একটি কী-এ উপাদান মুছুন4.প্রস্থান করুন আপনার পছন্দটি লিখুন:4

  1. সিলেকশন সর্ট বাস্তবায়নের জন্য সি++ প্রোগ্রাম

  2. হিপ সাজানোর জন্য C++ প্রোগ্রাম

  3. বুদবুদ সাজানোর জন্য C++ প্রোগ্রাম

  4. রেডিক্স সাজানোর জন্য C++ প্রোগ্রাম