© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1.

Slides:



Advertisements
Liknande presentationer
Att identifiera och utveckla ledare
Advertisements

Talföljder formler och summor
Här ser ni några sidor som hjälper er att lösa uppgifterna:
Matematik med föräldrar
Relationsdatabasdesign
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 4.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
MS Excel 2010 – Dag 2 Mahmud Al Hakim
Datavetenskapens roll. Datavetenskap •Vad är datavetenskapens roll i kognitionsvetenskapen?
1 Medarbetarenkät 2011 • 573 svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
BENÄMNA lätta ord SPRÅKTRÄNING VID AFASIKg VIII
Leif Håkansson’s Square Dancer Rotation
Föreläsning 7 Analys av algoritmer T(n) och ordo
Eddie Arnold - Make The World Go Away Images colorées de par le monde Déroulement automatique ou manuel à votre choix 1 för dig.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 4.
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
IT och kommunikationsvetenskap Teresa Cerratto Pargman, DSV
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
Att programmera i språket Java
Introduktion Logikprogrammering HT-02 Staffan Larsson.
LANDSTINGSDIREKTÖRENS STAB Regional utveckling BILD 1 Resultat av enkät till landstingspolitiker
Datastrukturer och algoritmer
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 6 Asymtotisk analys.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 7 Träd.
Kommunpussel Din uppgift är att sortera de organisatoriska delar på nästa sida på ett sådant sätt att det överensstämmer med hur din kommun är organiserad.
Datastrukturer och algoritmer
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2007.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning l5 Abstrakta datatyper och algoritmdesign.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Programmering B PHP Lektion 2
Programmering B PHP Lektion 3
RIALTO Jenny Alvolin Barn- och ungdomsombud Broschyren: Kartläggning av barnets förmågor och behov. Underlätta för barnets vistelse i fsk/skola.
TÄNK PÅ ETT HELTAL MELLAN 1-50
Grundskolan år 9 Droger och spel 2008 BILD 1 Elever som röker (dagligen eller ibland)
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Listor En lista är en föränderlig ordnad samling objekt.
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Känna till och ha provat metoder och verktyg för processledning
OOPJ I, 5p Objektorienterad Programmering i Java.
1(31) Ett omdiskuterat ämne. Vad är det som händer? 2.
För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- -Algoritm analys och sökning algoritmer- Kap 5 -Algoritmer och.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Högskoleverkets kvalitetskonferens i Umeå 2007
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
Prioritets Köer (Priority Queues ), Graph Data Structures & Problem Solving using Java --Kap 21,14.
Gymnasieskolan år 2 Droger och spel 2008 BILD 1 Elever som röker (dagligen eller ibland)
Här är ditt liv, Bertil! 15/
Ingenjörsmetodik IT & ME 2008
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
Presentation of I. Name: Disputerat nu vår Forskningsintresset är:
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 16.
Datastrukturer och algoritmer
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
Introduktion. Administration Jag, B448, , Kursböcker enligt webben Schema enligt webbenwebben Laborationer 23, 29/10 + 7/11 kl
Bild 1 Prognos för länets arbetsmarknad Stefan Tjb.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Program. Symboliska samband Symboliska beteenden Matematisk kausalitet (orsak – verkan) 2x = y, y = x^2, y = kx + l.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 15: Parallella subrutiner Parallellitet Processer och trådar Semaforer, monitorer och synkroniseringsmeddelanden.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 13 Sortering.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Gruppövning 0.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 14.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 14.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 8 Relationer, prioritetsköer och grafer.
Föreläsning 1 Introduktion till kursen. Algoritmer
Föreläsningsanteckningar Kortfattat om programmeringsmetodik Ola Ågren Hur det går till att göra ett program.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 16.
Presentationens avskrift:

© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Innehåll  Kurspresentation  Inblandade personer  Målsättning  Förkunskaper  Kursutvärdering  Upplägg  Översikt  Föreläsning 1  Viktiga begrepp

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Inblandade personer  Föreläsare  Anders Broberg (kursansvarig)  Gruppövningar  ??  Handledare  Peter  Markus  Erik  Tommy

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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.

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Så...  Vi har sett över laborationerna ett par gånger  Bytt bok till i år tillbaka till Janlert & Wibergs bok  Sett över gruppövningarna

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Laborationer  Tre stycken  Implementera tabeller (individuell)  Implementera en router (2 och 2)  Analysera tre algoritmer oExperimentellt (individuell) oAsymptotiskt (gruppövning)

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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?

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Era målsättningar          

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Förkunskaper  Kunna implementera en godtycklig algoritmbeskrivning i JAVA/C

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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ö

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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”

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Websajten   Schema  Uppdateringar  Formalia  Resultatredovisning  Gruppövningar  Föreläsningar oIntroduktion, OH-bilder, läsanvisningar  Gamla tentor

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Datastrukturer & Algoritmer

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tänket viktigt!

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Design av algoritmer  Idéer till 4 olika algoritmtyper  Brute force, D&C, Greedy och dynamisk programmering  Exempel på varje  +/-  Typiska användningar

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Föreläsning 1  Att bygga program ≈ bygga broar  Brobygge  Specifikation  Beskrivning  Material  Verktyg  Uppföljning

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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å

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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++

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Gränssnitt  Separerar  Funktion och implementationen  Användning och skapandet  Specifikationen och konstruktionen

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Gränssnitt i ”datavetenskapen”  Mellan centralenheter och periferienheter  Mellan människan och maskinen  Mellan mjukvarukomponenter  Funktioner/metoder  Datatyper  Datakommunikation  Distribuerade system

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Begrepp  Datatyper = op. + obj.  Vilka objekt är det? oVad vill vi modellera/representera/ abstrahera  Vad kan man göra med dem? oVilka operationer/metoder

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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

Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 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