
About Course
Covers the design, analysis, and implementation of data structures and algorithms to solve engineering problems using an object‐oriented programming language.
Topics include elementary data structures,(including arrays, stacks, queues, and lists), advanced data structures (including trees and graphs), the algorithms used to manipulate these structures, and their application to solving practical engineering problems.
About the instructor
P
Course Curriculum
Module 1
-
Data Types. Abstraction. Data abstraction and Abstract Data Types (ADTs). Review C++ classes
-
Friend functions. Operator overloading. Exception handling. Memory allocation and deallocation. bad_alloc exception.
-
Encapsulation. Inheritance. Polymorphism. Virtual functions.
-
Templates. Function and class templates. Programming using class and function templates. Standard Template Library (STL). Components of STL
-
Basic data structures. Arrays. Static arrays and Dynamic arrays. Explore how a generic Vector container is used to manipulate data
Module 2
-
List ADT. Implementation using arrays (static and dynamic). Basic operations on a List
-
Linked-List. Singly linked-lists. Implementation using pointers. Basic Operations
-
Stacks and Queues. Behavior of a Stack. Basic operations on a Stack. Array-based stacks. Linked-list based implementation. Expression evaluation using a stack. Queues. Behavior of a queue. Basic queue operations Study implementations using an array and a linked-list.
-
Tree data structure. Binary and non- binary trees. Structure of a binary tree. Definitions and properties. Traversing a binary tree. Study binary tree implementation
-
Assignments
Module 3
-
Binary Search Tree (BST). Organizing data in a BST. Inserting and deleting items in a BST. Traversing a BST. Non- binary (General) tree. General tree traversal
-
Assignments
-
Algorithm analysis. What to analyze. Analysis techniques. Efficiency of algorithms. Comparing efficiency of various algorithms
-
Searching and Hashing algorithms. Search algorithms – Sequential Search, Ordered lists, binary search. Searching using Hashing. Hash tables. Hash functions. Some examples of hash functions. Collision resolution.
-
Sorting algorithms. Sorting an array of elements. Study various algorithms and their efficiency
Exam
Download eBooks
-
Download eBooks
Student Ratings & Reviews
No Review Yet