Länkade listor Binära träd

Slides:



Advertisements
Liknande presentationer
13 jan feb apr jul jul nov feb okt nov dec 2006 Var får jag veta mer om EU? • På EU:s.
Advertisements

Avlusning Debugger (”avlusare”) Breakpoints Watch.
Relationsoperatorer Java/C# C/C++ Visual Basic FORTRAN PASCAL ORACLE
Svenska Akademins Ordbok (SAOB)
13 jan feb apr jul jul nov feb okt nov dec 2006 Antal ledamöter per medlemsland, Europavalet.
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
9. Gör ritningen innan Du bygger huset
Joomla © 2009 Stefan Andersson 1. Kontaktformulär  På varje seriös webbplats bör det finnas ett kontaktformulär.  Använd ej maillänkar, risk för spam!
10. Elementen i strukturerad programmering
Klasser och objekt.
1 Listor En sekvens värden av samma typ Nr 5. 2 Listor Sekvens av värden, element Variabelt antal Alla med samma typ Bara första elementet direkt åtkomligt.
Algoritmer och data strukturer -Länkade listor
Fortsättningskurs i Programmering lektion 6
Datatyper C# C/C++ Java VB Fortran Pascal bool boolean Boolean
Några standardalgoritmer
Filhantering Grundprincipen för filhantering Öppna filen
Binära Sökträd, kapitel 19
Föreläsning 6 Länkade lista Komplexitet Linjärsökning & binärsökning
Föreläsning 4 Python: mera om funktioner och parametrar
Programmeringsteknik för K och Media
Att programmera i språket Java
Tar fram v ur kön v = R(true,0,Null) och q = (). d = 0 Leta sedan fram grannarna = {A, B} För granne A: newDist = 0+4 = 4. Ej besökt. q = (A(true,4,R))
Växjö 22 april -04Språk & logik: Parsning med kontextfria grammatiker1 DAB760:Språk och logik: 22 aprilParsning Leif Grönqvist
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 5 Python: argument från kommando-tolken
Föreläsning 10 Länkade lista Stack och Kö Att arbeta med listor
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Hashing / Hash tabeller -- Kapitel 20. Hash? Varför en annan datastruktur? Konstant tid för både insert- och find- operationer.
Träd och tillämpningar Data Structures & Problem Solving using Java -- Kapitel 19, 12.
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2004.
Programmering B PHP Lektion 2
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering i C# 3. Klasser.
Repetition inför slutprovet
Programmering B PHP Lektion 2
Sveriges utrikeshandel (Andelar i procent) ImportExport EU (25) EFTA NAFTA Central- och Östeuropa Asien - Japan - Kina Övriga 59,9.
Vektorer (klassen Vector) Sortering
Polymorfism.
Räckvidd och synlighet. Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 22 Synlighet (meddelandesändning) Det.
:44 Mäklarpanelen maj För vilka är bostadsmarknaden mest fördelaktig just nu, d v s i vilken utsträckning är det.
Arv.
TÄNK PÅ ETT HELTAL MELLAN 1-50
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 1 De bifogade OH-bilderna är bara utkast till vad som kan vara.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
DD1311 P ROGRAMMERINGSTEKNIK MED PBL Föreläsning 9 Skolan för Datavetenskap och kommunikation.
Objektorientering.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 10 Stränghantering.
Logikprogrammering 21/10 Binära träd
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastructurer - Sökträd, naiva och balancerade lösningar -HashTable -- Kapitel.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
Träd -Allmänt om träd -Binärt träd -Filkomprimering med Huffman träd
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer - En annan sort tänkande, rekursiva metoder -Datastrukturen träd,
1 Föreläsning2 Operativsystem. 2 Talsystem Decimal (bas 10): 0,1,2,…,8,9 Binär talsystem (bas 2): endast 1 och 0 Hexadecimal talsystem (bas 16): 0,1,…9,A,…,E,F.
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
TILLÄMPAD DATALOGI (TILDA) Övningsgrupp 2 Marcus Hjelm
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Knappar och rutor. Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 22 System.ComponentModel System.Windows.Forms.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och Datastrukturer -- Kap 21,14 Prioritets Köer (Priority Queues ), Graph.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer Sökning, Symbol tabeller Binära sökträd.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastructurer - En annan sort tänkande, rekursiva metoder -Datastrukturen träd.
Föreläsning 8: Exempel och problemlösning
Föreläsning 5: Att använda klasser & objekt
Presentationens avskrift:

Länkade listor Binära träd Några datastrukturer Länkade listor Binära träd

Länkad lista PersonNod PersonNod PersonNod PersonNod nästa nästa nästa Person-post Person-post Person-post Person-post

Länkad lista: Print Print Global variabel: PersonNod första denna = första denna = null Skriv ut namn denna = denna.nästa false true Stopp

Länkad lista: Print (JSP) Global variabel: PersonNod första Print denna = första Iteration (denna <> null) * Skriv ut namn denna = denna.nästa

Skapa PersonNod nod för p Global variabel: PersonNod första Indata: Person p Add p.namn < första.p.namn false Skapa PersonNod nod för p förra = första true denna = första.nästa första är tom false nod.nästa = första p.namn < denna.p.namn true denna är tom false false första = nod första = nod true true förra.nästa = nod nod.nästa = denna förra = denna Stopp förra.nästa = nod denna = förra.nästa Stopp

Skapa PersonNod nod för p Add Iteration * Selektion (denna <> null) Global variabel: PersonNod första Indata: Person p Skapa PersonNod nod för p första = nod o - (första är tom) nod.nästa = första (p.namn < första.p.namn) förra = första denna = första.nästa nod.nästa = denna förra.nästa = nod AVBRYT förra = denna denna = förra.nästa förra.nästa = nod (p.namn < denna.p.namn)

förra.nästa = denna.nästa Remove Global variabel: PersonNod första Indata: string mål = namnet på den person vi söker förra = null denna = första mål = denna.p.namn denna = null false false förra = denna denna = denna.nästa true true förra = null false första = nod true första = denna.nästa förra.nästa = denna.nästa Stopp Stopp

Global variabel: PersonNod första Indata: string mål = namnet på den person vi söker Remove Förra = null denna = första Iteration (denna <> null) * Selektion förra = denna denna = denna.nästa (nästa.p.namn = mål) - o Selektion AVBRYT (förra = null) o o första = denna.nästa förra.nästa = denna.nästa

PersonNod PersonNod PersonNod PersonNod nästa nästa nästa Person-post Person-post Person-post Person-post

Binära träd PersonNod Person-post left right PersonNod PersonNod

Add Indata: Person p, Node nod p.namn > nod.p.namn nod.right = null true true nod.right = NyNod(p) false Add (p, nod.right) false p.namn < nod.p.namn nod.left = null true true nod.left = NyNod(p) false false Add (p, nod.left) Stopp

Add Indata: Person p, Node nod Selektion (p.namn > nod.p.namn) (p.namn < nod.p.namn) Höger o Vänster (nod.right = null) (nod.left = null) nod.right = NyNod(p) Add (p, nod.right) nod.left = NyNod(p) Add (p, nod.left)

Find Indata: string namn, Node nod p.namn = nod.p.namn true R = null R = nod.p false p.namn > nod.p.namn nod.right = null true true R = Find (namn, nod.right) false false p.namn < nod.p.namn nod.left = null true true R = Find (namn, nod.left) false false Returnera R

Find Indata: string namn, Node nod R = null Selektion returnera R (p.namn < nod.p.namn) (p.namn > nod.p.namn) (p.namn = nod.p.namn) Höger o Vänster Denna o (nod.right <> null) (nod.left <> null) R = nod.p R = Find (namn, nod.right) R = Find (namn, nod.left)