1 / 21

Träd och tillämpningar

Träd och tillämpningar. Data Structures & Problem Solving using Java -- Kapitel 19 , 12. Implementation- noden. class BinaryNode{ private Object element; private BinaryNode left; private BinaryNode right; public BinaryNode( Object theElement,

Download Presentation

Träd och tillämpningar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Träd och tillämpningar Data Structures & Problem Solving using Java -- Kapitel 19 , 12

  2. Implementation- noden class BinaryNode{ private Object element; private BinaryNode left; private BinaryNode right; public BinaryNode( Object theElement, BinaryNode lt, BinaryNode rt){ element=theElement; left=lt; right=rt; } } element left right

  3. BinaryTree klassen class BinaryTree{ } private BinaryNod root; public BinaryTree( Object item){ root=new BinaryNode(item,null,null); } public BinaryTree(){ root=null; }

  4. Tillämpning- Binära Sökträd(Vad är en sökträd?) 7 2 9 11 1 5 3 Ett binärt träd där, för vilken som hälst nod i trädet alla noder som innehåller ett värde mindre än sin egen värde befinner sig i det vänsta delträdet och alla noder som innehåller ett värde som är större än sin värde befinner sig i det högra delträdet.

  5. Är det ett sökträd? 7 2 9 11 1 5 8 3

  6. Operationer • Find() , findMin(), findMax() • Insert() • Remove()

  7. Insert () 6 7 2 9 11 1 5 3

  8. Insert () 6 7 2 9 11 1 5 3

  9. Insert () 6 7 2 9 11 1 5 3

  10. Insert () 7 2 9 6 11 1 5 3

  11. Binära Sökträd – metoden find()-mycket kort söktid

  12. Binära Sökträd – metoden findMax()-mycket kort söktid

  13. Binära Sökträd – metoden findMin()-mycket kort söktid

  14. Farliga specialfall!

  15. Remove () a) Om noden är löv 7 2 9 11 1 5 3

  16. Remove () b) Om noden har ett barn 7 2 9 11 1 5 3

  17. Remove () c) Om noden har två barn 7 2 3 9 11 1 5 3 Ersätt värdet i noden med den minsta värdet i i det högra delträdet och sedan ta bort den noden 4

  18. Datakomprimering - Huffman Hej, mitt namn är Nicolina och jag försöker få mina studenter att se tjusningen i träd och komprimeringsalgoritmer! 01001000 01100101 01101010 00101100 00100000 01101101 01101001 01110100 01110100 00100000 01101110 01100001 01101101 01101111 00100000 10000100 ...

  19. 01 11 10 001 101 011 1101 111 100 011 1100 1110 01 101 010 10 ... 101 01 011 11 1101 10 001 1110 111 01 100 101 011 1100 010 10 ... Datakomprimering - Huffman 01001000 01100101 01101010 00101100 00100000 01101101 01101001 01110100 01110100 00100000 01101110 01100001 01101101 01101111 00100000 10000100 ...

  20. Huffman träd, men hur? a d b c

  21. 0 1 V II I III IV Datakomprimering - Huffman I 25 ggr 01001101 II 31 ggr 01101101 III 5 ggr 00110101 IV 19 ggr 10101001 V 14 ggr 01010111 I = 11 II 10 = III 000 = IV 001 = V 01 =

More Related