-
Introductory Material, Recursion, Arrays, and Sorting
1.1. Introduction and Overview
1.2. Review of Discrete Math Concepts and Notation
1.3. Overview of Java Programming Language
1.4. Overview of Complexity Notation
1.5. Recursive Computations
1.6. Arrays and Lists
1.7. Searching, Selection, and Sorting
-
Sets, Strings, Stacks, Heaps, and Queues
2.1. Sets
2.2. Strings
2.3. String Representations of Data Structures
2.4. Stacks and Queues
2.5. Sorting with Priority Queues
2.6. Heaps and Heapsort
-
Graphs and Trees
3.1. Mathematics of Graphs and Trees
3.2. Binary, n-ary and 2-3 Trees
3.3. Tree Traversal, Pruning, and Balancing
3.4. AVL Trees and Red-Black Trees
3.5. Performance Measures for Tree Operations
3.6. Forests, Radius, Diameter, etc.
3.7. Min-Cost Spanning Trees
3.8. Shortest Path Problems
3.9. Greedy Algorithms, Strong Components, and Cliques
-
Hashing
4.1. Mathematics of Hash Functions and Hashing
4.2. Different Types of Hashing
4.3. Data Structures
4.4. Example Applications
4.5. Performance Measures
-
Applications and Advanced Topics
5.1. Data Structure Applications in Simulation, DBMS, and AI
5.2. Overview of Selected Parallel Algorithms
5.3. Research in Randomness and Data Structures
5.4. Isolation of Computational Error
Bibliography
This Web page and all subordinate pages
Copyright © 1998,1999 by Mark S. Schmalz
All rights reserved, except printing by UF/CISE faculty
or UF students officially registered for this class.