Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avMalin Blomqvist
1
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1
2
Datastrukturer och algoritmer VT 2005 2 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 2 Innehåll Kurspresentation Inblandade personer Målsättning Förkunskaper Kursutvärdering Upplägg Översikt Föreläsning 1 Viktiga begrepp
3
Datastrukturer och algoritmer VT 2005 3 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 3 Inblandade personer Föreläsare Anders Broberg (kursansvarig) Gruppövningar ?? Handledare Peter Markus Erik Tommy
4
Datastrukturer och algoritmer VT 2005 4 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 4 Kursutvärdering från ifjol, och förfjol 1 Kurs med ca 120 studenter Bra föreläsare, dock lite oförberedd ibland Dumt att byta bok mitt i kursen Rimligare krav Bra tempo på föreläsningarna, lite segt ibland
5
Datastrukturer och algoritmer VT 2005 5 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 5 Intryck Överlag så var det mycket positiva intryck från studenterna Bra upplägg Man har lärt sig grymt mycket Men... Tunga laborationer och svårtolkad lab.
6
Datastrukturer och algoritmer VT 2005 6 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 6 Så... Vi har sett över laborationerna ett par gånger Bytt bok till i år tillbaka till Janlert & Wibergs bok Sett över gruppövningarna
7
Datastrukturer och algoritmer VT 2005 7 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 7 Laborationer Tre stycken Implementera tabeller (individuell) Implementera en router (2 och 2) Analysera tre algoritmer oExperimentellt (individuell) oAsymptotiskt (gruppövning)
8
Datastrukturer och algoritmer VT 2005 8 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 8 Liten undersökning om programmering Sätt er efter programtillhörighet Hur roligt är programmering, gradera er efter en skala: oDet roligaste som finns oRoligare än det mesta oAceptabelt oTråkigare än det mesta oDet tråkigaste som finns Flytta om er inom programtillhörighet
9
Datastrukturer och algoritmer VT 2005 9 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 9 Liten undersökning om programmering fortsättning Vad är det som gör att ni känner det ni gör? Vad är det som gör det så roligt? Varför är det så himla tråkigt?
10
Datastrukturer och algoritmer VT 2005 10 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 10 Mina målsättningar En Topp-3 kurs Alla ska höja sig ett par snäpp som programmerare, och inse att man har gjort det Förstå komplexitetsbegreppet Tid och rum Rolig kurs
11
Datastrukturer och algoritmer VT 2005 11 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 11 Era målsättningar
12
Datastrukturer och algoritmer VT 2005 12 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 12 Vad krävs för att nå dit? Ge kursen en ärlig chans Kom i tid till föreläsningarna Läs boken, förstå vad som står där Gör övningar Börja med laborationerna i tid Utnyttja handledningen Säg till om det är något som inte funkar
13
Datastrukturer och algoritmer VT 2005 13 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 13 Förkunskaper Kunna implementera en godtycklig algoritmbeskrivning i JAVA/C
14
Datastrukturer och algoritmer VT 2005 14 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 14 Gruppövningar Till varje föreläsning finns det övningar från boken Vissa utvalda räknar vi på gruppövningarna Sitter i smågrupper och hjälper varandra
15
Datastrukturer och algoritmer VT 2005 15 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 15 Gruppövningar 2 Gruppövning 1: Implementering av en länkad lista och debugging Gruppövning 2: Komplexitetsanalys Gruppövning 3 och 4: Fält, tabeller, stackar och köer Träd, grafer och grafalgoritmer Sökträd, Trie, Heap, Mängd, Lexikon och Prioritetskö
16
Datastrukturer och algoritmer VT 2005 16 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 16 Tentan Tvådelad tentamen (Måste vara godkänd på båda delarna). En begreppsdel oFörklara kortfattat ett antal begrepp En förståelsedel oFrågor där man får visa att man förstått kursen – ”hur saker och ting hänger ihop”
17
Datastrukturer och algoritmer VT 2005 17 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 17 Websajten http://www.cs.umu.se/kurser/TDBA36/VT06/ http://www.cs.umu.se/kurser/TDBA36/VT06/ Schema Uppdateringar Formalia Resultatredovisning Gruppövningar Föreläsningar oIntroduktion, OH-bilder, läsanvisningar Gamla tentor
18
Datastrukturer och algoritmer VT 2005 18 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 18 Datastrukturer & Algoritmer
19
Datastrukturer och algoritmer VT 2005 19 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 19 Tänket viktigt!
20
Datastrukturer och algoritmer VT 2005 20 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 20 Innehållsöversikt Algoritmer Komplexitetsanalys, mm Designprinciper Abstrakta datatyper Stack, Kö, Listor, Träd, Graf, P-kö. Heap. Tabell, Sträng, Mängd, Sökträd, Tries, mm Sökning Olika metoder och hur dom passar i olika lägen Sortering 5-6 olika algoritmer, analys
21
Datastrukturer och algoritmer VT 2005 21 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 21 Algoritmer Tids och rumsfrågor Exekvering, implementering, underhåll Tid vs rumskomplexitet Analys av exekveringstider oOlika sätt, vad de står för och +/- –Experimentell –Asymptotisk oT(n) för em alg => O(n) –Primitiva operationer –Okulärbesiktning oAtt beskriva algoritmer
22
Datastrukturer och algoritmer VT 2005 22 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 22 Abstrakta Datatyper Beskrivningssätt Organisation, Modell Gränsytan (formell, informell) Grundbegrepp Vad är en organisation, sorterad ADT, mm Primär vs. sekundär struktur Absolut vs. relativ komplexitet Sätt att implementera +/-, när var hur Komplexitet för de viktigaste operationerna Vart hittar vi ADT typiskt Hur olika ADT hänger ihop med varandra Algoritmer på ADT
23
Datastrukturer och algoritmer VT 2005 23 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 23 Sökning (traversering) Vad är traversering Olika metoder för sökning i sekvenser Linjär & Binär +/- Ställer de några krav på implementationen av ADTn
24
Datastrukturer och algoritmer VT 2005 24 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 24 Sortering Varför sorterar vi? Sorterad ADT vs sortering av data Sökningen blir snabbare…ibland Hur kan vi sortera (olika former) +/- När passar dom? Känna till någon bra alg. Bra Stabil sortering
25
Datastrukturer och algoritmer VT 2005 25 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 25 Design av algoritmer Idéer till 4 olika algoritmtyper Brute force, D&C, Greedy och dynamisk programmering Exempel på varje +/- Typiska användningar
26
Datastrukturer och algoritmer VT 2005 26 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 26 Föreläsning 1 Att bygga program ≈ bygga broar Brobygge Specifikation Beskrivning Material Verktyg Uppföljning
27
Datastrukturer och algoritmer VT 2005 27 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 27 Att bygga program ≈ bygga hus/broar Husbygge Specifikation/Beskrivning Material Verktyg Utvärdering/uppföljning Programmering Problembeskrivning Systemdesign Modelleringsverktyg oDatatyper – representera datat i programmet oAlgoritmer – stegvis plan för att utföra något, modellera hur man löser problemet oKontrollstrukturer – för att modellera flödet Utvärdering/uppföljning oKomplexitetsanalys oValideringskriterier
28
Datastrukturer och algoritmer VT 2005 28 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 28 Metaforer för programbyggnad Instruktionsmetaforen Programmeraren är en arbetsledare som ger instruktioner till datorn som den sedan följer i tur och ordning till punkt och pricka. Problemlösningsmetaforen Vad ska göras och hur ska det göras? Programmeraren löser problemet (skriver en algoritm) som sedan implementeras. Adaptionsmetaforen Programmet är ett objekt som ingår och interagerar med en miljö. Programmet anpassas till miljön gradvis Låg nivå nära datorn Hög nivå
29
Datastrukturer och algoritmer VT 2005 29 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 29 Datavärldsbilder Manipulativa ansatsen Hantverksmetafor, man har ett (passivt) objekt som bearbetas steg för steg tills man nått målet. Imperativa språk som C, Pascal, Modula, Ada Funktionella ansatsen Matematisk funktionsmetafor, man ändrar aldrig ett objekt. Resultatobjekten är avbildningar av startobjekten. Funktionella/relationella språk som ML, Lisp, Prolog Objektorienterade ansatsen Objekten har själv egenskaper och beteenden och interagerar med andra objekt. Händelsestyrd programmering. Objektorienterade språk som Java, C++
30
Datastrukturer och algoritmer VT 2005 30 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 30 Kursens (och bokens) strategi: Att beskriva datastrukturer och ansatser så neutralt som möjligt. Detta gör att kunskaperna blir mer generella och allmänt tillämpbara. Språkoberoende Flesta studenterna har Java som bakgrund, några har C som bakgrund. Kan själv välja språk på labbarna Oftast pseudokod på föreläsningarna
31
Datastrukturer och algoritmer VT 2005 31 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 31 Gränssnitt Vad är ett gränssnitt? Kontaktyta Gränsen mellan två eller flera delar Överenskommelse - oberoende av vem, vart, hur ska det ”passa” oMusköten 1700-talet oLego Uppmuntrar till lösaktighet oSkruvmejslar med olika spetsar
32
Datastrukturer och algoritmer VT 2005 32 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 32 Gränssnitt Separerar Funktion och implementationen Användning och skapandet Specifikationen och konstruktionen
33
Datastrukturer och algoritmer VT 2005 33 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 33 Gränssnitt i ”datavetenskapen” Mellan centralenheter och periferienheter Mellan människan och maskinen Mellan mjukvarukomponenter Funktioner/metoder Datatyper Datakommunikation Distribuerade system
34
Datastrukturer och algoritmer VT 2005 34 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 34 Begrepp Datatyper = op. + obj. Vilka objekt är det? oVad vill vi modellera/representera/ abstrahera Vad kan man göra med dem? oVilka operationer/metoder
35
Datastrukturer och algoritmer VT 2005 35 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 35 Begrepp Data - objekten som bär information Datatyp - ”värdemängd” samt operationer Enkel (heltal) Sammansatt (Lista av heltal) oHomogen vs. Heterogen Fysisk - Implementerad i språket/hårdvaran Abstrakt - När man inte är intresserad av om/hur den är implementerad i språk/hårdvara Konstruerad – när man beskrivit hur man skulle representera objekten och operationer Implementerad - komplett konstruerad från grunden (fysiska datatyper) och redo att användas i ett program Konkret = Fysiska, implementerade eller konstruerade datatyper Struktur – det som finns kvar när man bortser från elementvärdem
36
Datastrukturer och algoritmer VT 2005 36 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 36 Beskrivningssätt Modell - vardaglig, ”det man modellerar” Kö Organisation Den grundläggande naturen på objekten, linjärt ordnade, före och efter relation etc. Informell beskrivning Gränsytan (nödvändig och minimal, kraftfull) Informell beskrivning av operationernas funktion Signaturdiagram Formell beskrivning - rent matematisk-logisk Konstruktioner och implementationer Komplexitetsanalys Tillämpningar och algoritmer
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.