CS213 | Data Structure and Algorithms

Data Structure and Algorithms

Data Structure and Algorithm Analysis (3rd Edition)
By: Mark Allen Wiess

Course Info

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in C++ programming language and will practice implementing them in programming assignments. This will help you to understand what is going on inside a particular built-in implementation of a data structure and what to expect from it. You will also learn typical use cases for these data structures.

Introduction to Algorithms, Solve Challenging Problems, Big-O Notation | Basic Data Structure: Linked List, Stacks, Queues, Trees, Binary Trees | Advance Data Structures: Priority Queues, Disjoint Sets, Hash Tables, BST | Graph Algorithms: Directed Acyclic Graph, Paths in Graphs, Minimum Spanning Tree

Course Aim
• Introduction to Algorithms, Solve Challenging Problems, Big-O Notation
• Basic Data Structure: Linked List, Stacks, Queues, Trees, Binary Trees
• Advance Data Structures: Priority Queues, Disjoint Sets, Hash Tables, BST
• Graph Algorithms: Directed Acyclic Graph, Paths in Graphs, Minimum Spanning Tree

Learning Outcomes
• Solve various computational problems and implement algorithmic coding problems in a C++
• Develop and implement multiple tests to check its correctness and running time
• Truly understand how the algorithms work and to master the art of programming
• Analyze both road networks and social networks and learn how to compute the shortest route