Ushbu bobda:
- Siz bo‘lib tashlash va boshqarish usuli bilan tanishasiz. Ba'zan o‘rganilgan hech bir algoritm yordamida hal qilib bo‘lmaydigan muammoga duch kelasiz. Yaxshi algoritmchi bunday muammoda taslim bo‘lmaydi. Ularning muammolarni hal qilish uchun bir qator texnikalardan iborat asboblar qutisi mavjud. Bo‘lib tashlash va boshqarish siz o‘rganadigan birinchi umumiy texnika hisoblanadi.
- Siz quicksort algoritmi bilan tanishasiz — bu amaliyotda tez-tez qo‘llaniladigan nafis saralash algoritmi. Quicksort bo‘lib tashlash va boshqarish usulidan foydalanadi.
Siz o‘tgan bobda rekursiya haqida ko‘p narsa o‘rgandingiz. Ushbu bobda esa yangi mahoratingizni qo‘llab, muammolarni hal qilishga qaratilgan. Biz bo‘lib tashlash va boshqarish (D&C) usulini ko‘rib chiqamiz — bu muammolarni hal qilish uchun yaxshi tanilgan rekursiv texnikadir.
Ushbu bob algoritmlarning asosiga kiradi. Axir, algoritm faqat bitta turdagi muammoni hal qila oladigan bo‘lsa, u juda foydali emas. Buning o‘rniga, D&C muammolarni hal qilishning yangi usulini taklif qiladi. D&C asboblar qutingizdagi yana bir vositadir. Yangi muammoda to‘xtab qolishingiz shart emas. Uning o‘rniga, “Agar men bo‘lib tashlash va boshqarishdan foydalansam, bu muammoni hal qila olamanmi?” deb so‘rashingiz mumkin.
Bobning oxirida siz birinchi katta D&C algoritmingizni o‘rganasiz: quicksort. Quicksort — bu saralash algoritmi va u 2-bobda o‘rganilgan tanlash bo‘yicha saralashdan ancha tezroq ishlaydi. Bu nafis kodning yaxshi namunasi hisoblanadi.