Tải bản đầy đủ (.pdf) (3 trang)

Tài liệu Feaculty of Computer Science and Engineering Department of Computer Scienc Tutorial 4 Questions pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (153.3 KB, 3 trang )


Faculty of Computer Science and Engineering
Department of Computer Science

1/3
DATA STRUCTURES & ALGORITHMS
Tutorial 4 Questions
AVL Tree and Heap

Part 1. AVL Tree
Required Questions

Question 1.
For each of the following key sequences determining the AVL tree obtained when the keys are inserted
one-by-one in the order given into an initially empty tree:

a) 1, 2, 3, 4, 5, 6, 7.
b) 4, 2, 1, 3, 6, 5, 7.
c) 1, 6, 7, 2, 4, 3, 5.
d) 45, 9, 2, 17, 84, 92, 71, 18, 30, 62, 55, 20, 27


Question 2.
For each of the AVL trees obtained in Question 1 determine the tree obtained when the root is withdrawn.

Question 3.
Write a global function in pseudo code to generate an AVL tree from an input list by insert elements in the
list into an initial empty AVL. Refer to Question 1 for an example.

algorithm generateAVLfromList (val list <List>)
This algorithm generate a AVL from the input list


Pre
Post the AVL is built by inserting elements in the list into an initial
empty tree one-by-one from the beginning of the list.
Return the AVL
end generateAVLfromList


Question 4.
Devise an algorithm to test whether a given binary search tree is AVL balanced.
algorithm testAVL (val tree <BSTTree>)
Pre
Post.
Return true if tree is an AVL, otherwise return false
end testAVL


Advanced Questions

Question 5.
Devise an algorithm to merge the contents of two binary search trees into one. What is the running time of
your algorithm?

Faculty of Computer Science and Engineering
Department of Computer Science

2/3


Question 6.
Suggest a data structure that supports the following operation and given time complexities:


Operation

Complexity

Init

Init the DS with n real numbers (unordered)

O(nlogn)

Insert(x)

Insert x to the DS

O(logn)

findMin

Return the value of the minimal element

O(logn
)

findMax

Return the value of the maximal element

O(logn
)


findMed

Return the value of the
median element

O(1
)

DelMin

Remove the minimal element

O(logn)

DelMax

Remove the maximal element

O(logn)

DelMed

Remove the median element

O(logn)


Part 2. Heap
Required Questions


Question 7.
Show the heap (tree) you will have after inserting the following values:
a) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
b) 8, 4, 3, 6, 11, 9, 10, 10, 9
c) 3, 1, 4, 1, 5, 9, 2, 6, 5, 4
d) 2, 7, 1, 8, 2, 8, 1, 8, 2
e) 45, 9, 2, 17, 84, 92, 71, 18, 30, 62, 55, 20, 27

Question 8.
Show the heap (tree) you will have after removing (from 1-3 times) the root element of the tree generated
in the all cases of the previous question.
Advanced Questions

Question 9.
The following class definition will be used for the problem that follow:
public class BinaryTree <E extends Comparable<E>> {
private class Node {
E data;
Node left, right;
}
Node root;
}

Faculty of Computer Science and Engineering
Department of Computer Science

3/3
Write a recursive method called isCompleteBinaryTree() that returns true if the binary tree represents a
complete binary tree (one that satisfies the shape property for heaps).

Notice that the tree might not be a complete tree.

×