ITEC 360. Data Structures and Analysis of Algorithms.
Prerequisites: ITEC 122, ITEC 320, ITEC 324 and MATH 251
Credit Hours: (3)
Includes data structures, concepts and algorithms used in the solution of nonnumeric problems; applications to data management systems, file organization, information retrieval, list processing and programming languages.
Detailed Description of Content of Course
1. Mathematical Concepts: Complexity of algorithms (iterative and recurrences), Summation formulas and induction
2. Elementary Data Structures (Arrays, Lists, Stacks and Queues)
3. Binary Search Trees (AVL, Red-Black and B-Trees)
4. Hash Tables
5. Sorting and Searching algorithms
6. Priority Queues and Heaps
7. Algorithm Design Techniques (Divide and Conquer, Greedy and Dynamic Programming w/memoization)
8. Graph Algorithms (Elementary, Minimum Spanning Trees, Shortest Paths).
Detailed Description of Conduct of Course
Programming projects are assigned to give students experience in implementing existing algorithms. Students are also given several problems for which they are required to design and implement efficient algorithms.
Goals and Objectives of the Course
Students who complete the course will be able to:
1. Analyze the asymptotic running times of iterative and recursive algorithms in terms of Theta (asymptotic tight bound), Big Oh (asymptotic upper bound) and Omega (asymptotic lower bound) notations.
2. Use appropriate data structures for sorting and searching data.
3. Apply appropriate algorithmic design methods from among divide and conquer, greedy and dynamic programming to design and implement solutions to various problems (e.g., string matching).
4. Apply graph theory to design and implement solutions to various problems.
5. Identify the methodology of proving a problem to be NP-complete.
Students will be evaluated based on several programming assignments, and at least two examinations.
Other Course Information
Review and Approval
October 1, 1991 Updated for 1991-92 Ivan B. Liss, Chair
May 12, 1994 Updated for 1994-95 Edward G. Okie, Chair
Oct. 30, 1996 Prerequisite change Edward G. Okie, Chair
Sept. 25, 2001 Updated John P. Helm, Chair
Revised: June 1, 2012