3
Binary Search Trees (BSTs) Binary search trees are a good implementation of data types such as sets, bags, and dictionaries. Searching for an item is generally quick since you move from the root to the item, without looking at many other items. Adding and deleting items is also quick. But as you'll see later, it is possible for the quickness to fail in some cases -- can you see why? ( unbalanced )

5
B-Trees A B-tree is a tree for sorting entries following the six rules B-Tree is balanced - every leaf in a B-tree has the same depth Adding, erasing and searching an item in a B-tree have worst-case time O(log n), where n is the number of entries However the implementation of adding and erasing an item in a B-tree is not a trivial task.

8
Quadratic Sorting Both Selectionsort and Insertionsort have a worst- case time of O(n 2 ), making them impractical for large arrays. But they are easy to program, easy to debug. Insertionsort also has good performance when the array is nearly sorted to begin with. But more sophisticated sorting algorithms are needed when good performance is needed in all cases for large arrays.