Department of Electrical and Computer Engineering
ECE 207: Data Structures (3-0-3)
This is a second programming course that introduces algorithmic problem solving - Basic data structures: Arrays, Stacks, Queues, Linked-lists, Trees, and
graphs - Examples involving searching, sorting, and hashing techniques
utilizing different data structures - Two hours laboratory-sized recitation per week.
Prerequisite: 0600-200, 0612-203.
Horowitz and Sahni, "Fundamentals of Data Structures", Freeman and Company, 1993.
- (1) To teach students the basics of algorithmic problem solving.
- (2) To introduce students to some fundamental data structures.
- (3) To introduce students to some sorting, searching and hashing techniques.
- Introductiont & Basic Concepts.
Quick review of C programming language, System Life Cycle, Abstract Data types
& Data Structures, Recursion, Mathematical Proof techniques, Algorithm Analysis.
Array-based list implementation, Linked lists, Doubly lists, Circular linked lists.
Arra-based stacks, Linked stacks, Array-based versus linked stacks, implementing recursion.
Arra-based Queues, Linked Queues, Array-based versus linked queues.
Binary Trees: Definition & properties, Taversals, Implementations, Binary
search trees, Heaps & Pripority queues; General Trees: Definiton & Terminology,
Partent pointer implementation.
Graph terminology & representations, Implemetations, Traversals, Shortest-path problems, Minimum-cost spanning trees.
- Sorting Techniques.
Terminology & Notation, Tree-based Sorting Algorithms: Insertion Sort, Bubble Sort, Selection Sort, Cost of Exchange Sorting; Other Sorting Algorithms: Shell-sort, Quik-sort, Merge-sort, Heap-sort, Radix-sort; Empirical comparison of sorting algorithms, Lower bounds for sorting.
- Searching Techniques.
Searching ordered lists, searching sets, Hashing techniques.
Students will use PCs running tools for programming using the C language.
There are two hours laboratory-sized recitation per week.
20% Quizzes and Homeworks
15% Major Exam I (Tentatively scheduled during week 5)
15% Major Exam II (Tentatively scheduled during week 11)
10% Laboratory Work
40% Final Exam (As scheduled by the Registrar)
ABET Category content:
Engineering Design: 1 credits or 33 %
Engineering Science: 2 credits or 67 %
Prepared by: Prof. Mostafa Abd-El-Barr.
Date: January 1999.