Catalog Description
Storage structures and memory allocations. Primitive data structures. Data abstraction and Abstract Data Types. Array and record structures. Sorting algorithms and quick sort. Linear & binary search. Complexity of algorithms. String processing. Stacks & queues; stack operations, implementation of recursion, polish notation and arithmetic expressions. Queues and implementation methods. Dequeues & priority queues. Linked storage representation and linked-lists. Doubly linked lists and circular lists. Binary trees. Tree traversal algorithms. Tree searching. General trees. Graphs; terminology, operations on graphs and traversing algorithms.
Course Objectives
At the end of this course, students will be able to:
- understand the fundamental data structures and Abstract Data Types,
- understand the main sorting and searching algorithms and recursion,
- analyze the time and space complexity of a given algorithm,
- understand and implement stacks and queues,
- process the linked list and tree structures,
- understand the graph terminology and perform basic graph operations.