
CITIDEL >
Syllabus Collection >
Syllabus >
Please use this identifier to cite or link to this item:
http://hdl.handle.net/10117/8245

Title:  Data Structures and Algorithms 
Authors:  Department of Computer and Information Science and Engineering 
Issue Date:  
Publisher:  Department of Computer and Information Science and Engineering 
Citation:  http://www.cise.ufl.edu/~sahni/cop3530/syllabus.htm 
Abstract:  COP 3530
Data Structures and Algorithms
University of Florida
Course Syllabus
The specific topics are given below. The number of lectures devoted to each topic is only an estimate. The actual time spent on each topic may be different from the estimate.
1. Simple sort methods and performance measurement. (2 lectures).
2. Data representation methods and linear lists. (7 lectures)
3. Arrays & matrices. (2 lectures)
4. Stacks. (2 lectures)
5. Queues. (1 lecture)
6. Hashing and LZW compression. (3 lectures)
7. Binary trees. (4 lectures)
8. Priority queues. (2 lectures)
9. Tournament trees. (1 lecture)
10. Search trees. (2 lectures)
11. Graphs. (3 lectures)
12. The greedy method. (3 lectures)
13. Divideandconquer. (3 lectures)
14. Dynamic programming. (5 lectures)
15. Backtracking. (2 lectures)
16. Branchandbound. (1 lecture)
A more detailed outline of each of the lectures given last year is given below. We will follow at approximately the same rate this semester. For this semester's exam dates, see Exam Dates & Exam Syllabus.
.
Lecture Content Reading
1 Course overview and insertion sort. Chapters 1 through 3.
2 Insertion sort and practical complexities. Section 3.5.
3 Runtime measurement. Chapter 4.
4 Linear lists. Sections 5.15.2.
5 Array representation and array resizing. Section 5.3.
6 Walk through of code for ArrayLinearList. Section 5.3.
7 Iterators. Linked representation of a linear list. Sections 5.3 and 6.1.
8 Walk through of code for Chain. Head nodes, circular lists, doubly linked lists. Sections 6.2 and 6.3.
9 Simulated pointers and availablespace lists. Sections 7.1 and 7.2.
10 Rowmajor and columnmajor indexing, and special matrices. Sections 8.1, 8.2, and 8.3.
11 Sparse matrices. Section 8.4.
12 Stacksapplication to parentheses matching, towersofhanoi, railroad car rearrangement, and switchbox routing; array stacks. Sections 9.1, 9.2, 9.5.
13 Array and linked stacks. Section 9.3 and 9.4.
14 Nonapplicability of queues for parantheses matching, towersofhanoi, railroad problem with LIFO tracks, and switchbox routing. Application of queues to railroad problem with FIFO tracks, wire routing, and component labeling. Array and linked queues. Sections 10.110.4, 10.5.110.5.3.
15 Exam placeholder. 
16 Dictionaries, linear list representation, and hashing. Sections 11.1, 11.2, 11.3, and 11.5.
17 Hashing and hash table design. Section 11.5.
18 LZW compression. Section 11.6.
19 Trees, binary trees, and properties. Sections 12.112.3.
20 Binary tree representation and operations. Sections 12.4 and 12.5.
21 Binary tree traversal methods preorder, inorder, postorder, level order. Reconstruction from two orders Sections 12.612.8.
22 Online equivalence classes. Section 12.9.2.
23 Application of priority queues to heap sort and machine scheduling. Min and max heaps. Sections 13.113.3, 13.6.1, and 13.6.2.
24 Initialization of min and max heaps. Height and weightbiased leftist trees. Sections 13.4.4 and 13.5.
25 Winner and loser trees and application to kway merging, run generation, and firstfit bin packing. Chapter 14.
26 Binary search trees and indexed binary search trees. Sections 15.115.5.
27 Definition of AVL trees. Graph applications and properties. Sections 16.1, 17.117.3.
28 Graph operations and representation. Sections 17.417.7.
29 Breadthfirst and depthfirst search. Application to path finding, connected components, and spanning trees. Sections 17.8 and 17.9.
30 Greedy method and application to bin packing, loading, and knapsack problems. Sections 18.1, 18.2, 18.3.1, and 18.3.2.
31 Exam placeholder. 
32 Single source all destinations shortest paths algorithm. Section 18.3.5.
33 Kruskal's and Prim's minimumcost spanning tree algorithms. Section 18.3.6.
34 Divide and conquer, and application to defective chessboard and minmax problem. Iterative minmax implementation. Sections 19.1 and 19.2.1.
35 Merge sort, natural merge sort, and quick sort. Sections 19.2.2 and 19.2.3.
36 Selection and closest pair of points. Sections 19.2.4 and 19.2.5.
37 Dynamic programming, 0/1 knapsack problem, recursive and iterative solutions. Sections 20.1 and 20.2.1.
38 Matrix multiplication chains, dynamic programming recurrence, recursive solution. Section 20.2.2.
39 Iterative solution to matrix multiplication chains. Section 20.2.2.
40 All pairs shortest paths. Section 20.2.3.
41 Single source shortest paths with negative edge weights. Section 20.2.4.
42 Solution space trees and backtracking. Section 21.1.
43 Branch and bound. Section 22.1. 
URI:  http://www.citidel.org/handle/10117/8245 
Appears in Collections:  Syllabus

Files in This Item:
File 
Size  Format 
61syllabus.htm  7Kb  HTML  View/Open 

All items in DSpace are protected by copyright, with all rights reserved.
