Presentation is loading. Please wait.

Presentation is loading. Please wait.

Binary Search Trees Chapter 7 Objectives

Similar presentations


Presentation on theme: "Binary Search Trees Chapter 7 Objectives"— Presentation transcript:

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


Download ppt "Binary Search Trees Chapter 7 Objectives"

Similar presentations


Ads by Google