01ხარბი იდეა
ხარბი ალგორითმი პასუხს ნაბიჯ-ნაბიჯ აგებს და ყოველ ნაბიჯზე იმ ვარიანტს იღებს, რომელიც ამ წამს საუკეთესოდ გამოიყურება. გადაფიქრება არ იცის: გაკეთებული არჩევანი საბოლოოა.
ამიტომ ხარბი ალგორითმები მოკლე და სწრაფია, ჩვეულებრივ ერთი სორტირება და ერთი გავლა, O(n log n). მახე ისაა, რომ „ახლა საუკეთესო“ ყოველთვის „საერთოდ საუკეთესო“ არ არის. ხარბი ალგორითმი სწორია მხოლოდ მაშინ, როცა ორი პირობა სრულდება:
- ხარბი არჩევანის თვისება: არსებობს ოპტიმალური პასუხი, რომელიც ხარბი არჩევანით იწყება.
- ოპტიმალურობის თვისება ქვეამოცანებისთვის: ამ არჩევანის შემდეგ დარჩენილი იგივე ამოცანის უფრო პატარა ვერსიაა.
ე.ი. ხარბი არასდროს არის „თავისთავად სწორი“. ირჩევ წესს და ან ამტკიცებ, ან კონტრმაგალითით ამტყუნებ.