Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms

Massive Open Online Course
  • Overview
  • Course Content
  • Requirements & Materials

Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms

Course Description

This Data Structures & Algorithms course completes the four-course sequence of the program with graph algorithms, dynamic programming, and pattern matching solutions. A short Java review is presented on topics relevant to new data structures covered in this course and time complexity is threaded throughout the course within all the data structures and algorithms. The course requires prior knowledge of Java, object-oriented programming, and linear and non-linear data structures.

Course Content





Requirements & Materials



  • Basic knowledge of the Java programming language, object-oriented principles, and various abstract data types from LinkedLists to Hashmaps to Trees to Stacks & Queues.



  • Internet connection (DSL, LAN, or cable connection desirable)

Who Should Attend

This course is designed for anyone who wants to delve into Pattern Matching algorithms from KMP to Rabin-Karp; tackle essential algorithms that traverse the graph data structure like Dijkstra’s Shortest Path; study algorithms that construct a Minimum Spanning Tree (MST) from a graph; or explore Dynamic Programming algorithms. A course visualization tool will be used to understand the algorithms and their performance.

Adult professional learning on a laptop

What You Will Learn

  • Java programming skills by implementing graph and dynamic programming algorithms
  • Algorithms for finding patterns in text processing
  • How to use preprocessing in the Boyer-Moore and KMP algorithms
  • The problem with hash codes in the Rabin-Karp algorithm
  • The Graph ADT and its representations within auxiliary structures
Female professional in computer science lab looking at tablet

How You Will Benefit

  • Traverse graphs using the Depth-First and Breadth-First Search algorithms.
  • Investigate Dijkstra’s Shortest Path algorithm which operates on weighted graphs.
  • Study the Minimum Spanning Tree (MST) problem and its characteristics.
  • Utilize Greedy algorithms, like Prim’s and Kruskal’s, to find the MST.
  • Decompose large problems using Dynamic Programming Techniques.
  • Apply Dynamic Programming techniques in the Longest Common Subsequence algorithm.
  • Taught by Experts in the Field icon
    Taught by Experts in the Field
  • Grow Your Professional Network icon
    Grow Your Professional Network
Global Learning Icon - White section icon

Want to see all Massive Open Online Courses?

The course schedule was well-structured with a mix of lectures, class discussions, and hands-on exercises led by knowledgeable and engaging instructors.

- Abe Kani


We enable employers to provide specialized, on-location training on their own timetables. Our world-renowned experts can create unique content that meets your employees' specific needs. We also have the ability to deliver courses via web conferencing or on-demand online videos. For 15 or more students, it is more cost-effective for us to come to you.

  • Save Money
  • Flexible Schedule
  • Group Training
  • Customize Content
  • On-Site Training
  • Earn a Certificate
Learn More

Want to learn more about this course?