Schedule for Data Structure and Algorithm Design

Week 1   Simple Computing

Course/Experiment 1 Improving programming Style

Course/Experiment 2 Multiple Test Cases

Week 2   Simple Simulation and Simple Recursion

Course/Experiment 3 Simple Simulation

Course/Experiment 4 Simple Recursion

Week 3   Linear Lists Accessed Directly: Application of Arrays

Course/Experiment 5 Calculation of Dates  

Course/Experiment 6 High Precision Numbers

Week 4  Representation and Computation of Polynomials & Calculation of Numerical Matrices

Course/Experiment 7  Representation and Computation of Polynomials

Course/Experiment 8  Calculation of Numerical Matrices

Week 5   Linear Lists Accessed Directly: Strings & Sequence Lists

Course/Experiment 9 Strings: Storage & Pattern Matching

Course/Experiment 10 Sequence Lists

Week 6   Stacks, Queues

Course/Experiment 11 Stacks

Course/Experiment 12 Queues

Week 7  Sort of Linear Lists & Trees

Course/Experiment 13 Sort of Linear Lists

Course/Experiment 14 Union-Find Sets Supported by Tree Structure

Week 8  Binary Trees

Course/Experiment 15 Traversal of Binary Trees

Course/Experiment 16 Paths of Binary Trees

Week 9  Binary Search Trees

Course/Experiment 17 Binary Search Trees

Course/Experiment 18 Huffman Trees

Week 10   Graph Traversal

Course/Experiment 19 BFS Algorithm

Course/Experiment 20 DFS Algorithm

Week 11   Algorithms of Minimum Spanning Trees

Course/Experiment 21 Kruskal Algorithm

Course/Experiment 22 Prim Algorithm

Week 12   Algorithms of Best Paths

Course/Experiment 23 Warshall Algorithm

Course/Experiment 24 Dijkstra’s Algorithm

Week 13  Programming Strategies in Graph Theory

Course/Experiment 25 Pushing Boxes

Course/Experiment 26 The Warehouse

Week 14  Greedy Algorithms

Course/Experiment 27 Practices for Greedy Algorithms

Course/Experiment 28 Greedy-Choices based on Sorted Data

Week 15  Dynamic Programming

 Course/Experiment 29 Linear DP

Course/Experiment 30 Dynamic Programming on a Tree