How can we help?

You can also find more resources in our Help Center.

Test a Binary Tree

Heap

Removal of item in Heap

Insert in a Heap

use In order traversal... after several deletions and insertions…

is a complete Binary Tree... it's root holds the Minimum element…

Remove Root node... replace Root with LIH(last in heap)... while(LI…

Insert into last space in heap or bottom... while (Node > paren…

Test a Binary Tree

use In order traversal... after several deletions and insertions…

Heap

is a complete Binary Tree... it's root holds the Minimum element…

Binary Trees

Implementation Strategies

Node-and-link based

Array based

Order of 2

Node-and-link based; Array based

Implementation matches our conceptual picture of what a tree…

Implementation could use far too much space; store the root a…

Binary Trees

Order of 2

Implementation Strategies

Node-and-link based; Array based

LT and RT

Struct of Binary tree node

Height of a binary tree

Copy tree

Subtree names

Template <class elemType>... {... elemType info;... Struct binaryTreeN…

Count the nodes from the root to the lowest child

Shallow Copy of binary tree

LT and RT

Subtree names

Struct of Binary tree node

Template <class elemType>... {... elemType info;... Struct binaryTreeN…

Binary Tree

Root

Left subtree

Right subtree

Finite set of nodes that is either empty and consists of a ro…

The first node in a binary tree which contains two trees link…

A subtree on the left of its parent and has to be less than o…

A subtree that is larger than its parent tree.

Binary Tree

Finite set of nodes that is either empty and consists of a ro…

Root

The first node in a binary tree which contains two trees link…

public class BinaryTree<E> {

BinaryTree(){

BinaryTree(E item){

BinaryTree(E item, BinaryTree<E> left,…

protected E data;... protected BinaryTree<E> left,right;

data = null;... left = right = null;... }

data = item;... left = new BinaryTree<E>();... right = new Binary…

data = item;... this.left = left;... this.right = right;... }

public class BinaryTree<E> {

protected E data;... protected BinaryTree<E> left,right;

BinaryTree(){

data = null;... left = right = null;... }

Tree

Binary Tree and it's major operations

preorder

postorder

empty, or it has a node called the root, followed by zero or…

preorder, inorder, postorder, level-order, height, and Size (…

left child, root, right child

children, then root

Tree

empty, or it has a node called the root, followed by zero or…

Binary Tree and it's major operations

preorder, inorder, postorder, level-order, height, and Size (…

Binary Search Tree

Root

Smaller

Larger

(what) are linked structures that are designed to address som…

The BST has a (what) node analogous to the head pointer in a…

Data in the BST is ordered such that the data in all children…

Data in the BST is ordered such that the data in all children…

Binary Search Tree

(what) are linked structures that are designed to address som…

Root

The BST has a (what) node analogous to the head pointer in a…

root

children

leaf

subtree

The first node in a binary tree is called the _______.

A binary tree node's left and right pointers point to the nod…

A node with no children is called a(n) _____.

A(n) _______ is an entire branch of the tree, from one partic…

root

The first node in a binary tree is called the _______.

children

A binary tree node's left and right pointers point to the nod…

What kind of search is swift built-in…

What's the performance of binary search?

What's the downside of binary search?

What is the key property of binary sea…

In Swift, .indexOf() is linear search.

O(logn)

The array needs to be sorted.

Sorted. Left child always smaller than right child.

What kind of search is swift built-in…

In Swift, .indexOf() is linear search.

What's the performance of binary search?

O(logn)

B. binary search tree

A. length

B. depth

C. height

A __________ (with no duplicate elements) has the property th…

The ________ of a path is the number of the edges in the path.

The _______ of a node is the length of the path from the root…

The _______ of a nonempty tree is the length of the path from…

B. binary search tree

A __________ (with no duplicate elements) has the property th…

A. length

The ________ of a path is the number of the edges in the path.

There are n nodes in a tree. How many…

Run time for in order tree walk

Describe in order tree walk

Run time for tree search

n-1

theta(n). Every node is traversed once.

Print left subtree, node, and right subtree

order(h), where log(n) <= h <= n

There are n nodes in a tree. How many…

n-1

Run time for in order tree walk

theta(n). Every node is traversed once.

Tree

Nodes

edges

hierarchical structure

structure consist of nodes and edges that organize data in a…

where the data elements are stored

connects the nodes represents the relationship between the no…

resembles an upside down tree complete with branches leaves a…

Tree

structure consist of nodes and edges that organize data in a…

Nodes

where the data elements are stored

The element at the top of the hierarch…

Elements after a root node in the hier…

Elements after a child node in the hie…

Nodes that have no children are ______…

root

children

grandchildren

leaves

The element at the top of the hierarch…

root

Elements after a root node in the hier…

children

False

root pointer

True

nodes in a binary tree have two succes…

True/False: The number of nodes in a binary tree is the numbe…

The ________ in a binary tree is analogous to the head pointe…

True/False: A subtree is the collection of some node, togethe…

The main difference between a binary tree and a linked list i…

False

True/False: The number of nodes in a binary tree is the numbe…

root pointer

The ________ in a binary tree is analogous to the head pointe…

Binary Tree

Children

Complete Tree

Full Tree

A data structure that consists of nodes, with one root node a…

The term used in binary trees to indicate a node that extends…

A binary tree in which there are no missing nodes when lookin…

A binary tree in which every level of the tree is completely…

Binary Tree

A data structure that consists of nodes, with one root node a…

Children

The term used in binary trees to indicate a node that extends…

Advantage over Hash tables

How to represent an ordered map

Ordered map: Advantages = access

Ordered map: Disadvantages = insertion…

Hash tables are fast (on average) and quite useful, but they…

Two obvious choices are a sorted array (or arraylist) and a s…

Either representation will implement the operations (firstEnt…

Unfortunately, put and remove are O(n) time, because you need…

Advantage over Hash tables

Hash tables are fast (on average) and quite useful, but they…

How to represent an ordered map

Two obvious choices are a sorted array (or arraylist) and a s…

BST Operations:

Preorder Traversal:

Inorder Traversal:

Postorder Traversal:

contains... get... remove... add... reset... getNext... isEmpty... size

Root then Left then Right

Left then Root then Right

Left then Right then Root

BST Operations:

contains... get... remove... add... reset... getNext... isEmpty... size

Preorder Traversal:

Root then Left then Right

Is number 8 a binary tree ?

How many BST can you make with the val…

Is number 7 a binary tree ?

Is number 9 a binary tree ?

- Yes... - With a height of 3

...

- Yes... - With a height of 0

- No... -With a height of 2

Is number 8 a binary tree ?

- Yes... - With a height of 3

How many BST can you make with the val…

...

What is the primary characteristic of…

what are the values of interior nodes…

What are the values of the descendants…

What is the height of 7... -------(1)... ---…

The value, (or key depending on the implementation) of any no…

1 4 4 7 8 9

2 4 4 4 8 8 9

3 (the height of a node is the length of the longest downward…

What is the primary characteristic of…

The value, (or key depending on the implementation) of any no…

what are the values of interior nodes…

1 4 4 7 8 9

A collection of tree is called a _____…

A node with no children is called a __…

A node with no parent is called the __…

Is number 1 binary tree... FULL?... Complete?

Forest

Leaf

Root

Full = no... Complete = no

A collection of tree is called a _____…

Forest

A node with no children is called a __…

Leaf

tree

parent node

child node

root

a set of one or more nodes, partitioned into root... node and su…

the node directly above node n in... the tree.

a node directly below node n in the tree.

the only node in the tree without a parent.

tree

a set of one or more nodes, partitioned into root... node and su…

parent node

the node directly above node n in... the tree.

Binary search tree

Total order

Where can values go?

Searching for values

Binary tree in which the **search property** holds on **every** n…

order imposed on all elements (ex. inorder?)

Items can only go at bottom of tree

Begin at root; use search property of nodes to guide the sear…

Binary search tree

Binary tree in which the **search property** holds on **every** n…

Total order

order imposed on all elements (ex. inorder?)

Number of children of each node

Leaf node

Strict/proper binary tree

Complete binary tree

Each node can have at most two children

A node with 0 child

Each node can have either 2 or 0 children

All levels except possible the last are completely filled and…

Number of children of each node

Each node can have at most two children

Leaf node

A node with 0 child

How does one enter a smaller node in a…

How does one enter a larger node in a…

What happens when you add a value to a…

What happens when you remove a value t…

to the left of the sub-tree

to the right of the sub-tree

every addition adds a new leaf to the tree on the right

It is just removed

How does one enter a smaller node in a…

to the left of the sub-tree

How does one enter a larger node in a…

to the right of the sub-tree

in-order pseudo code

pre-order pseudo code

post-order pseudo code

pre-order diagram

sub TraverseRoutine(TreeNode)... If LeftPointer(TreeNode) != NU…

sub TraverseRoutine(TreeNode)... Output(TreeNode.value)... If Lef…

sub TraverseRoutine(TreeNode)... If LeftPointer(TreeNode) != NU…

in-order pseudo code

sub TraverseRoutine(TreeNode)... If LeftPointer(TreeNode) != NU…

pre-order pseudo code

sub TraverseRoutine(TreeNode)... Output(TreeNode.value)... If Lef…

Left subtree

Right subtree

No

Find operation

In a BST the smaller keyed node is in the...

In a BST the larger keyed node is in the...

Are duplicates allowed?

This operation is performed by repeatedly branching either le…

Left subtree

In a BST the smaller keyed node is in the...

Right subtree

In a BST the larger keyed node is in the...

Tree

Children

Level of a node

BST access time (avg case)

A nonlinear structure in which each node is capable of having…

Successor nodes to another node in a tree.

Distance from the root

O(logN)

Tree

A nonlinear structure in which each node is capable of having…

Children

Successor nodes to another node in a tree.

Preorder Traversal

Inorder Traversal

Postorder Traversal

Recursive Preorder

(i) Visit the root ... (ii) Traverse the left subtree... (iii) Trav…

(i) Traverse left subtree starting at the left external node…

(i) Traverse all left external nodes starting with the left m…

template <class ItemType>... void BST <ItemType>::preOrder(TreeN…

Preorder Traversal

(i) Visit the root ... (ii) Traverse the left subtree... (iii) Trav…

Inorder Traversal

(i) Traverse left subtree starting at the left external node…

Balance Factor Equation

When is a tree unbalanced?

Describe a tree

The root is the only node at level __,…

bF = h ( Left subtree) - h (Right subtree)

BF > absvalue(1)

Set of nodes which is either ... A) empty ... B) consists of a node…

The root is the only node at level 0, and its depth is 0

Balance Factor Equation

bF = h ( Left subtree) - h (Right subtree)

When is a tree unbalanced?

BF > absvalue(1)

Tree

Nodes

Edges

Path

A data structure that uses nodes to hold data and edges to co…

The data field(s) in a tree.

The references to a node's child(ren).

The sequence of nodes that must be traveled to get from one n…

Tree

A data structure that uses nodes to hold data and edges to co…

Nodes

The data field(s) in a tree.

Binary Search Tree Property

Representing Binary Search Trees

BST Search - Recursion

BST Search - While Loop

- nodes in left subtree have values <= current node's value... -…

class BST... int key... BST parent... BST left... BST right... public B…

Search (node, int k)... if (node == null)... return null // base…

Search (node, int k)... while (node != null && node.key != k)…

Binary Search Tree Property

- nodes in left subtree have values <= current node's value... -…

Representing Binary Search Trees

class BST... int key... BST parent... BST left... BST right... public B…

How do you add a node to a binary sear…

What is a binary search tree?

How do you remove an item from a binar…

What is a binary tree?

Search the tree as if you were looking for the key of the nod…

A binary tree where every left child key is less than the par…

Find the node.... If the item has a right child, find the smalle…

A structure with a set of nodes, each with potentially two ch…

How do you add a node to a binary sear…

Search the tree as if you were looking for the key of the nod…

What is a binary search tree?

A binary tree where every left child key is less than the par…

Tree

Tree Examples in real life

Tree Properties

Nodes

a nonlinear data structure used to represent entities that ar…

Family tree... Table of contents in a book... Class inheritance in…

A set of elements of the same type such that it is empty or h…

The elements in a tree

Tree

a nonlinear data structure used to represent entities that ar…

Tree Examples in real life

Family tree... Table of contents in a book... Class inheritance in…

Binary Search Trees (BST)

root

subtree

height

- are linked structures that are designed to address some of…

top node in the tree, the single entry point to the tree

each node in the tree

number of edges in the longest path from root to leaf. Or num…

Binary Search Trees (BST)

- are linked structures that are designed to address some of…

root

top node in the tree, the single entry point to the tree

worst case computing time for linear s…

worst case computing time for binary s…

call to C++'s binary search algorith i…

What is binary search

O(n)

O(log2n)

binary_search(begin, end, item)

examines middle element of sublist and if it is not desired i…

worst case computing time for linear s…

O(n)

worst case computing time for binary s…

O(log2n)

Benefits of Abstract Data Type(ADT)

What is a tree?

To identify a tree, it has?

Degree of a node is the number of it's…

Modularity,... Allows testing separately,... Division of Labour,... Re…

A tree is a finite set of nodes.

There is a node called root of the tree.... The remaining nodes…

True

Benefits of Abstract Data Type(ADT)

Modularity,... Allows testing separately,... Division of Labour,... Re…

What is a tree?

A tree is a finite set of nodes.

binary tree

leaf

internal node

parent

each node has up to two children, known as a left child and a…

a tree node with no children

a node with at least one child

a node with a child is said to be that child's parent

binary tree

each node has up to two children, known as a left child and a…

leaf

a tree node with no children

Binary tree

Binary Search Tree

insert()

delete()

each node can have at most two children, ... and in which a uniq…

each node contains a distinct data value, key values compared…

implement

find the node in the tree. delete the node form the tree. Thr…

Binary tree

each node can have at most two children, ... and in which a uniq…

Binary Search Tree

each node contains a distinct data value, key values compared…

Recursion

Terminating Condition

Advantages of Recursion

Disadvantages of Recursion

When a method calls itself from within itself

The condition that determines when the method will stop recur…

Much less code; No need to know overall 'size' of object

Can be slightly slower; more difficult to debug/understand

Recursion

When a method calls itself from within itself

Terminating Condition

The condition that determines when the method will stop recur…

What is a recursion?

What are functions that use recursion…

Write a recursive function for a facto…

Define a treenode structure which cont…

Recursion is a technique that solves a problem by solving a S…

Recursive function

int Factorial(int n) {... if (n == 0) {... return 1;... } else {... r…

typedef struct treenode {... Node data;... struct treenode *left,…

What is a recursion?

Recursion is a technique that solves a problem by solving a S…

What are functions that use recursion…

Recursive function