The Algorithm Design Manual Second Edition



Download 5,51 Mb.
Pdf ko'rish
bet62/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   58   59   60   61   62   63   64   65   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

Programming Challenges

These programming challenge problems with robot judging are available at



http://www.programming-challenges.com or http://online-judge.uva.es.

2-1. “Primary Arithmetic” – Programming Challenges 110501, UVA Judge 10035.

2-2. “A Multiplication Game” – Programming Challenges 110505, UVA Judge 847.

2-3. “Light, More Light” – Programming Challenges 110701, UVA Judge 10110.

2-51. [7] Six pirates must divide $300 dollars among themselves. The division is to pro-

ceed as follows. The senior pirate proposes a way to divide the money. Then the

pirates vote. If the senior pirate gets at least half the votes he wins, and that divi-

sion remains. If he doesn’t, he is killed and then the next senior-most pirate gets

a chance to do the division. Now you have to tell what will happen and why (i.e.,

how many pirates survive and how the division is done)? All the pirates are intel-

ligent and the first priority is to stay alive and the next priority is to get as much

money as possible.

2-50. [5] Ramanujan-Hardy number can be written two different ways as the sum of

two cubes—i.e., there exist distinct abc, and such that a

3

b



3

c

3

d



3

.

Generate all Ramanujam numbers where a, b, c, d < n.




3

Data Structures

Changing a data structure in a slow program can work the same way an organ

transplant does in a sick patient. Important classes of abstract data types such as

containers, dictionaries, and priority queues, have many different but functionally

equivalent data structures that implement them. Changing the data structure does

not change the correctness of the program, since we presumably replace a correct

implementation with a different correct implementation. However, the new imple-

mentation of the data type realizes different tradeoffs in the time to execute various

operations, so the total performance can improve dramatically. Like a patient in

need of a transplant, only one part might need to be replaced in order to fix the

problem.


But it is better to be born with a good heart than have to wait for a replace-

ment. The maximum benefit from good data structures results from designing your

program around them in the first place. We assume that the reader has had some

previous exposure to elementary data structures and pointer manipulation. Still,

data structure (CS II) courses these days focus more on data abstraction and ob-

ject orientation than the nitty-gritty of how structures should be represented in

memory. We will review this material to make sure you have it down.

In data structures, as with most subjects, it is more important to really un-

derstand the basic material than have exposure to more advanced concepts. We

will focus on each of the three fundamental abstract data types (containers, dic-

tionaries, and priority queues) and see how they can be implemented with arrays

and lists. Detailed discussion of the tradeoffs between more sophisticated imple-

mentations is deferred to the relevant catalog entry for each of these data types.

S.S. Skiena, The Algorithm Design Manual, 2nd ed., DOI: 10.1007/978-1-84800-070-4 3,

c

Springer-Verlag London Limited 2008




Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   488




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