Algorithms and Data Structures Animations
for the Liang Java, C++, and Python Books
Y. Daniel Liang


Some of the animations were developed using Java applets. To enable applets to run from your Web browser, 1). download JRE 8 from and 2). change the security level to medium in the Java Control Pane. For instructions on accessing Java Control Panel, see

  1. Search Animation: Linear Search | Binary Search
  2. Sort Animation: Selection Sort  | Insertion Sort  | Bubble Sort  | Radix Sort  | Merge two sorted lists  | Partition in quick sort
  3. ClosestPairAnimation
  4. Sudoku Solution | EightQueens Animation | Sudoku Animation
  5. Heap Animation
  6. Convex Hull Animation
  7. Array List | Linked List | Doubly Linked List
  8. Stack | Queue
  9. Binary Search Tree
  10. AVL Tree Splay Tree Animation  |  Huffman Coding Animation
  11. 2-4 Tree Animation
  12. Red-Black Tree Animation
  13. Linear Probing Animation | Quadratic Probing Animation | Separate Chaining Animation
  14. Graph Algorithm Animation (for DFS, BFS, Shortest Path, Finding Connected Components, Finding a Cycle, Testing and Finding Bipartite Sets, Hamiltonian Path, Hamiltionian Cycle)
  15. Weighted Graph Algorithm Animation (for Minimum Spanning Tree, Shortest Path, and Traveling Salesman)
  16. The 24-Point Game
  17. The Connect Four Game
  18. The Hangman Game
  19. The Bean Machine Animation
  20. The Largest Block Animation