Alasan serakah sering digunakan sebagai bagian dari proses pengoptimalan. Algoritma melihat masalah satu langkah pada satu waktu dan berfokus hanya pada langkah di tangan. Setiap algoritma serakah membuat dua asumsi:
- Anda dapat membuat satu pilihan optimal pada langkah yang diberikan.
- Dengan memilih pilihan optimal pada setiap langkah, Anda dapat menemukan solusi optimal untuk keseluruhan masalah.
Anda dapat menemukan banyak algoritma serakah, masing-masing dioptimalkan untuk melakukan tugas tertentu. Berikut adalah beberapa contoh umum algoritma serakah yang digunakan untuk analisis grafik dan kompresi data dan alasan mengapa Anda ingin menggunakannya:
Algoritma ini benar-benar menunjukkan salah satu prinsip algoritma serakah yang orang mungkin tidak pikirkan segera. Dalam kasus ini, algoritma memilih tepi antara dua simpul dengan nilai terkecil, bukan nilai terbesar seperti kata serakah pada awalnya. Algoritma semacam ini dapat membantu Anda menemukan jalur terpendek antara dua lokasi di peta atau melakukan tugas terkait grafik lainnya. Prim's MST:
Algoritma ini membagi grafik yang tidak berarah (satu di mana arah tidak dipertimbangkan) menjadi dua. Kemudian pilih tepi yang menghubungkan kedua bagian sehingga berat total kedua bagian adalah yang terkecil yang ada. Anda mungkin menemukan algoritma ini digunakan dalam permainan labirin untuk menemukan jarak terpendek antara awal dan akhir labirin. Huffman Encoding:
Algoritma ini cukup terkenal di komputer karena merupakan dasar untuk banyak teknik kompresi data. Algoritma memberikan kode ke setiap entri data unik dalam aliran entri, sehingga entri data yang paling sering digunakan menerima kode terpendek. Misalnya, huruf E biasanya akan menerima kode terpendek saat mengompres teks bahasa Inggris, karena Anda menggunakannya lebih sering daripada huruf lain dalam alfabet. Dengan mengubah teknik pengkodean, Anda dapat menekan teks dan membuatnya lebih kecil, mengurangi waktu pengiriman.