170 likes | 308 Views
CSE 3358 Note Set 5. Data Structures and Algorithms. Trees. Overcome the linear nature of a list. Allows for storage of hierarchical data. Recursive Definition of Tree: An empty structure is empty tree
E N D
CSE 3358 Note Set 5 Data Structures and Algorithms
Trees • Overcome the linear nature of a list. • Allows for storage of hierarchical data • Recursive Definition of Tree: • An empty structure is empty tree • If t1, …, tk are disjointed trees, then the structures whose root has as its children the roots of t1, …, tk is also a tree • Only structures generated by these two rules are trees
Tree Terminology • Root • Children • Parent • Ancestors • Descendants
Tree Terminology • Height of C • Path from A to J • Length of Path from A to J • Depthof F A B C D E F G H I J K L
Tree Terminology • Children of 10 • Ancestors of 18 • Descendant 15 • Leaves of the tree 20 10 15 5 6 7 16 17 8 9 18 19
Generic Tree Traversals • Pre-order • Work is done on children before parent is processed • Post-order • Work is done on parent after children are processed
Binary Tree • Each node has 2 children at max. • Left and Right • Benefit w/ respect to efficiency of algorithms • Complete Binary Tree • All non-leaf nodes have both children • All leaves are at same level
Binary Search Tree Binary Search Property: For each node n of the tree, all values stores in its left subtree are less than the value v stored in n and all values stored in the right subtree are greater than v. v • No =. Only < and >. • Storing multiple copies of the same value is avoided. • Meaning of < and > depend on what the data payload of the node is • Average Depth is O(lg N)
Implementation • Can be implemented as: • Array • struct node { T* payload;intleftIdx;intrightIdx;}; • If element deleted, update of entire tree may be necessary. • Linked Dynamic structure • struct node { T* payload; node *left, *right};
Complexity of Search • Based on the number of comparisons performed during the searching process • depends on the number of nodes on the unique path from root to the node being searched for. • Complexity: The length of the path leading to this node plus 1. • depends on the overall shape of the tree • Think about a tree that is essentially a List vs a balanced tree Internal Path Length: The sum of all path lengths of all nodes.
IPL 14 12 16
IPL 14 7 27 32 3 9
IPL Formula for IPL: 14 7 27 3 9 32 Formula for Average IPL:
IPL for Binary Tree • Worst Case: • tree that looks like a Linked List • Best Case: • all leaves in tree of height h are in at most two levels • only nodes in the next to last level can have children 2 3 4 5