Preface
1.
Fundamentals
1.1.
Introduction
1.2.
Java Built-in Data Structures
1.3.
Python Built-in Data Structures
1.4.
Algorithm Analysis
1.5.
Test Driven Development
1.6.
Exercise
2.
Stacks and Queues
2.1.
Stacks
2.1.1.
Stacks in Python
2.1.2.
Stacks in Java
2.2.
Queues
2.2.1.
Queues in Python
2.2.2.
Queues in Java
2.3.
Deques
2.3.1.
Deques in Python
2.3.2.
Deques in Java
2.4.
Exercise
3.
Lists
3.1.
The List ADT
3.2.
Array List
3.3.
Linked List
3.3.1.
Linked List in Python
3.3.2.
Linked List in Java
3.4.
Doubly Linked List
3.5.
Case Study
3.6.
Exercise
4.
Trees
4.1.
General Trees
4.2.
Binary Search Trees (1)
4.3.
Binary Search Trees (2)
4.4.
Balanced Search Trees
4.5.
Red Black Trees (1)
4.6.
Red Black Trees (2)
4.7.
Case Study
4.8.
Exercise
5.
Priority Queues
5.1.
PQ Implementation (1)
5.2.
PQ Implementation (2)
5.3.
Case Study
5.4.
Indexed Priority Queue
5.5.
Exercise
6.
Hash Tables
6.1.
Direct-address Tables
6.2.
Hash Tables
6.3.
Hash Functions
6.3.1.
Hash in Java
6.3.2.
Hash in Python
6.4.
Open-addressing Hashing
6.5.
Case Study
7.
Sorting
8.
Graphs
9.
Appendix
9.1.
IDEA for Java
9.2.
PyCharm for Python
Light
Rust
Coal
Navy
Ayu
Hands On Data Structures
Fundamentals
In this chapter, we will take a quick glance at data structures.