Packt

Advanced Algorithms, Dynamic Programming & Graph Algorithms

Packt

Advanced Algorithms, Dynamic Programming & Graph Algorithms

访问权限由 New York State Department of Labor 提供

深入了解一个主题并学习基础知识。
中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
深入了解一个主题并学习基础知识。
中级 等级

推荐体验

2 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度

您将学到什么

  • Learn advanced heap operations to solve optimization problems in algorithmic challenges.

  • Understand and apply dynamic programming techniques to solve complex recursive problems.

  • Implement advanced graph algorithms like Dijkstra’s, Bellman-Ford, and Prim’s Algorithm for real-world problems.

  • Master bit manipulation techniques for efficient data handling in coding challenges.

要了解的详细信息

可分享的证书

添加到您的领英档案

作业

12 项作业

授课语言:英语(English)
最近已更新!

April 2026

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

积累特定领域的专业知识

本课程是 Data Structures & Algorithms in Java + 150 Leetcode Problems 专项课程 专项课程的一部分
在注册此课程时,您还会同时注册此专项课程。
  • 向行业专家学习新概念
  • 获得对主题或工具的基础理解
  • 通过实践项目培养工作相关技能
  • 获得可共享的职业证书

该课程共有10个模块

In this module, we will explore heap data structures, including their fundamental operations like insertion, deletion, and heapify. We will implement heaps in Java and apply them to real-world problems such as finding the kth largest element and solving the "Last Stone Weight" problem. By the end of this section, you will have hands-on experience solving various heap-based problems.

涵盖的内容

13个视频2篇阅读材料1个作业

In this module, we will delve into dynamic programming (DP) techniques, understanding their theoretical foundation and practical use. We will solve a variety of problems, from simple ones like "Climbing Stairs" to more complex ones such as "Longest Palindromic Substring." By the end, you'll be equipped to apply dynamic programming to tackle a wide range of algorithmic challenges.

涵盖的内容

17个视频1个作业

In this module, we will explore bit manipulation techniques and how they can optimize problem-solving. You'll learn the key bitwise operators and solve practice problems, from finding a single number in an array to dividing integers using bit shifts. By the end of this section, you'll be proficient in using bitwise operations for efficient solutions.

涵盖的内容

10个视频1个作业

In this module, we will focus on the Disjoint Set (Union-Find) data structure, learning how it helps efficiently solve problems in graph theory. We'll implement Union-Find with optimizations to improve its performance and apply it to problems like cycle detection and finding connected components. This section will give you the tools to work with graph-based problems effectively.

涵盖的内容

7个视频1个作业

In this module, we will dive into graph theory, starting with essential concepts like directed vs. undirected graphs and weighted vs. unweighted graphs. You'll learn and implement graph traversal techniques like BFS and DFS, along with optimization algorithms such as Dijkstra’s and Prim’s. By the end of this section, you’ll be able to solve various graph-related problems with confidence.

涵盖的内容

48个视频1个作业

In this module, we will explore the principles of greedy algorithms and their applications in optimization problems. You’ll tackle practice problems like "Best Time to Buy and Sell Stock II" and "Candy," learning how greedy strategies help find the most efficient solutions. By the end of this section, you’ll be able to apply greedy algorithms to real-world optimization challenges.

涵盖的内容

4个视频1个作业

In this module, we will explore the fundamentals of game theory, focusing on strategic decision-making in competitive scenarios. You will solve problems such as "Nim’s Game," learning how to use optimal moves to determine the winner. By the end, you will have a solid understanding of game theory and how to apply it to solve problems in competitive environments.

涵盖的内容

1个视频1个作业

In this module, we will delve into advanced string matching algorithms, focusing on the Knuth-Morris-Pratt (KMP) algorithm. You will learn both brute force and optimized methods for string matching and subsequences. By the end of this section, you’ll be able to solve complex string matching problems using efficient algorithms.

涵盖的内容

10个视频1个作业

In this module, we will explore various string problems, starting with the "Longest Palindromic Substring." You'll learn how to solve string manipulation problems using dynamic programming and optimize your solutions for better performance. By the end of this section, you'll have the skills to tackle a range of challenging string problems efficiently.

涵盖的内容

1个视频1个作业

In this module, we will focus on segment trees, an advanced data structure that is essential for solving range queries and updates. You will learn how to build and implement segment trees, answering complex range queries efficiently. By the end of this section, you’ll be capable of using segment trees to optimize a variety of range-based problems.

涵盖的内容

7个视频1篇阅读材料3个作业

获得职业证书

将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。

位教师

Packt - Course Instructors
Packt
1,749 门课程494,468 名学生

提供方

Packt

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.

自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'

Jennifer J.

自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'

Larry W.

自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'

Chaitanya A.

''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

从 Computer Science 浏览更多内容