Träd och tillämpningar

Preview:

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 Presentation

Citation preview

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

=

=

=

=

=

Recommended