¶¶Òõ̽̽

Overview

Author

Clayton Cafiero

Published

2025-01-05

This week we’ll introduce some interesting and useful trees:

Binary search trees allow us to find values stored within a tree structure. However, given certain values and orders of operations, binary search trees can develop an undesirable, unbalanced structure. AVL trees and splay trees are designed as a remedy. These are self-balancing binary trees, though they accomplish the goal of self-balancing by different means. B-tree is a design that is useful when we want a broad, shallow tree. This comes in handy when we’re storing data on disk and each operation is expensive.

Learning Objectives

By the end of this module, you will be able to:

  • explain what it means for a tree to be balanced or unbalanced, what that means in terms of search performance,
  • understand how self-balancing works in the context of AVL and splay trees,
  • understand how shallow tree structures like B-tree, improve performance when we need to make access to slower media such as disk.

To achieve this module’s objectives, complete the following:

Read: Essential Algorithms: Chapter 11 - Balanced Trees.

Read / view the following content and complete any comprehension checks:

  • Binary search trees
  • AVL trees
  • Splay trees
  • B-trees

Project

TODO

Copyright © 2023–2025 Clayton Cafiero

No generative AI was used in producing this material. This was written the old-fashioned way.

Reuse