Översikt. Effektiva algoritmer. En telefonlista. Algoritm
|
|
- Christoffer Forsberg
- för 5 år sedan
- Visningar:
Transkript
1 Översit Effetiva algoritmer Håan Jonsson Slides och od av Fredri Bengtsson Algoritm? Vad är det? Effetiva algoritmer En telefonlista! Hur hittar man namnet? I telefonlistan Två olia metoder Slutsatser Analys Hur fort går det egentligen? Sortering ett exempel Forsningsfronten... J Hemuppgift... Algoritm En telefonlista Vad är det? Stegvis besrivning av procedur För att utföra en bestämd uppgift Effetivitet? Hur snabbt proceduren går att genomföra Ofta an man göra en uppgift på flera olia sätt Vi tar ett exempel Leta upp ett telefonnummer i en telefonlista Slå upp i telefonlista? Leta från början? Exempel Stefan Candefjord Hittad efter 5 namn Maximalt 7 namn samma som hela listan Namn hittat! Namn telefon Andersson Karl 5364 Baclund-Norberg Mia 1019 Bengtsson Fredri 2431 Bir Wolfgang 1965 Candefjord Stefan 2386 Carlson Johan 2517 Castano Miguel 2328
2 Telefonlista Vilen metod är bäst? Om vi börjar i mitten? Står namnet före...eller efter mitten? Exempel Stefan Candefjord Hittad efter 3 namn! Maximalt 3 namn Mycet bättre än 7! Namn telefon Andersson Karl 5364 Baclund-Norberg Mia 1019 Bengtsson Fredri 2431 Bir Wolfgang 1965 Candefjord Stefan 2386 Carlson Johan 2517 Castano Miguel 2328 Namn hittat! Den senare verar överlägsen......men! Den är ännu bättre än det ser ut! Vad händer om man fördubblar listans storle? Första metoden (söa från början): Dubbelt så lång tid (naturligtvis!) Andra metoden (dela på mitten): Längre tid än tidigare...men hur mycet? Större lista Tidsåtgång Börjar med Ding Limei OBS! Tillbaa till gamla fallet efter första jämförelsen! Totalt 4 namn!...istället för 14 Det var ett bra resultat! Om vi dubblar igen? => Ytterligare ett steg Namn telefon Andersson Karl 5364 Baclund-Norberg Mia 1019 Bengtsson Fredri 2431 Bir Wolfgang 1965 Candefjord Stefan 2386 Carlson Johan 2517 Castano Miguel 2328 Ding Limei 1788 Elotob Muslim 1594 Gustafsson Thomas 1323 Hallberg Josef 1177 Harlin Gösta 1141 Hedman Anna 3067 Johansson Anders 1907 Johansson Andreas 2334 Gamla listan...efter ett steg Första metoden (sö från början) Tidsåtgången öar lia fort som listans storle öar Dubbel längd=dubbel tidsåtgång Andra metoden (dela på mitten) Tidsåtgången öar endast onstant (med 1)......per fördubbling av listan Det blir billigare per namn... dvs behövs färre och färre jämförelser per namn......ju större listan är!
3 Tidsåtgång Andra metoden har Antal steg lägre omplexitet! För 4 miljarder namn ( ) Kolla alla: 4 miljarder namn Dela på mitten: 32 namn! (8 miljarder, nästan alla i världen => 33 namn ) Kolla alla Dela i två Antal namn Hur gic det till? Listan var sorterad Annars hade vi inte unnat söa så snabbt Man säger att vi har använt en effetiv representation av datat Ordna (representera) datamängd effetivt Mycet vitigt när man programmerar! om programmen hanterar stora datamängder och man vill ha snabba program (och det vill man J ) Slutsats Tid för linjärsöning Enelt exempel på effetiv algoritm Kallas binärsöning (den sämre allas linjärsöning) Effetiva algoritmer Mycet stora prestandavinster Väldigt många olia problem linande förbättringar...med effetiva algoritmer! Tiden för söning i lista av storle n [i värsta fall] Kalla tiden T(n) Vi ränar antalet jämförelser Vi inser: Vi utveclar: =... = = + T(n-) Vi vet att T(1)=1 (basfall!) När n-=1 <=> =n-1 : = + T(n-) = = 2 + T(n-2 ) = = 1+ T(n-1 ) = 1+ T(n-1 ) = n-1 + T(n-(n-1 )) = = n-1 + T( 1) = = n = = n Vi gör alltså n st jämförelser i en lista av längd n
4 Tid för binärsöning Mergesort John von Neumann (1945) Tiden för söning i lista av storle n [i värsta fall] Kalla tiden T(n) Vi ränar antalet jämförelser Vi inser att 1+ T(n/ 2 ) Vi vet att T(1)=1 (basfall!) = 1+ T(n/ 2 ) = = 2 + T(n/ 4 ) = =... = = + T(n/ 2 ) Vi vill att n/ 2 = 1 n = 2 log n log n = Då får vi = log n +1 Vi gör alltså log n + 1 st jämförelser i en lista av längd n Väldigt mycet färre än n = log ( 2 = +T(n / 2 ) = = log n +T(1) = ) Vi delar listan i två delar...sen sätter vi samman delarna till en lista: och sorterar varje del för sig Varför är Mergesort bra nu då? Mergesort analys Hur många jämförelser? = 2T(n/ 2 ) + n = = 2( 2T(n/ 4 ) + n / 2 ) + n = = 2 = 2 T(n/ 2 T(n/ 2 ) + n + n n = ) + n o, så vi vet att 2 T(n/ 2 ) + n Basfallet är ju T(1)=1 Vi vill att n/ 2 =1 Känner vi igen! n/ 2 = 1 log n = Vi sätter in detta : = 2 T(n/ 2 = 2 logn T (1) + nlog n = = n + nlog n ) + n = Att sortera n tal tar alltså n + n log n jämförelser med Mergesort
5 Annan algoritm: ZelectionSort En jämförelse I princip SelectionSort (Ej in-place) Ta hela tiden bort det minsta och sätt sist i resultaten Exempel med spelort Enel analys: Att ta bort minsta ur tal tar -1 jämförelser Tän: Behövs bara 1 jämförelse för att ta det minsta av 2 tal Alltså, med n tal i början behövs (n-1)+(n-2) Mergesort i ena ringhörnan "Söndra och härsa" Komplexitet: n + n log n O(n log n)" ZelectionSort i den andra "Ta upprepade gånger och i tur och ordning ut minsta varvarande." Komplexitet: n(n-1)/2 O(n 2 ) jämförelser, vilet är n (n-1) / 2. En jämförelse Maximum sum subsequence Mergesort i ena ringhörnan "Söndra och härsa" Komplexitet: n + n log n O(n log n)" ZelectionSort i den andra "Ta upprepade gånger och i tur och ordning ut minsta varvarande." Komplexitet: n(n-1)/2 O(n 2 ) Input 3mergeSort zelectionsort L m m/l z z/l z+m z/m l ,010 9,54E*06 0,142 0, ,151 14,849 l ,018 8,75E*06 0,527 0, ,544 30,101 l ,030 7,42E*06 2,068 0, ,098 69,729 l ,060 7,51E*06 8,339 0, , ,820 l ,115 7,21E*06 33,333 0, , ,964 l ,257 8,02E*06 133,899 0, , ,897 l ,570 8,91E*06 544,152 0, , ,123 Hitta största sammanhängande delsevens största = högst summa Exempel: Hur göra? Räna ut summan av alla möjliga delsevenser spara den största Gansa tidsrävande: Med n tal finns n(n-1) / 2 olia delsevenser som alla sa summeras... O(n 2 ) Tar i storlesordningen n 3 jämförelser(!) O(n 3 ) Finns smartare sätt!
6 Helt ort: Ett svårare problem... Hemuppgift - artiel Hitta de st. segment vars totalsumma är maximal! (vi bestämmer oss för ett visst ) För några år sedan ett öppet forsningsproblem Komplexitet? n [Fredri Bengtsson och Jingsen Chen, 2006] =2: Läs artiel: Communications of the ACM Volume 27 Issue 9, Sept Programming pearls: algorithm design techniques Jon Bentley Länen fungerar (bara) inom LTU Från ett LTU-datornät t ex det trådlösa = 11 Obs! Ett fel i artieln Läs fram t o m avsnittet Two Quadratic algorithms I det avsnittet besrivs två algoritmer som är snabbare (effetivare) än The cubic algorithm (Algorithm 1, sid. 865) Sriv en rapport med LaTeX på svensa och förlara med dina egna ord hur algoritmerna fungerar Börja med att introducera problemet och The Cubic Algorithm Vitigast: Vad är det för specifia (onreta) insiter som gör algoritmerna snabbare? Jämför med The Cubic Algorithm Förlara så att någon i lassen som inte läst artieln förstår Den 2:a algoritmen använder en "cumulative array", även allad Prefix sum: Rad 5 i Algorithm 2: Sum := Sum + X[I] är fel Det sa stå: Sum := Sum + X[U] Lämna in i Canvas
7 Nu an ni allt om algoritmer! J Bra citat: Grubbla på detta hemma Till och med vatmästarn an detta J
Föreläsning 12. Söndra och härska
Föreläsning 12 Söndra och härska Föreläsning 12 Söndra och härska Maximal delsekvens Skyline Closest pair Växel Söndra och härska (Divide and conquer) Vi stötte på dessa algoritmer när vi tittade på sortering.
Läs merSortering. Brute-force. Sortering Ordna element enligt relation mellan nyckelvärden
Sortering Brute-force Sortering Ordna element enligt relation mellan nyckelvärden Flera olika algoritmer med olika fördelar Brute-force Gå igenom alla permutationer och hitta den där elementen ligger i
Läs merFöreläsning 12. Söndra och härska
Föreläsning 12 Söndra och härska Föreläsning 12 Söndra och härska Maximal delsekvens Skyline Closest pair Växel Uppgifter Söndra och härska (Divide and conquer) Vi stötte på dessa algoritmer när vi tittade
Läs merRSA-kryptering. Torbjörn Tambour
RSA-rytering Torbjörn Tambour RSA-metoden för rytering har den seciella och betydelsefulla egensaen att metoden för rytering är offentlig, medan metoden för derytering är hemlig. Detta an om man funderar
Läs merÖversikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
Läs merMatematik 5 Kap 1 Diskret matematik I
Matemati 5 Kap 1 Disret matemati I Inledning Konretisering av ämnesplan (län) http://www.ioprog.se/public_html/ämnesplan_matemati/strutur_äm nesplan_matemati/strutur_ämnesplan_matemati.html Inledande ativitet
Läs merDatastrukturer och algoritmer
Innehåll Föreläsning 5 Algoritmer Experimentell komplexitetsanalys Kapitel 2.1-2.2, Kapitel 12.1-12.4 Algoritmer Algoritm Definition: Algoritm är en noggrann plan, en metod för att stegvis utföra något
Läs merKursens mål är, förutom faktakunskaper om kursinnehållet, att ge:
Inlämningsuppgifter i Funtionsteori För att man sa bli godänd på ursen rävs att såväl tentamen som inlämningsuppgifter och laborationer är godända. Inlämningsuppgifterna är alltså obligatorisa. Enligt
Läs merAlgoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016
Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Algoritmanalys Inledning Exempel 1: x n När vi talade om rekursion presenterade vi två olika sätt att beräkna x n, ett iterativt: x n =
Läs mer6.4 Svängningsrörelse Ledningar
6.4 Svängningsrörelse Ledningar 6.166 b) Krafterna i de båda fjädrarna är lia stora och lia med raften på roppen (inses genom att man frilägger roppen och de två fjädrarna var för sig). Kroppens förflyttning
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift
Läs merI en matchning ligger varje hörn i högst en kant. I en stig ligger varje hörn i högst två kanter.
26.2-9 Antag att rätt lösning är att dela upp V i V 1 och V 2 (V 1 V 2 =, V 1 V 2 = V ). Antal kanter vi måste skära är då det minsta snittet mellan v 1 och v 2, där v 1 är ett godtyckligt hörn i V 1 och
Läs merFöreläsning 11 Datastrukturer (DAT037)
Föreläsning 11 Datastrukturer (DAT037) Fredrik Lindblad 1 4 december 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Sortering Selectionsort, Bubblesort,
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre
Läs merBakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
Läs merMagnus Nielsen, IDA, Linköpings universitet
Föreläsning 7 Introduktion till sortering TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 24 september 2018 Magnus Nielsen, IDA, Linköpings universitet 7.1 1
Läs merTIDS- OCH RUMSKOMPLEXITET
TIDS- OCH RUMSKOMPLEXITET Praktiska begränsningar långt innan teoretiska Tids- och rumskomplexitet Dramatiska effekter av skillnader i tidskomplexitet Utbytesförhållande tid och rum Hanterliga problem
Läs merIntroduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
Läs merFöreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 10 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 10 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Lägre gräns för sortering Count sort,
Läs merTDDI16 Datastrukturer och algoritmer. Algoritmanalys
TDDI16 Datastrukturer och algoritmer Algoritmanalys 2017-08-28 2 Översikt Skäl för att analysera algoritmer Olika fall att tänka på Medelfall Bästa Värsta Metoder för analys 2017-08-28 3 Skäl till att
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsning 8 Sortering och urval TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 1 oktober 2013 Tommy Färnqvist, IDA, Linköpings universitet 8.1 Innehåll Innehåll 1 Sortering
Läs merDatastrukturer och algoritmer
Datastrukturer och algoritmer Föreläsning 5 Algoritmer & Analys av Algoritmer Algoritmer Vad är det? Innehåll Mer formellt om algoritmer beräkningsbarhet Att beskriva algoritmer Analysera algoritmer Exekveringstid,
Läs merFöreläsning 1: Dekomposition, giriga algoritmer och dynamisk programmering
2D1458, Problemlösning och programmering under press Föreläsning 1: Dekomposition, giriga algoritmer och dynamisk programmering Datum: 2007-09-04 Skribent(er): Anders Malm-Nilsson och Niklas Nummelin Föreläsare:
Läs merProgrammering för språkteknologer II, HT2014. Rum
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Sökalgoritmer
Läs merSökning. Viktiga algoritmer sökning och sortering. Sökning i en oordnad tabell:
Viktiga algoritmer sökng och sorterg När man sparar data (formation) gör man det alltid utifrån något behov av att senare använda det man har sparat. Det kan ju vara av juridiska krav på dokumentation
Läs merTommy Färnqvist, IDA, Linköpings universitet. 2 Rekursion i C Implementation av rekursion Svansrekursion En till övning...
Föreläsning 15 Rekursion TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 2 november 2015 Tommy Färnqvist, IDA, Linköpings universitet 15.1 Innehåll
Läs merQuicksort. Koffman & Wolfgang kapitel 8, avsnitt 9
Quicksort Koffman & Wolfgang kapitel 8, avsnitt 9 1 Quicksort Quicksort väljer ett spcifikt värde (kallat pivot), och delar upp resten av fältet i två delar: alla element som är pivot läggs i vänstra delen
Läs mer3. Toppkvinnor på hög Låt lådan och de två kvinnornas famnar utgöra stackarna L, K1 respektive K2. Från början finns alla kort i L.
KTH, Nada, Erik Forslin 2D1343, LÖSNING TILL TENTAMEN I DATALOGI FÖR ELEKTRO Lördagen den 8 mars 2003 kl 14 19 Maxpoäng tenta+bonus = 50+7. Betygsgränser: 25 poäng ger trea, 35 ger fyra, 45 ger femma.
Läs merFöreläsning 5: Dynamisk programmering
Föreläsning 5: Dynamisk programmering Vi betraktar en typ av problem vi tidigare sett: Indata: En uppsättning intervall [s i,f i ] med vikt w i. Mål: Att hitta en uppsättning icke överlappande intervall
Läs merFacit Tentamen TDDC kl (6)
Facit Tentamen TDDC30 2015-03-19 kl 14-18 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Ge ett exempel på ett kodstycke som orsakar ett NullPointerException. (1p) Svar:Animal
Läs merL HOSPITALS REGEL OCH MACLAURINSERIER.
L HOSPITALS REGEL OCH MACLAURINSERIER Läs avsnitten 73 och 8-82 Lös övningarna 78-75, 82, 84a,b, 85a,c, 89, 80 samt 8 Avsnitt 73 L Hospitals regel an ibland vara till en viss nytta, men de flesta gränsvärden
Läs merAlgoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet
Föreläsning 5 Innehåll Algoritmer och effektivitet Algoritmer och effektivitet Att bedöma, mäta och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Undervisningsmoment: föreläsning 5, övningsuppgifter
Läs merProgramkonstruktion och Datastrukturer
Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna
Läs merFöreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek
Föreläsning 5 Innehåll Val av algoritm och datastruktur Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Det räcker inte med att en algoritm är korrekt
Läs merEnergieffektivt bostadsområde i Borgå
Energieffeivt bostadsområde i Borgå 5 3 105 5 7 4 5 109 4 8 9 5 4 19 27 9 3 4 0 2 14 7 17 0 5 1 3 5 4 5 4 1 14 3 9002 7 9 3 2 7 7 3 4 9 3 4 35 4 3 2 14 0 8 1 2 9 1 Sairaala Sjuhus 47 3 5 3 9 9 1 8 4 5
Läs merSortering. Intern/ extern? Antaganden. Vad kan vi kräva? Rank sort. Rank sort. På en nod/ distribuerad? Jämförelsebaserad/ icke jämförelsebaserad?
Sortering Föreläsning : Sorteringsalgoritmer Sortering: att ordna data i någon sekventiell ordning Sortering förekommer som del i många applikationer Kanonisk form för sorterat data? Skall den sorterade
Läs merIV. Ekvationslösning och inversa funktioner
Analys 360 En webbaserad analysurs Grundbo IV. Evationslösning och inversa funtioner Anders Källén MatematiCentrum LTH andersallen@gmail.com IV. Evationslösning och inversa funtioner 1 (11) Introdution
Läs merAlgoritmer. Två gränssnitt
Objektorienterad programmering E Algoritmer Sökning Linjär sökning Binär sökning Tidsuppskattningar Sortering Insättningssortering Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk;
Läs merFöreläsning 9. Sortering
Föreläsning 9 Sortering Föreläsning 9 Sortering Sortering och Java API Urvalssortering Instickssortering Söndra och härska Shellsort Mergesort Heapsort Quicksort Bucketsort Radixsort Läsanvisningar och
Läs mersamt lite algoritmer en kortfattad introduktion för studenter på Intro:DV
O, P, N och NP samt lite algoritmer en kortfattad introduktion för studenter på Intro:DV DSV En enkel algoritm Ponera att du spelar poker och har fått korten till höger. Eftersom det bara rör sig om fem
Läs mera k . Serien, som formellt är följden av delsummor
Kapitel S Mer om serier I dettapitel sall vi fortsätta att studera serier, ett begrepp som introducerades i Kapitel 9.5 i boen, framförallt sa vi bevisa ett antal onvergensriterier. Mycet ommer att vara
Läs merLösningsförslag Dugga i Mekanik, grundkurs för F, del 2 September 2014
Lösningsförslag Dugga i Meani, grundurs för F, del 2 Septemer 2014 Till varje uppgift finns det ett lösningsförslag som exempel på hur uppgiften an lösas. Lösningsförslaget visar även hur lösningen ungefärligt
Läs mer6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom:
6 Rekursion 6.1 Rekursionens fyra principer Problem löses genom: 1. förenkling med hjälp av "sig själv". 2. att varje rekursionssteg löser ett identiskt men mindre problem. 3. att det finns ett speciellt
Läs merFöreläsning 6 Innehåll. Rekursion. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursiv problemlösning. Rekursion. Rekursivt tänkande:
Föreläsning 6 Innehåll Rekursion Begreppet rekursion Rekursiv problemlösning Samband mellan rekursion och induktion Söndra-och-härska-algoritmer Dynamisk programmering Undervisningsmoment: föreläsning
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som
Läs merAlgoritmer och datastrukturer TDA Fredrik Johansson
Algoritmer och datastrukturer TDA143 2015-02- 18 Fredrik Johansson Algoritmer Informell beskrivning E" antal steg som beskriver hur en uppgi5 görs. A set of steps that defines how a task is performed.
Läs merInlämningsuppgifter i Funktionsteori, vt1 2012
Inlämningsuppgifter i Funtionsteori, vt1 01 För att man sa bli godänd på ursen rävs att såväl tentamen som inlämningsuppgifter och laborationer är godända. Inlämningsuppgifterna är alltså obligatorisa.
Läs merLösningar Datastrukturer TDA
Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både
Läs merMotivering av högerledet i Maxwells 4:e ekvation
1 Motivering av högerledet i Mawells 4:e evation tudera följande eletronisa rets: I J 1 3 Q -Q Gaussdosa 4 I Vi väljer att använda cirulationssatsen på urvan. Ytan i högerledet an ju väljas på ett otal
Läs merförutsättningar och mål
ÖP 2002 Tanums ommun 2 Vissa grundläggande förutsättningar och mål Kapitel 2 Vissa grundläggande förutsättningar och mål Tanums ommun allmänna drag Tanums ommun har en omväxlande, ri natur- och ulturmiljö
Läs merIdentification Label. Student ID: Student Name: Elevenkät Fysik. Skolverket Bo Palaszewski, Projektledare 106 20 Stockholm
Identification Label Student ID: h Student Name: Elevenät Fysi Solveret Bo Palaszewsi, Proetledare 106 20 Stocholm International Association for the Evaluation of Educational Achievement Copyright IEA,
Läs merTillämpad Programmering (ID1218) :00-13:00
ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Läs merÖvningsuppgifter #11, Programkonstruktion och datastrukturer
Övningsuppgifter #11, Programkonstruktion och datastrukturer Lösningsförslag Elias Castegren elias.castegren@it.uu.se Övningar 1. 1 2. 2 3. Ett binomialträd med rang n har 2 n noder. En binomial heap innehåller
Läs mer5 Klämkraft och monteringsmoment
5 Klämraft och monteringsmoment 5 Klämraft och monteringsmoment Målsättningen med ett sruvförband är att sapa en lämraft mellan de sammanfogade delarna. Sruvförbandets målvärde är således dess lämraft.
Läs merExempeltenta GruDat 2002/2003
Exempeltenta GruDat 2002/2003 Endast ett svarsalternativ på varje fråga är korrekt. Felaktigt svar eller felaktigt antal ikryssade svarsalternativ ger noll poäng på uppgiften. Obs: Den riktiga tentan kommer
Läs merUppgifter övning I8: Uppgift nr 1 Sealine AB
Uppgifter övning I8: Uppgift nr 1 Sealine AB Rederiet Sealine AB har undersöt specialfartygsmarnaden under senaste året för 700 000 r och funnit en lämplig fartygsstorle, som det an tecna ontrat på. Vid
Läs merUpplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)
Binära träd Algoritmer och Datastrukturer Markus Saers markus.saers@lingfil.uu.se Upplägg Binära träd (9) Binära sökträd (0.) Träd Många botaniska termer Träd, rot, löv, gren, Trädets rot kan ha ett antal
Läs merDEL I. Matematiska Institutionen KTH
1 Matematisa Institutionen KTH Lösningar till tentamenssrivning på ursen Disret Matemati, moment A, för D2 och F, SF161 och SF160, den 9 mars 2009 l 14.00-19.00. DEL I 1. (p Lös reursionsevationen med
Läs merFaktorer som påverkar aktiefondsparandet
Kandidatuppsats vårterminen 2006 Nationaleonomisa institutionen EKONOMIHÖGSKOLAN VID LUNDS UNIVERSITET Fatorer som påverar atiefondsparandet en studie av fem grupper fondsparare på den svensa atiefondsmarnaden
Läs merFöreläsning 2 Datastrukturer (DAT037)
Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-02 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Tidskomplexitet
Läs merUppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på sammandragningarna.
Uppsala Universitet Matematisa Institutionen Bo Styf Basurs, 5 hp Distans 0-0-3 Genomgånget på sammandragningarna. Sammandragning, 5/ 0: Handlade om ombinatori multipliationsprincipen, permutationer, ombinationer,
Läs merInlämningsuppgifter i Funktionsteori, vt 2016
Inlämningsuppgifter i Funtionsteori, vt 2016 För att man sa bli godänd på ursen rävs att såväl tentamen som inlämningsuppgifter och laborationer är godända. Inlämningsuppgifterna är alltså obligatorisa.
Läs merNågra svar till TDDC70/91 Datastrukturer och algoritmer
Några svar till TDDC70/91 Datastrukturer och algoritmer 2011--18 Följande är lösningsskisser och svar till uppgifterna på tentan. Lösningarna som ges här ska bara ses som vägledning och är oftast inte
Läs merAlgoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
Läs merVad har vi pratat om i kursen?
Vad har vi pratat om i kursen? Föreläsning 1 & 2 Systemminnet och systemstacken Rekursion Abstrakta datatyper Föreläsning 3 ADT:n Länkad lista Föreläsning 4 ADT:n Kö ADT:n Stack Föreläsning 5 Komplexitet
Läs merErfarenheter från labben
Erfarenheter från labben Bra Jobbat! Lite ont om plats... Parprogrammering? Skillnad mellan program och funktion! Skillnad mellan uttryck och kommando! Välj bra variabelnamn! Vad göra om det blir fel?
Läs merObjektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2
Objektorienterad programmering E Algoritmer Linjär sökning Binär sökning Tidsuppskattningar Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk; dess syntax och semantik, bibliotek
Läs mer1 Föreläsning IV; Stokastisk variabel
1 FÖRELÄSNING IV; STOKASTISK VARIABEL 1 Föreläsning IV; Stoastis variabel Vi har tidigare srivit P (1, 2, 3, 4, 5) = P (C) för sannoliheten för att få 1, 2, 3, 4 eller 5 vid ett tärningsast. Vi sall använda
Läs merAlgoritmer och problemlösning
Algoritmer och problemlösning Perspektiv på datateknik/datavetenskap - Breddföreläsning 4 Peter Dalenius petda@idaliuse Institutionen för datavetenskap - Linköpings universitet 2005-11-04 Översikt Introduktion:
Läs merInlämningsuppgifter i Funktionsteori, ht 2018
Inlämningsuppgifter i Funtionsteori, ht 208 För att man sa bli godänd på ursen rävs att såväl tentamen som inlämningsuppgifter och laborationer är godända. Inlämningsuppgifterna är alltså obligatorisa.
Läs merFöreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:
Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp
Läs merDatastrukturer D. Föreläsning 2
Datastrukturer D Föreläsning 2 Jämförelse mellan olika sorteringsalgoritmer n Selection sort T(n) Insertion sort T(n) 2 1 1 1 Merge sort T(n) 4 6 3-6 4-5 8 28 7-28 12-17 16 120 15-120 32-49 Analysis of
Läs merTentamen med lösningsförslag Datastrukturer för D2 DAT 035
Tentamen med lösningsförslag Datastrukturer för D2 DAT 035 17 december 2005 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.)
Läs mer10. MEKANISKA SVÄNGNINGAR
10. MEKANISKA SVÄNGNINGAR 10.1 Den enla harmonisa oscillatorn. Ett föremål med massan m, som hängs upp i en lätt fjäder, får svänga ring sitt jämvitsläge. Under svängningen påveras föremålet av en raft
Läs merTentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering
KTH Matemati Tentamen del 2 SF1511, 2017-03-16, l 800-1100, Numerisa metoder och grundläggande programmering Del 2, Max 50p + bonuspoäng (max 4p) Inga hjälpmedel Rättas endast om del 1 är godänd Betygsgränser
Läs merTentamen Datastrukturer för D2 DAT 035
Tentamen Datastrukturer för D2 DAT 035 17 december 2005 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser:
Läs merFöljande uttryck används ofta i olika problem som leder till differentialekvationer: Formell beskrivning det finns ett tal k så att A=kB
MATEMATISK MODELLERING Att ställa upp en differentialevation som besriver ett förlopp Följande uttryc används ofta i olia problem som leder till differentialevationer: Text A är proportionell mot B (A
Läs merFacit Tentamen TDDC (7)
Facit Tentamen TDDC30 2014-03-18 1 (7) Teoretisk del 1. (3p) "Snabba frågor" a) Varför kan man tänkas vilja dölja metoder och variabler med private? (0.5p) Svar:För att skydda interna variabler från ändringar
Läs merTeoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.
Facit Tentamen TDDC30 2015-03-19 kl 08-12 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Varför väljer man ofta synligheten private hellre än public för medlemsvariabler i en klass?
Läs merProblemlösning och algoritmer
Problemlösning och algoritmer Human Centered Systems Inst. för datavetenskap Linköpings universitet Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS regeln Procedurell dekomposition
Läs merTentamen SF1661 Perspektiv på matematik Lördagen 18 februari 2012, klockan Svar och lösningsförslag
Tentamen SF1661 Perspetiv på matemati Lördagen 18 februari 01, locan 09.00 1.00 Svar och lösningsförslag (1) Sissera den mängd i xy-planet som består av alla punter som uppfyller oliheten (x + ) + (y )
Läs merCentrala gränsvärdessatsen (CGS). Approximationer
TNG006 F7 25-04-2016 Centrala gränsvärdessatsen (CGS. Approximationer 7.1. Centrala gränsvärdessatsen Vi formulerade i Sats 6.10 i FÖ6 en vitig egensap hos normalfördelningen som säger att en linjär ombination
Läs merProgrammering för språkteknologer II. OH-serie: Sökning och sortering. Algoritm
Programmering för språkteknologer II OH-serie: Sökning och sortering Mats Dahllöf Sökning och sortering Sökning: lokalisera objekt i samlingar. Finns ett visst värde? I så fall: var? Sortering: placera
Läs merUppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa
Lena Kallin Westin 2005-08-22 Institutionen för datavetenskap Umeå universitet TENTAMEN Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Inlämnad Poäng Kurs : Programmeringsteknisk
Läs merLösningsförslag för tentamen i Datastrukturer (DAT037) från
Lösningsförslag för tentamen i Datastrukturer (DAT7) från --9 Nils Anders Danielsson. Träd- och köoperationerna har alla tidskomplexiteten O(log s), där s är antalet element i trädet/kön (notera att jämförelser
Läs merMedan ni väntar. 2. Skriv metoden. 3. Skriv metoden. Naturligtvis rekursivt och utan användning av Javas standardmetoder.
(10 september 2018 T02 1 ) Medan ni väntar 1. Binär sökning i sorterad array med n element kräver log 2 n försök. Hur många försök krävs i en array med 10 3, 10 6 respektive 10 9 element? 2. Skriv metoden
Läs merObjektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer
Objektorienterad programmering Föreläsning 10 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Fält fort. Fält som parametrar Parameterfält params Parametrar till Main Listor ArrayList
Läs merF4 Matematikrep. Summatecken. Summatecken, forts. Summatecken, forts. Summatecknet. Potensräkning. Logaritmer. Kombinatorik
03-0-4 F4 Matematirep Summatece Summatecet Potesräig Logaritmer Kombiatori Säg att vi har styce tal x,, x Summa av dessa tal (alltså x + + x ) srivs ortfattat med hjälp av summatece: x i i summa x i då
Läs merTentamen: Programutveckling ht 2015
Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:
Läs merSummera godtyckligt antal tal. Programkonstruktion. Moment 4 Om rekursion. Fullständigt resonemang för summeringen. Analys av summeringsproblemet
Summera godtyckligt antal tal Programkonstruktion Moment 4 Om rekursion Pre: n >=, n
Läs merSökning och sortering
Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling
Läs merInduktion och Binomialsatsen. Vi fortsätter att visa hur matematiska påståenden bevisas med induktion.
Idutio och Biomialsatse Vi fortsätter att visa hur matematisa påståede bevisas med idutio. Defiitio. ( )! = ( över ).!( )! Betydelse av talet studeras seare. Med idutio a vi u visa SATS (Biomialsatse).
Läs merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-16 Idag Mängder, avbildningar. Hashtabeller. Sortering. Pseudokod Blandning av programmeringsspråk, matematisk notation och naturligt
Läs merFöreläsning 4: Giriga algoritmer. Giriga algoritmer
Föreläsning 4: Giriga algoritmer Giriga algoritmer Denna typ av algoritmer arbetar efter följande princip: Gör i varje situation det som är lokalt optimalt, d.v.s. bäst för stunden. Några exempel vi redan
Läs merNÄR TYSTNADEN VÄSNAS. Projektet Anti Depp 2006-2009 Informationsbroschyr om tinnitus. Antidepp_broschyr.indd 1 28.8.2009 16:24:58
NÄR TYSTNADEN VÄSNAS Projetet Anti Depp 2006-2009 Informationsbroschyr om tinnitus Antidepp_broschyr.indd 1 28.8.2009 16:24:58 Helsingfors, 2009 Utgivare: Psyosociala förbundet rf Östanpåvägen 32 68660
Läs merAlgoritmteori - effektivitet
Algoritmteori - effektivitet Viktiga egenskaper hos algoritmer: korrekthet beräkningsbarhet - computability användbarhet - feasibility effektivitet elegans lättförståelighet underhållsvänlighet Problem:
Läs merRekursion. Att tänka rekursivt Att programmera rekursivt i Java Exempel. Programmeringsmetodik -Java 254
Rekursion Rekursion är en grundläggande programmeringsteknik M h a rekursion kan vissa problem lösas på ett mycket elegant sätt Avsnitt 11 i kursboken: Att tänka rekursivt Att programmera rekursivt i Java
Läs mer