source: liacs/comp/opdracht-1.txt@ 208

Last change on this file since 208 was 2, checked in by Rick van der Zwet, 15 years ago

Initial import of data of old repository ('data') worth keeping (e.g. tracking
means of URL access statistics)

File size: 2.5 KB
Line 
1Rick van der Zwet, Universiteit Leiden
2StudentID: 0433373
3Version: $Id: opdracht-1.txt 561 2008-04-12 13:55:24Z rick $
4Complexiteit 2008 --- opdracht 1
5
6a. Ga na hoe het algoritme werkt voor het array 5,6,1,2,3,4. Laat zien
7hoe het array eruit ziet _elke_ keer nadat regel (10) is uitgevoerd.
8N.B: Buurt 0 is de beginstand
9
10B: Array - Indexgetal
110: 5.6.1.2.3.4 - 6
121: 5.6.1.4.3.2 - 6
132: 5.2.1.4.3.6 - 6
143: 5.2.1.4.3.6 - 6
154: 5.2.3.4.1.6 - 5
165: 1.2.3.4.5.6 - 5
176: 1.2.3.4.5.6 - 5
187: 1.2.3.4.5.6 - 4
198: 1.2.3.4.5.6 - 3
209: 1.2.3.4.5.6 - 2
21
22
23
24b. Toon aan dat vergelijken van array-elementen in regel (7) een goede
25basisoperatie is ,als n >= 0, in orde van grootte.
26
27#08 <= #07
28#09 == #07
29#06 == #07 + 1
30#05 <= #06
31#10 <= #06
32#11 == #10
33#12 <= #11
34#04 == #05 + 1
35#03 <= #04
36#13 <= #04
37#12 == #13 + 1
38#01 == 1
39
40
41
42c. Regel (10) kan maximaal 2n - 2 keer worden uitgevoerd. Leg uit
43waarom. Gebruik dit resultaat om een redelijke bovengrens te bepalen
44voor het aantal vergelijkingen tussen array elementen (regel (7)).
45
46Voor het goede resultaat zal eerst de worst case bepaald moeten worden
47als gekeken wordt naar regel (10). Hierbij is het verwisselingen dat toe
48moet passen als alle getallen verkeerd staan n - 1 (het laatste getal
49staat automatisch goed). Verder moet er nog n - 1 gewisseld worden,
50hierbij gaat het echter om de 'controle' wissel en zal deze wissel
51wezelijk dus niets veranderen het rijtje. Bij elkaar opgeteld is 2n - 2
52dus de eindscore.
53
54Om dit resultaat naar het aantal array vergelijkingen te vertalen is het
55slechte geval het meest aantrekkelijk. Hierbij worden in de 'eerste'
56index getal (n) de verwisselingen gedaan, dit levert dan telkens n - 1
57verwisselingen op, subtotaal n^2 - n De controle verwisselingen kosten telkens 1 minder en
58leveren zo de reeks (n - 1) + (n - 2) + ... + (n - (n -1)) + (n - n) =
590.5n^2 - 0.5n
60Dit gesommeerd levert op 1.5n^2 - 1.5n
61
62
63
64d. Best case, met in het antwoord aantal vergelijkingen
65
66De best case is een oplopend gesorteerd rijtje, alle getallen staan al
67op de goede plek, welke enkele de controle vergelijkingen nodig heeft.
68Dit is 0.5n^2 - 0.5n (zie c.). Tijdens n = 1 worden er 0 vergelijkingen
69uitgevoerd.
70
71
72
73e. Worst case, met in het antwoord aantal vergelijkingen
74
75De worst case is een rijtje waarbij in de grootste index alle
76verwisselen gedaan moeten worden (en dus allen verkeerd staan). Zoeen
77rijtje heeft bijvoorbeeld de vorm 6.0.1.2.3.4.5. Aantal vergelijkingen
78dat gedaan moet worden is 1.5n^2 - 1.5n (zie e)
79
80
81
82
83
84
85
86
Note: See TracBrowser for help on using the repository browser.