This preview shows pages 1–2. Sign up to view the full content.
03/27/09
18:38:38
1
26
CS 61B: Lecture 26
Monday, March 30, 2009
Today’s reading:
Representing Binary Trees

Recall that a binary tree is a rooted tree wherein no node has more than
two children.
Additionally, every child is either a _left_child_ or
a _right_child_ of its parent, even if its parent has only one child.
In the most popular binary tree representation, each tree node has three
references to neighboring tree nodes: a "parent" reference, and "left" and
"right" references for the two children.
(For some algorithms, the "parent"
references are unnecessary.)
Each node also has an "item" reference.
public class BinaryTreeNode {

public class BinaryTree {
Object item;

BinaryTreeNode root;
BinaryTreeNode parent;

int size;
BinaryTreeNode left;

}
BinaryTreeNode right;

public void inorder() {
if (left != null) {
left.inorder();
}
this.visit();
if (right != null) {
right.inorder();
}
}
}
================================================
+ BINARY TREE  
+
=============== 
 
+
+
.root
size7 
+
+
+
 
+
+

+
+
v
BinaryTree object
+
+

+
+
 * 
+
+

 +
+ Root node =>
add

parent
 +
+

 +
+
..

item
 +
+
/\
 +
+
/
^^ \
leftright +
+
v
/
\ v
 +
+
/
\
structure of +
+
 . 
 . 
BinaryTreeNodes +
+


+
+
sub
div
+
+


+
+
>..
..<
+
+
/ /
\ \
+
+
/ /
^
^
\ \
+
+
/ v
v
v
v \
+
+
+
+
+
+
+
+
 . 
 . 
 . 
 . 
+
+




+
+
 6 
 5 
 9 
 3 
+
+




+
+
**
**
**
**
+
+




+
================================================
BINARY SEARCH TREES
===================
An _ordered_dictionary_ is a dictionary in which the keys have a total order,
just like in a heap.
You can insert, find, and remove entries, just as with a
hash table.
But unlike a hash table, you can quickly find the entry with
minimum or maximum key, or the entry nearest another entry in the total order.
An ordered dictionary does anything a dictionary or binary heap can do and
more, albeit more slowly.
The simplest implementation of an ordered dictionary is a binary search tree,
wherein entries are maintained in a (somewhat) sorted order.
18
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview. Sign up
to
access the rest of the document.
This note was uploaded on 02/21/2010 for the course CS 61B taught by Professor Canny during the Spring '01 term at University of California, Berkeley.
 Spring '01
 Canny
 Data Structures

Click to edit the document details