Presentation laddar. Vänta.

Presentation laddar. Vänta.

Övning 4 www.nada.kth.se/~mhj/tilda. Problemträd Bredden först Djupet först Sortering.

Liknande presentationer


En presentation över ämnet: "Övning 4 www.nada.kth.se/~mhj/tilda. Problemträd Bredden först Djupet först Sortering."— Presentationens avskrift:

1 Övning 4 www.nada.kth.se/~mhj/tilda

2 Problemträd Bredden först Djupet först Sortering

3 Problemträd

4 Problem: Erhåll talet (100) på kortast sätt med hjälp av talet fyra (4) och de tre räknesätten addition (+), subtraktion (-) och multiplikation (*). Exempel: 4 * 4 + 4 + 4 * 4 + 4 = 100 Problemträd: 4 8160 1232420641240-4 4  4  4  4  4  4  4  4  4  4  4  4 

5 Problem: En teknolog som glömt sin tresiffriga portkod tryckte sej igenom alla tusen kombinationer så här: 000001002003004005006007008009010011012...999 Det kräver 3000 tryckningar. Man kan dock börja med 000 och sedan klara sig med 999 tryckningar om man har en supersmart sekvens där varje tresiffrigt tal förekommer någonstans. Hur ser sekvensen ut? Problemträd: 000 000500060007000800090004000300020001 000550005600057000580005900054000530005100050 00052 543219876 59876 04321

6 Sökning i problemträd Bredden först

7 Djupet först Sökning i problemträd

8 Hitta lösning på minimalt avstånd Bredden först

9 Hitta lösning på minimalt avstånd Djupet först

10 Hitta en lösning då de finns långt ner i trädet Bredden först

11 Hitta en lösning då de finns långt ner i trädet Djupet först

12 1 3 42 9875 13121110 6 27242116 383330 18 31 282519 40393734 22232014 353229 26 15 36 1 2 5 3 4 Bredden först görs oftast med en kö 12345678910111213141516 Kö 17 6 18

13 1 3 42 9875 13121110 6 27242116 383330 18 31 282519 40393734 22232014 353229 26 15 36 1 2 5 Djupet först görs oftast med rekursion 17 6 161415 17

14 Problem: Erhåll talet (100) på kortast sätt med hjälp av talet fyra (4) och de tre räknesätten addition (+), subtraktion (-) och multiplikation (*). Exempel: 4 * 4 + 4 + 4 * 4 + 4 = 100 4 8160 1232420641240-4 4  4  4  4  4  4  4  4  4  4  4  4  Kö 40816-44041232122064-80-16 4 0816 -4

15 Problem: En teknolog som glömt sin tresiffriga portkod tryckte sej igenom alla tusen kombinationer så här: 000001002003004005006007008009010011012...9999 Det kräver 3000 tryckningar. Man kan dock börja med 000 och sedan klara sig med 999 tryckningar om man har en supersmart sekvens där varje tresiffrigt tal förekommer någonstans. Hur ser sekvensen ut? 000 000500060007000800090004000300020001 000550005600057000580005900054000530005100050 00052 543219876 59876 04321

16 00010020030040050060070080090110120130140150160170180190210220230240 25026027028029031032033034035036037038039041042043044045046047048049 05105205305405505605705805906106206306406506606706806907107207307407 50760770780790810820830840850860870880890910920930940950960970980991 11211311411511611711811912212312412512612712812913213313413513613713 81391421431441451461471481491521531541551561571581591621631641651661 67168169172173174175176177178179182183184185186187188189192193194195 19619719819922232242252262272282292332342352362372382392432442452462 47248249253254255256257258259263264265266267268269273274275276277278 27928328428528628728828929329429529629729829933343353363373383393443 45346347348349354355356357358359364365366367368369374375376377378379 38438538638738838939439539639739839944454464474484494554564574584594 65466467468469475476477478479485486487488489495496497498499555655755 85595665675685695765775785795865875885895965975985996667668669677678 67968768868969769869977787797887897987998889899900

17 Sortering

18 Quicksort 59347106281 pivot 939492715151 4232342 Komplexiteten blir i allmänhet O(n log n) 67981051342 pivot 1 2 Komplexiteten blir O(n 2 ) om redan sorterad

19 Röster för fred 030426:7 Körledaren förvarar sina noter sorterade i en tjock pärm. Till varje repetition plockar han ut några noter och efteråt sorteras de in i pärmen igen med quicksort. Som pivotelement väljs elementet längst till höger i varje delvektor. I kören finns en tildaelev som påpekar att det går att göra mycket enklare och effektivare. Hur då? Ange komplexiteten då m noter plockas ut från den n tjocka pärmen? 69810541273 m 698 541273 Komplexitet: O(m log m + n)

20 Dokusåpan 040313:7 En populär kanadensisk dokusåpa söker deltagare. Flera (243 personer) vill vara med och arrangörerna sorterar de sökande i en lång rad efter näslängd. När programledaren öppnar dörren för att släppa in den första sökanden får en handfull av dem som står först i kön syn på honom och blir så skraja att de springer och gömmer sig i kön. Beskriv en smart algoritm för att sortera om kön. Antag att det visade sig vara tre personer som blev skrämda, hur många näsjämförelser behövs det då med din algortitm för att sortera om kön? 6910541273869 5478 321 6 9 54789 Antal jämförelser: (10-1) + (2 + 1) = 12Antal jämförelser: (243-1) + (2 + 1) = 245


Ladda ner ppt "Övning 4 www.nada.kth.se/~mhj/tilda. Problemträd Bredden först Djupet först Sortering."

Liknande presentationer


Google-annonser