arch2.jpg

Data Structure and Algorithms

This course introduces formal techniques to support the design and analysis of algorithms, focusing on both the underlying mathematical theory and practical considerations of efficiency. Introduced design approaches will be supported by some common data structures, with a focus on some advanced ones. Fundamental concepts of data structures and algorithms for representing and processing information; including the use of linked lists, stacks, queues, directed graphs and trees. Analysis of algorithms, sorting, searching and hashing techniques Mathematics foundation, divided-and-conquer, dynamic programming, greedy method, NP-completeness complexity, approximation algorithms, randomized algorithms, and backtracking algorithms. In addition to some advanced data structures: Binary trees, Heaps, Priority Queues, and Huffman Coding Trees.

Course ID
ECE 251
Level
Undergraduate
Credit Hours
CH:3