Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avKlara Åberg
1
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1
2
Datastrukturer och algoritmer VT 2003 2 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 2 Innehåll Kurspresentation Inblandade personer Administration Målsättning Förkunskaper Kursutvärdering Upplägg Översikt Föreläsning 1 Viktiga begrepp Kapitel 1 och 2 i kursboken
3
Datastrukturer och algoritmer VT 2003 3 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 3 Inblandade personer Föreläsare Anders Broberg Lena Kallin Westin (kursansvarig) Ulrika Hägglund Handledare Lena Kallin Westin Ulrika Hägglund
4
Datastrukturer och algoritmer VT 2003 4 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 4 Lena KW
5
Datastrukturer och algoritmer VT 2003 5 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 5 Ulrika H Anders B
6
Datastrukturer och algoritmer VT 2003 6 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 6 Administration Personer som inte haft en datoranvändare (xxx@cs.umu.se) på datavetenskap tidigare:xxx@cs.umu.se Fyll i vit blankett och prata med mig. Fyll i gul blankett för att få tillgång till labsalarna. Om detta är första kursen på UmU: Fyll i blå blankett också.
7
Datastrukturer och algoritmer VT 2003 7 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 7 Kursutvärdering 2 Kurser ifjol Bästa föreläsaren /Byt ut föreläsaren…? Byt bok/Grymt bra bok Rimligare krav Bättre ordning på OH-bilderna Mer programmeringsövningar Föreläsningarna drog ut på tiden
8
Datastrukturer och algoritmer VT 2003 8 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 8 Målsättningar Rolig och viktig kurs Kanske en Topp-3 kurs? Bli en bättre programmerare och inse att man blivit det Känna till kända lösningar på typiska problem Konstruera robusta och korrekta program Konstruera och beskriva algoritmer och datatyper Förstå komplexitetsbegreppet Tid och rum
9
Datastrukturer och algoritmer VT 2003 9 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 9 Vad krävs för att nå dit? Ge kursen en ärlig chans Läs boken, förstå vad som står där Delta på föreläsningar Gör (grupp)övningar Börja med laborationerna i tid Utnyttja handledningen Säg till om det är något som inte funkar
10
Datastrukturer och algoritmer VT 2003 10 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 10 Förkunskaper Kunna implementera en godtycklig algoritmbeskrivning i JAVA/C
11
Datastrukturer och algoritmer VT 2003 11 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 11 Websajten http://www.cs.umu.se/kurser/TDBA36/VT03_2/ Schema Uppdateringar Formalia Resultatredovisning Gruppövningar Föreläsningar oIntroduktion, OH-bilder, läsanvisningar Gamla tentor
12
Datastrukturer och algoritmer VT 2003 12 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 12 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 En gruppövning i datorlabbet
13
Datastrukturer och algoritmer VT 2003 13 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 13 Gruppövningar Gruppövning 1: Implementering av en länkad lista och debugging Gruppövning 2: Fält, tabeller, stackar och köer Gruppövning 3: Komplexitetsanalys Gruppövning 4: Träd, Heap, Prioritetskö, Grafer och grafalgoritmer Gruppövning 5: Sökträd, Trie, Mängd, Lexikon Gruppövning 6: Gammal tenta
14
Datastrukturer och algoritmer VT 2003 14 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 14 Examination Tre stycken obligatoriska uppgifter Implementera tabeller Implementera en router Analysera tre algoritmer oExperimentellt oAsymptotiskt (gruppövning) Alla löses individuellt 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”
15
Datastrukturer och algoritmer VT 2003 15 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 15 Innehållsöversikt Algoritmer Komplexitetsanalys, tid och rum Designprinciper Exekvering, implementering, underhåll Abstrakta datatyper Stack, Kö, Listor, Träd, Graf, Prioritetskö, Heap, Tabell, Sträng, Mängd, Sökträd, Tries, mm Modell, Organisation, Specifikation, Gränsyta Olika grundbegrepp Implementation, komplexitetsanalys Tillämpningar
16
Datastrukturer och algoritmer VT 2003 16 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 16 Innehållsöversikt forts… Sökning och traversering Olika metoder och hur dom passar i olika lägen Kan sökmetoderna ställa krav på implementationen av ADT och i så fall vilka? Sortering Sorterad ADT vs sortering av data 5-6 olika algoritmer, analys Design av algoritmer Olika algoritmtyper som brute force, divide and conquer, greedy och dynamiska Exempel och typiska användnings- områden För- och nackdelar
17
Datastrukturer och algoritmer VT 2003 17 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 17 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
18
Datastrukturer och algoritmer VT 2003 18 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 18 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å
19
Datastrukturer och algoritmer VT 2003 19 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 19 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++
20
Datastrukturer och algoritmer VT 2003 20 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 20 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
21
Datastrukturer och algoritmer VT 2003 21 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 21 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 ??? oSkruvmejslar med olika spetsar
22
Datastrukturer och algoritmer VT 2003 22 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 22 Gränssnitt Separerar Funktion och implementation Användning och skapande Specifikation och konstruktion Finns i datavetenskapen Mellan centralenheter och periferienheter Mellan människan och maskinen Mellan mjukvarukomponenter oFunktioner/metoder oDatatyper oetc…
23
Datastrukturer och algoritmer VT 2003 23 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 23 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
24
Datastrukturer och algoritmer VT 2003 24 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 24 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.