Presentation laddar. Vänta.

Presentation laddar. Vänta.

Länkade listor Binära träd

Liknande presentationer


En presentation över ämnet: "Länkade listor Binära träd"— Presentationens avskrift:

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

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

3 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

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

5 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

6 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)

7 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

8 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

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

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

11 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

12 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)

13 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

14 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)


Ladda ner ppt "Länkade listor Binära träd"

Liknande presentationer


Google-annonser