Introduction to Algorithms, Third Edition



Download 4,84 Mb.
Pdf ko'rish
bet272/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   268   269   270   271   272   273   274   275   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

16
Greedy Algorithms
Algorithms for optimization problems typically go through a sequence of steps,
with a set of choices at each step. For many optimization problems, using dynamic
programming to determine the best choices is overkill; simpler, more efficient al-
gorithms will do. A
greedy algorithm
always makes the choice that looks best at
the moment. That is, it makes a locally optimal choice in the hope that this choice
will lead to a globally optimal solution. This chapter explores optimization prob-
lems for which greedy algorithms provide optimal solutions. Before reading this
chapter, you should read about dynamic programming in Chapter 15, particularly
Section 15.3.
Greedy algorithms do not always yield optimal solutions, but for many problems
they do. We shall first examine, in Section 16.1, a simple but nontrivial problem,
the activity-selection problem, for which a greedy algorithm efficiently computes
an optimal solution. We shall arrive at the greedy algorithm by first consider-
ing a dynamic-programming approach and then showing that we can always make
greedy choices to arrive at an optimal solution. Section 16.2 reviews the basic
elements of the greedy approach, giving a direct approach for proving greedy al-
gorithms correct. Section 16.3 presents an important application of greedy tech-
niques: designing data-compression (Huffman) codes. In Section 16.4, we inves-
tigate some of the theory underlying combinatorial structures called “matroids,”
for which a greedy algorithm always produces an optimal solution. Finally, Sec-
tion 16.5 applies matroids to solve a problem of scheduling unit-time tasks with
deadlines and penalties.
The greedy method is quite powerful and works well for a wide range of prob-
lems. Later chapters will present many algorithms that we can view as applica-
tions of the greedy method, including minimum-spanning-tree algorithms (Chap-
ter 23), Dijkstra’s algorithm for shortest paths from a single source (Chapter 24),
and Chv´atal’s greedy set-covering heuristic (Chapter 35). Minimum-spanning-tree
algorithms furnish a classic example of the greedy method. Although you can read


16.1
An activity-selection problem
415
this chapter and Chapter 23 independently of each other, you might find it useful
to read them together.

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   268   269   270   271   272   273   274   275   ...   618




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish