Module ১৩ · binary_search, lower_bound, upper_bound আর equal_range
Binary search-এর প্রতিটা call, একটা একটা করে, খরচসহ
Account থাকলেই freeপড়া
Amara-র তালিকায় প্রতিটা দামের জায়গা চায় Bob, তাই ও লেখে int pos = binary_search(...)। ও চেষ্টা করে 120, 450 আর 700, আর প্রতিটাই নাকি "position 1"-এ। Program compile হলো, চলল, সংখ্যাও print করল, আর ভুলের মধ্যে এটাই সবচেয়ে খারাপ ধরন। Lesson 01-এ চারটা call-এর সাথে একবার করে দেখা হয়েছে। এই lesson ওদের একটা একটা করে নেয়, প্রতিটার রূপ, ফাঁদ আর দামসহ।
আপনার জন্য এই lesson টা খোলা কি না দেখা হচ্ছে…
Binary search-এর প্রতিটা call, একটা একটা করে, খরচসহ এর ভেতরে কী আছে
- binary_search: একটা bool, শুধুই একটা bool
- lower_bound: index, end() check, আর এমন insert যেটা ক্রম রাখে
- upper_bound: প্রথম বড়টা, আর চারটা গোনা
- equal_range: দুই bound একটা pair হিসেবে
- বড় থেকে ছোট সাজানো তালিকায় খোঁজাতেও greater<int>() লাগে
- .first ধরে pair খোঁজা, আর comparator কোন ক্রমে call হয়
- সাধারণ array আর সাজানো vector<string>
- List-এ: compile হয়, ঠিক উত্তর দেয়, আর হাঁটেIntermediate
- Set বা map-এ: member-টাকে call করোIntermediate
- সব খরচ এক table-এ