Mastering Algorithms With C - Kyle Loudon [250]
7.3.3. set_insert
7.3.4. set_remove
7.3.5. set_union
7.3.6. set_intersection
7.3.7. set_difference
7.3.8. set_is_member
7.3.9. set_is_subset
7.3.10. set_is_equal
7.3.11. set_size
7.4. Set Example: Set Covering
7.5. Questions and Answers
7.6. Related Topics
8. Hash Tables
8.1. Description of Chained Hash Tables
8.1.1. Collision Resolution
8.1.2. Selecting a Hash Function
8.1.2.1. Division method
8.1.2.2. Multiplication method
8.2. Interface for Chained Hash Tables
chtbl_init
chtbl_destroy
chtbl_insert
chtbl_remove
chtbl_lookup
chtbl_size
8.3. Implementation and Analysis of Chained Hash Tables
8.3.1. chtbl_init
8.3.2. chtbl_destroy
8.3.3. chtbl_insert
8.3.4. chtbl_remove
8.3.5. chtbl_lookup
8.3.6. chtbl_size
8.4. Chained Hash Table Example: Symbol Tables
8.5. Description of Open-Addressed Hash Tables
8.5.1. Collision Resolution
8.5.1.1. Linear probing
8.5.1.2. Double hashing
8.6. Interface for Open-Addressed Hash Tables
ohtbl_init
ohtbl_destroy
ohtbl_insert
ohtbl_remove
ohtbl_lookup
ohtbl_size
8.7. Implementation and Analysisof Open Addressed Hash Tables
8.7.1. ohtbl_init
8.7.2. ohtbl_destroy
8.7.3. ohtbl_insert
8.7.4. ohtbl_remove
8.7.5. ohtbl_lookup
8.7.6. ohtbl_size
8.8. Questions and Answers
8.9. Related Topics
9. Trees
9.1. Description of Binary Trees
9.1.1. Traversal Methods
9.1.1.1. Preorder traversal
9.1.1.2. Inorder traversal
9.1.1.3. Postorder traversal
9.1.1.4. Level-order traversal
9.1.2. Tree Balancing
9.2. Interface for Binary Trees
bitree_init
bitree_destroy
bitree_ins_left
bitree_ins_right
bitree_rem_left
bitree_rem_right
bitree_merge
bitree_size
bitree_root
bitree_is_eob
bitree_is_leaf
bitree_data
bitree_left
bitree_right
9.3. Implementation and Analysis of Binary Trees
9.3.1. bitree_init
9.3.2. bitree_destroy
9.3.3. bitree_ins_left
9.3.4. bitree_ins_right
9.3.5. bitree_rem_left
9.3.6. bitree_rem_right
9.3.7. bitree_merge
9.3.8. bitree_size, bitree_root, bitree_is_eob, bitree_is_leaf, bitree_data, bitree_left, bitree_right
9.4. Binary Tree Example: Expression Processing
9.5. Description of Binary Search Trees
9.6. Interface for Binary Search Trees
bistree_init
bistree_destroy
bistree_insert
bistree_remove
bistree_lookup
bistree_size
9.7. Implementation and Analysis of Binary Search Trees
9.7.1. Rotations in AVL Trees
9.7.1.1. LL rotation
9.7.1.2. LR rotation
9.7.1.3. RR rotation
9.7.1.4. RL rotation
9.7.2. bistree_init
9.7.3. bistree_destroy
9.7.4. bistree_insert
9.7.5. bistree_remove
9.7.6. bistree_lookup
9.7.7. bistree_size
9.8. Questions and Answers
9.9. Related Topics
10. Heaps and Priority Queues
10.1. Description of Heaps
10.2. Interface for Heaps
heap_init
heap_destroy
heap_insert
heap_extract
heap_size
10.3. Implementation and Analysis of Heaps
10.3.1. heap_init
10.3.2. heap_destroy
10.3.3. heap_insert
10.3.4. heap_extract
10.3.5. heap_size
10.4. Description of Priority Queues
10.5. Interface for Priority Queues
pqueue_init
pqueue_destroy
pqueue_insert
pqueue_extract
pqueue_ peek
pqueue_size
10.6. Implementation and Analysis of Priority Queues
10.7. Priority Queue Example: Parcel Sorting
10.8. Questions and Answers
10.9. Related Topics
11. Graphs
11.1. Description of Graphs
11.1.1. Search Methods
11.1.1.1. Breadth-first search
11.1.1.2. Depth-first search
11.2. Interface for Graphs
graph_init
graph_destroy
graph_ins_vertex
graph_ins_edge
graph_rem_vertex
graph_rem_edge
graph_adjlist