Dynamic Programming, Greedy Algorithms

所在平台: Coursera

课程主页: https://www.coursera.org/learn/dynamic-programming-greedy-algorithms

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程总结:动态规划与贪心算法 本课程涵盖了基本的算法设计技巧,包括分治法、动态规划和贪心算法,并以对不可算性(NP完全性)的简要介绍以及使用线性/整数规划求解器解决优化问题作为结尾。此外,我们还将涉及一些高级数据结构主题。 动态规划与贪心算法课程可以作为科罗拉多大学博尔德分校数据科学硕士学位(MS-DS)的一部分获得学分。该学位是一门跨学科课程,汇聚了来自应用数学、计算机科学、信息科学等多个系的教职员工。该项目采用基于表现的录取方式,无需申请过程,适合具有计算机科学、信息科学、数学及统计等广泛背景的个人。 课程大纲如下: 1. **分治算法** - 本模块正式讨论分治算法的设计方案,探讨我们之前遇到的一些分治算法,学习整数乘法(Karatsuba算法)、矩阵乘法(Strassen算法)、快速傅里叶变换以及寻找最近点对等分治算法。 2. **动态规划算法** - 学习动态规划作为算法设计原则的应用。通过逐步的方式将问题表述为动态规划,并使用备忘录法解决这些问题。重点包括最长公共子序列、背包问题及其他有趣的动态规划应用。 3. **贪心算法** - 本模块将学习贪心算法的基本设计原则,研究贪心调度和霍夫曼编码等算法,并探索在一些特定情况下,贪心策略如何提供对实际解决方案的有保障的近似。 4. **不可算性与量子计算补充** - 讨论P和NP问题,举例包括旅行推销员问题、顶点覆盖、3-着色等;介绍整数线性规划及将问题转化为整数规划的过程。 通过本课程,学员将能够掌握有效的算法设计原则,为解决现实中的优化问题奠定坚实的基础。欲了解更多关于数据科学硕士项目的信息,请访问[科罗拉多大学博尔德分校的数据科学硕士课程](https://www.coursera.org/degrees/master-of-science-data-science-boulder)。

课程大纲

Name:Divide and Conquer Algorithms

Description:We will formally cover divide and conquer algorithms as a design scheme and look at some divide and conquer algorithms we have encountered in the past. We will learn some divide and conquer algorithms for Integer Multiplication (Karatsuba’s Algorithm), Matrix Multiplication (Strassen’s Algorithm), Fast Fourier Transforms (FFTs), and Finding Closest Pair of Points.

Name:Dynamic Programming Algorithms

Description:In this module, you will learn about dynamic programming as a design principle for algorithms. We will provide a step-by-step approach to formulating a problem as a dynamic program and solving these problems using memoization. We will cover dynamic programming for finding longest common subsequences, Knapsack problem and some interesting dynamic programming applications.

Name:Greedy Algorithms

Description:In this module, we will learn about greedy algorithms. We will understand the basic design principles for greedy algorithms and learn about a few algorithms for greedy scheduling and Huffman codes. We will also learn some interesting cases when being greedy provides a guaranteed approximation to the actual solution.

Name:Intractability and Supplement on Quantum Computing

Description: P vs NP, Examples such as Travelling Salesperson Problem, Vertex Cover, 3-Coloring and others; Integer Linear Programming and Translating Problems into Integer Programming.

课程评论(0条)

课程详情

This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. We will also cover some advanced topics in data structures. Dynamic Programming, Greedy Algorithms can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder.

课程标签

0人关注该课程

主题相关的课程