# 6 1 3 10 10 10 2 1 0 6 x 100+ 1 x 10 + 3 x 1 =613 base 10 digits {0...9} base 10 digits {0...9}

Post on 23-Dec-2015

217 views

Embed Size (px)

TRANSCRIPT

- Slide 1
- 6 1 3 10 10 10 2 1 0 6 x 100+ 1 x 10 + 3 x 1 =613 Base 10 digits {0...9} Base 10 digits {0...9}
- Slide 2
- 1 1 0 1 22 21 2 2 03 1 x 8+ 1 x 4+ 0 x 2+ 1 x 1 = 13 Base 2 digits {0, 1} Base 2 digits {0, 1}
- Slide 3
- The binary equivalents of some decimal numbers.
- Slide 4
- parent Left child right child A binary tree consists of a set of nodes each of which can have at most two children.
- Slide 5
- root leaf The top node of the tree is called the root. A leaf is a node with no descendants.
- Slide 6
- 1 1 0 1 22 21 2 2 03 The binary digits (bits) in the computers memory are initially set to zero. To represent a number, the appropriate bits are set to 1. 0000 13 (dec)
- Slide 7
- 4 (dec) = Multiplying by 2 in machine language is accomplished by shifting left one bit. 000100
- Slide 8
- 4 (dec) = 8 (dec) = Multiplying by 2 in machine language is accomplished by shifting left one bit. 000100 001000
- Slide 9
- 4 (dec) = 8 (dec) = 16 (dec) = Multiplying by 2 in machine language is accomplished by shifting left one bit. 000100 001000 010000
- Slide 10
- 4 (dec) = 8 (dec) = 16 (dec) = 000100 001000 010000 5 (dec) = 9 (dec) = 17 (dec) = 000101 001001 010001 We obtain the next integer by adding a 1 to the binary number.
- Slide 11
- n 2n2n+1 Construct a tree using the following: If the parent s node number is n, the left childs is 2*n and the right childs is 2*n + 1.
- Slide 12
- 1 We assign 1 to the roots node number
- Slide 13
- 1 2 Then, the left childs node number is 2
- Slide 14
- 1 2 3 And the right childs node number is 3.
- Slide 15
- 1 23 4567 0 A graphical way of getting the binary equivalents of decimal numbers. Place a 0 on each left edge.
- Slide 16
- 1 23 4567 0 0
- Slide 17
- 1 23 4567 0 0 0
- Slide 18
- 1 23 4567 0 0 1 0 A graphical way of getting the binary equivalents of decimal numbers. Place a 0 on each left edge and a 1 on each right edge of a binary tree.
- Slide 19
- 1 23 4567 0 0 1 1 0
- Slide 20
- 1 23 4567 0 0 1 1 10
- Slide 21
- 1 23 4567 0 0 To convert 5 to binary, start by writing the lower-most 1 on the path from node 5 to the root. 1 1
- Slide 22
- 1 23 4567 0 0 To the left of the 1, write the digit for the next edge on the upward path to the root, namely, 0. 1 0101
- Slide 23
- 1 23 4567 0 0 Finally, to the left of the 0, place a 1. This represents the node number of the root, 1, which is the same in binary and decimal. 1 101
- Slide 24
- 1 23 4567 0 0 1 1 10 100101110111 The node numbers at the leaves converted to binary numbers.
- Slide 25
- 1 23 4567 0 0 1 1 10 100101110111 1011 1 Placing a 0 on each left edge is equivalent to shifting left, ie., multiplying by 2. Placing a 1 on the right edge means you are adding 1 to the left childs value.
- Slide 26
- 67 33 1 Express 67 in decimal 1 (bin)
- Slide 27
- 67 33 16 1 1 11 (bin)
- Slide 28
- 67 33 16 8 1 1 0 011 (bin)
- Slide 29
- 67 33 16 8 4 1 1 0 0 0011 (bin)
- Slide 30
- 67 33 16 8 4 2 1 1 0 0 0 00011 (bin)
- Slide 31
- 67 33 16 8 4 2 1 1 1 0 0 0 0 000011 (bin)
- Slide 32
- 67 33 16 8 4 2 1 1 1 0 0 0 0 67 (dec) = 1000011 (bin) Place 1 at the left since the root node contains 1.
- Slide 33
- The ascii code in decimal and binary for some characters. Thus it requires 7 bits to represent each character. American Standard Code for Information Interchange
- Slide 34
- a c b Symbol a: 0 0 0 1 Symbol b: 00 Symbol c : 1 The code 001 can be decoded as aac or bc. Thus the code is ambiguous.
- Slide 35
- a Symbol a: 0 0 Symbol b: 01 The code 01 is decoded as b. Before, however, you reach the end of the string 01, you would think that 0 corresponds to a. The code requires you to scan ahead. This is called non-instantaneous code and is inefficient as coding scheme. b 1
- Slide 36
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 If the characters are only in the leaves, the code is unique and instantaneous. Such a code exhibits the prefix property.
- Slide 37
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 Lets decode 10001
- Slide 38
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001
- Slide 39
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001 c c
- Slide 40
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001 c c
- Slide 41
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001 c c
- Slide 42
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001 ca
- Slide 43
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001 ca
- Slide 44
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001 ca
- Slide 45
- a b c 0 0 1 1 Symbol a: 00 Symbol b: 01 Symbol c: 1 10001 cab
- Slide 46
- Letters occurring in a paragraph and their frequency of occurrence. How can we encode these letters so that the resultant code is minimal?
- Slide 47
- b, 2h, 4g, 9a, 11 A list of nodes containing the letters and frequencies. The list is sorted by frequency.
- Slide 48
- b, 2h, 4 g, 9a, 11 Remove the first two nodes, add their frequencies, and create a parent node with that frequency. Letters will appear in only the leaves of the final tree. *, 6
- Slide 49
- b, 2h, 4 g, 9a, 11 Insert the parent node with its children in its sorted position in the list. This type of list and its operations is called a priority queue. *, 6
- Slide 50
- b, 2h, 4 g, 9 a, 11 *, 6 *, 15 Remove the first two nodes again, add their frequencies, and create a parent node with that frequency.
- Slide 51
- b, 2h, 4 g, 9 a, 11 *, 6 *, 15 Insert the parent node with its children in its sorted position in the list.
- Slide 52
- b, 2h, 4 g, 9 a, 11 *, 6 *, 15 By continuing the process, we get the final tree. The leaves are the only nodes containing letters. *, 26
- Slide 53
- bh g a This tree is called a Huffman tree. Here it is shown with only the leaves labeled.
- Slide 54
- bh g a Label the edges with 0s and 1s as we did for the binary numbers. 0 0 0 1 1 1
- Slide 55
- bh g a The letters with their Huffman codes. The letters with the higher frequencies have smaller Huffman codes. 0 0 0 1 1 1
- Slide 56
- bh g a Lets decode 100011 0 0 0 1 1 1
- Slide 57
- bh g a 100011 0 0 0 1 1 1
- Slide 58
- bh g a 0 0 0 1 1 1
- Slide 59
- bh g a 0 0 0 1 1 1
- Slide 60
- bh g a 100011 We hit a leaf, print letter, 0 0 0 1 1 1 Resultant code: b
- Slide 61
- bh g a 100011 We hit a leaf, print letter & return to root. 0 0 0 1 1 1 Resultant code: b
- Slide 62
- bh g a 100011 We hit a leaf, print letter 0 0 0 1 1 1 Resultant code: ba
- Slide 63
- bh g a 100011 We hit a leaf, print letter & return to root. 0 0 0 1 1 1 Resultant code: ba
- Slide 64
- bh g a 100011 0 0 0 1 1 1 Resultant code: ba
- Slide 65
- bh g a 100011 We hit a leaf and print letter. 0 0 0 1 1 1 Resultant code: bag
- Slide 66
- bag : 100011 in Huffman code bag : 1100010 bag : 100011 in Huffman code bag : 1100010
- Slide 67
- bag : 100011 in Huffman code bag : 11000101100001 bag : 100011 in Huffman code bag : 11000101100001
- Slide 68
- bag : 100011 in Huffman code bag : 110001011000011100111 in ascii code bag : 100011 in Huffman code bag : 110001011000011100111 in ascii code
- Slide 69
- 12,b13,h 7,g 2,a If you number the nodes as we did when we converted decimal to binary, you can get the Huffman code from the node numbers.
- Slide 70
- 12,b13,h 7,g 2,a The Huffman code is obtained from the binary by removing the leading 1.
- Slide 71
- "Baseball's Sad Lexicon" These are the saddest of possible words: "Tinker to Evers to Chance." Trio of bear cubs, and fleeter than birds, Tinker and Evers and Chance. Ruthlessly pricking our gonfalon bubble, Making a Giant hit into a double-- Words that are heavy with nothing but trouble: "Tinker to Evers to Chance." Franklin Pierce Adams http://memory.loc.gov/ammem/bbhtml/bb1.html

Recommended

View more >