träd och tillämpningar
DESCRIPTION
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, - PowerPoint PPT PresentationTRANSCRIPT
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, BinaryNode lt, BinaryNode rt){ element=theElement; left=lt; right=rt;}
}
elementleft
right
BinaryTree klassen
class BinaryTree{
}
private BinaryNod root;
public BinaryTree( Object item){root=new BinaryNode(item,null,null);
}
public BinaryTree(){root=null;
}
Tillämpning- Binära Sökträd(Vad är en sökträd?)
7
2
3
9
1151
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.
Är det ett sökträd?
7
2
3
9
1151
8
Operationer
Find() , findMin(), findMax() Insert() Remove()
Insert ()
7
2
3
9
1151
6
Insert ()
7
2
3
9
1151
6
Insert ()
7
2
3
9
1151
6
Insert ()
7
2
3
9
1151
6
Binära Sökträd – metoden find()-mycket kort söktid
Binära Sökträd – metoden findMax()-mycket kort söktid
Binära Sökträd – metoden findMin()-mycket kort söktid
Farliga specialfall!
Remove ()
7
2
3
9
1151
a) Om noden är löv
Remove ()
7
2
3
9
1151
b) Om noden har ett barn
Remove ()
7
2
3
9
1151
4
c) Om noden har två barn
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
Datakomprimering - Huffman
Hej, mitt namn är Nicolinaoch jag försöker få minastudenter att se tjusningeni träd ochkomprimeringsalgoritmer!
01001000 01100101 01101010 00101100 00100000 01101101 0110100101110100 01110100 00100000 01101110 01100001 01101101 0110111100100000 10000100 ...
01001000 01100101 01101010 00101100 00100000 01101101 0110100101110100 01110100 00100000 01101110 01100001 01101101 0110111100100000 10000100 ...
Datakomprimering - Huffman
1011110010
01111
01101
11100
1101101
10011
0011100
10 ...
101 1110 01001 111011 0111 1001101 10110 011001 1100 10 ...
Huffman träd, men hur?
a
d
b c
Datakomprimering - Huffman
0100110101101101001101011010100101010111
25 ggr
31 ggr
5 ggr
19 ggr
14 ggr
I
II
III
IV
V III
III IV
V
10
111000000101
I
II
III
IV
V
=
=
=
=
=