Download presentation
Presentation is loading. Please wait.
1
Binary Search Trees Chapter 7 Objectives
Upon completion you will be able to: Create and implement binary search trees Understand the operation of the binary search tree ADT Write application programs using the binary search tree ADT Design and implement a list using a BST Design and implement threaded trees Data Structures: A Pseudocode Approach with C, Second Edition
2
7-1 Basic Concepts Binary search trees provide an excellent structure for searching a list and at the same time for inserting and deleting data into the list. Data Structures: A Pseudocode Approach with C, Second Edition
3
Introduction there are 2 standard trees structures for search trees
binary search trees AVL trees both of these trees are used when data need to be ordered they differ only in that AVL trees are balanced while binary search trees are not Data Structures: A Pseudocode Approach with C, Second Edition
4
Binary Search Trees 1. ordered data in array structure
binary search is efficient for searching but very poor for insertion and deletion since it require shifting data in the array 2. linked list structure efficient insertion and deletion but poor for searching because we have to use sequential search (cannot use binary search) Data Structures: A Pseudocode Approach with C, Second Edition
5
Binary Search Trees (2) therefore, we really need a data structure that has an efficient search, insert and delete algorithms binary search trees provide that structure Data Structures: A Pseudocode Approach with C, Second Edition
6
Definition a binary search tree is a binary tree with the following properties 1. all items in the left subtree are less than the root 2. all items in the right subtree are greater than or equal to the root 3. each subtree is itself a binary search tree Data Structures: A Pseudocode Approach with C, Second Edition
7
Data Structures: A Pseudocode Approach with C, Second Edition
8
Data Structures: A Pseudocode Approach with C, Second Edition
9
Data Structures: A Pseudocode Approach with C, Second Edition
10
7-2 BST Operations Traversals Searches Insertion Deletion
We discuss four basic BST operations: traversal, search, insert, and delete; and develop algorithms for searches, insertion, and deletion. Traversals Searches Insertion Deletion Data Structures: A Pseudocode Approach with C, Second Edition
11
Data Structures: A Pseudocode Approach with C, Second Edition
12
Binary Search Tree Traversals
from figure 7-4, traverse the tree: using a preorder traversal using a postorder traversal using a inorder traversal the inorder traversal produces an ordered list what happens if we traverse the tree using a right-node-left sequence? Data Structures: A Pseudocode Approach with C, Second Edition
13
Binary Search Tree Search Algs
we study 3 binary search tree search algs 1. find the smallest node 2. find the largest node 3. find a requested node Data Structures: A Pseudocode Approach with C, Second Edition
14
Data Structures: A Pseudocode Approach with C, Second Edition
15
Data Structures: A Pseudocode Approach with C, Second Edition
16
Data Structures: A Pseudocode Approach with C, Second Edition
17
Data Structures: A Pseudocode Approach with C, Second Edition
18
Data Structures: A Pseudocode Approach with C, Second Edition
19
Data Structures: A Pseudocode Approach with C, Second Edition
20
Data Structures: A Pseudocode Approach with C, Second Edition
21
Data Structures: A Pseudocode Approach with C, Second Edition
22
Data Structures: A Pseudocode Approach with C, Second Edition
23
Data Structures: A Pseudocode Approach with C, Second Edition
24
Data Structures: A Pseudocode Approach with C, Second Edition
25
(continued) Data Structures: A Pseudocode Approach with C, Second Edition
26
Data Structures: A Pseudocode Approach with C, Second Edition
27
7-3 Binary Search Tree ADT
We begin this section with a discussion of the BST data structure and write the header file for the ADT. We then develop 14 programs that we include in the ADT. Data Structure Algorithms Data Structures: A Pseudocode Approach with C, Second Edition
28
Data Structures: A Pseudocode Approach with C, Second Edition
29
Data Structures: A Pseudocode Approach with C, Second Edition
30
Data Structures: A Pseudocode Approach with C, Second Edition
31
Data Structures: A Pseudocode Approach with C, Second Edition
32
Data Structures: A Pseudocode Approach with C, Second Edition
33
Data Structures: A Pseudocode Approach with C, Second Edition
34
Data Structures: A Pseudocode Approach with C, Second Edition
35
Data Structures: A Pseudocode Approach with C, Second Edition
36
Data Structures: A Pseudocode Approach with C, Second Edition
37
Data Structures: A Pseudocode Approach with C, Second Edition
38
Data Structures: A Pseudocode Approach with C, Second Edition
39
Data Structures: A Pseudocode Approach with C, Second Edition
40
Data Structures: A Pseudocode Approach with C, Second Edition
41
Data Structures: A Pseudocode Approach with C, Second Edition
42
Data Structures: A Pseudocode Approach with C, Second Edition
43
Data Structures: A Pseudocode Approach with C, Second Edition
44
Data Structures: A Pseudocode Approach with C, Second Edition
45
Data Structures: A Pseudocode Approach with C, Second Edition
46
Data Structures: A Pseudocode Approach with C, Second Edition
47
Data Structures: A Pseudocode Approach with C, Second Edition
48
Data Structures: A Pseudocode Approach with C, Second Edition
49
Data Structures: A Pseudocode Approach with C, Second Edition
50
Data Structures: A Pseudocode Approach with C, Second Edition
51
Data Structures: A Pseudocode Approach with C, Second Edition
52
Data Structures: A Pseudocode Approach with C, Second Edition
53
Data Structures: A Pseudocode Approach with C, Second Edition
54
Data Structures: A Pseudocode Approach with C, Second Edition
55
Data Structures: A Pseudocode Approach with C, Second Edition
56
Data Structures: A Pseudocode Approach with C, Second Edition
57
7-4 BST Applications Integer Application Student List Application
This section develops two applications that use the BST ADT. We begin the discussion of BST Applications with a simple application that manipulates integers. The second application, student list, requires a structure to hold the student's data. Integer Application Student List Application Data Structures: A Pseudocode Approach with C, Second Edition
58
Data Structures: A Pseudocode Approach with C, Second Edition
59
Data Structures: A Pseudocode Approach with C, Second Edition
60
Data Structures: A Pseudocode Approach with C, Second Edition
61
Data Structures: A Pseudocode Approach with C, Second Edition
62
Data Structures: A Pseudocode Approach with C, Second Edition
63
Data Structures: A Pseudocode Approach with C, Second Edition
64
Data Structures: A Pseudocode Approach with C, Second Edition
65
Data Structures: A Pseudocode Approach with C, Second Edition
66
Data Structures: A Pseudocode Approach with C, Second Edition
67
Data Structures: A Pseudocode Approach with C, Second Edition
68
Data Structures: A Pseudocode Approach with C, Second Edition
69
Data Structures: A Pseudocode Approach with C, Second Edition
70
Data Structures: A Pseudocode Approach with C, Second Edition
71
Data Structures: A Pseudocode Approach with C, Second Edition
72
Data Structures: A Pseudocode Approach with C, Second Edition
73
Data Structures: A Pseudocode Approach with C, Second Edition
74
Data Structures: A Pseudocode Approach with C, Second Edition
75
Data Structures: A Pseudocode Approach with C, Second Edition
76
Data Structures: A Pseudocode Approach with C, Second Edition
77
Data Structures: A Pseudocode Approach with C, Second Edition
78
Data Structures: A Pseudocode Approach with C, Second Edition
79
Data Structures: A Pseudocode Approach with C, Second Edition
80
Data Structures: A Pseudocode Approach with C, Second Edition
81
7-5 Threaded Trees This section develops two applications that use the BST ADT. We begin the discussion of BST Applications with a simple application that manipulates integers. The second application, student list, requires a structure to hold the student's data. Data Structures: A Pseudocode Approach with C, Second Edition
82
Data Structures: A Pseudocode Approach with C, Second Edition
83
Data Structures: A Pseudocode Approach with C, Second Edition
84
Data Structures: A Pseudocode Approach with C, Second Edition
85
Data Structures: A Pseudocode Approach with C, Second Edition
86
Data Structures: A Pseudocode Approach with C, Second Edition
87
Data Structures: A Pseudocode Approach with C, Second Edition
88
Data Structures: A Pseudocode Approach with C, Second Edition
89
Data Structures: A Pseudocode Approach with C, Second Edition
90
Data Structures: A Pseudocode Approach with C, Second Edition
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.