স্ট্রিং হ্যাশিং, রোলিং হ্যাশ এবং রবিন-কার্প এলগোরিদম (Rabin-Karp algorithm)

মনে করুন আপনাকে একটা প্রবলেম সলভ করতে দেয়া হলো এরকম- একটা স্ট্রিং S আর একটা প্যাটার্ণ (সাবস্ট্রিং) p দেয়া আছে। S এর মধ্যে p কতবার আছে সেটা খুঁজে বের করতে হবে।  আমি ধরে নিচ্ছি আপনি কোনো এলগোরিদম জানেন না। আপনি শুধু প্রোগ্রামিংয়ের ব্যাসিক কিছু কাজ পারেন, যেমন, স্ট্রিং কি জিনিস, লুপ কিভাবে চালায়, কিভাবে if-else ব্যবহার […]

হ্যাশটেবিল (Hashtable)

ডাটা স্ট্রাকচারের মূল ব্যাপারটাই হচ্ছে এমন একটা Structure তৈরি করা যাতে করে সেখানে এফিসিয়েন্টলি ডাটা রাখা এবং খুঁজে নিয়ে আসা যায়। প্রত্যেকটা ডাটা স্ট্রাকচারের কিছু সুবিধা অসুবিধা আছে। ক্ষেত্রবিশেষে একেকটা খুব ভালো কাজ করে, অন্য কোনো ডাটা স্ট্রাকচার হয়তো সেখানে ততটা ভালো কাজ নাও করতে পারে। বিভিন্ন ডাটা স্ট্রাকচার শিখলে কোনটা কোথায় ভালো কাজ করবে এবং কেন […]

হ্যাশ (Hash) এবং হ্যাশিং (Hashing)

ক্রিপ্টোগ্রাফী (cryptography), ডাটা এনক্রিপশন (Encryption) এবং ডাটা ইনটেগ্রিটি (integrity) চেকিংয়ের অত্যন্ত গুরুত্বপূর্ণ একটা বিষয় হ্যাশিং। আমাদের প্রতিদিনের কাজের অনেক ক্ষেত্রেই হ্যাশিং ব্যবহার হয়, যেটা অনেকেই হয়তো জানি না। এজন্য আজকে হ্যাশ এবং হ্যাশিং নিয়ে কথা বলবো। হ্যাশ এবং হ্যাশিং কি? একটা গল্প দিয়ে জিনিসটা ব্যাখ্যা করি। রোমিও আর জুলিয়েট (সম্পর্ক ব্যাখ্যা করার কি আর দরকার […]