算法设计与分析 Design and Analysis of Algorithms

  • 4.7
Approx. 25 hours to complete

Course Summary

This course teaches fundamental algorithms and data structures for solving problems efficiently. You will learn about topics such as sorting, searching, graph algorithms, and dynamic programming.

Key Learning Points

  • Understand and implement basic algorithms and data structures
  • Analyze algorithmic efficiency and make trade-offs between different approaches
  • Solve real-world problems using algorithms and data structures

Related Topics for further study


Learning Outcomes

  • Implement basic algorithms and data structures
  • Analyze the efficiency of algorithms and make informed trade-offs
  • Solve real-world problems using algorithms and data structures

Prerequisites or good to have knowledge before taking this course

  • Familiarity with programming concepts
  • Basic knowledge of data structures

Course Difficulty Level

Intermediate

Course Format

  • Online self-paced course
  • Video lectures and quizzes
  • Programming assignments and exams

Similar Courses

  • Data Structures and Algorithms Specialization
  • Algorithm Design and Analysis
  • Introduction to Algorithms and Data Structures in C++

Related Education Paths


Related Books

Description

课程教学目标

Outline

  • 算法基础
  • 001本周教学内容简介
  • 002算法设计的两个例子
  • 003问题的计算复杂度:排序问题
  • 004货郎问题与计算复杂性
  • 005算法及其时间复杂度
  • 006算法的伪码表示
  • 007函数的渐近的界
  • 008有关函数渐近的界的定理
  • 009几类重要的函数
  • 第一周作业
  • 序列求和与递推方程
  • 010本周教学内容简介
  • 011序列求和的方法
  • 012递推方程与算法分析
  • 013迭代法求解递推方程
  • 014差消法求解递推方程
  • 015递归树
  • 016主定理及其证明
  • 017主定理的应用
  • 第二周作业
  • 分治算法的设计与分析
  • 018本周教学内容简介
  • 019分治策略的设计思想
  • 020分治算法的一般描述和分析方法
  • 021芯片测试
  • 022快速排序
  • 023幂乘算法及应用
  • 024改进分治算法的途径1:减少子问题数
  • 025改进分治算法的途径2:增加预处理
  • 第三周作业
  • 分治算法的典型应用
  • 026本周教学内容简介(01:19)
  • 027选最大与选最小
  • 028选第二大
  • 029一般选择问题的算法设计
  • 030一般选择问题的算法分析
  • 031卷积及应用
  • 032卷积计算
  • 033快速傅立叶变换FFT算法
  • 034平面点集的凸包
  • 第四周作业
  • 动态规划算法
  • 035本周教学内容简介
  • 036动态规划算法的例子
  • 037动态规划算法设计
  • 038动态规划算法的递归实现
  • 039动态规划算法的迭代实现
  • 040投资问题
  • 041背包问题
  • 042最长公共子序列
  • 第五周作业
  • 动态规划算法的典型应用
  • 043本周教学内容简介
  • 044图像压缩
  • 045最大子段和
  • 046最优二叉检索树的概念
  • 047最优二叉检索树的算法
  • 048RNA二级结构预测
  • 049序列比对
  • 第六周作业
  • 贪心法的设计
  • 050本周教学内容简介
  • 051贪心法的例子
  • 052贪心法的正确性证明
  • 053最优装载问题
  • 054最小延迟调度
  • 055得不到最优解的处理方法
  • 第七周作业
  • 贪心算法的典型应用
  • 056本周教学内容简介
  • 057最优前缀码及哈夫曼算法
  • 058哈夫曼算法的正确性证明
  • 059最小生成树
  • 060Prim算法
  • 061Kruskal算法
  • 062单源最短路径问题及算法
  • 063Dijkstra算法的证明
  • 回溯算法的设计思想
  • 064本周教学内容简介
  • 065几个回溯算法的例子
  • 066回溯算法的设计思想和适用条件
  • 067回溯算法实现及实例
  • 068图的着色
  • 069搜索树结点数的估计
  • 第九周作业
  • 回溯算法的典型应用
  • 070本周教学内容简介
  • 071分支限界
  • 072最大团问题
  • 073货郎问题
  • 074圆排列问题
  • 075连续邮资问题
  • 076课程总结
  • 期末考试
  • 期末考试题

Summary of User Reviews

This course on algorithms has received high praise from many users for its comprehensive coverage and engaging lectures. Many users appreciated the clear explanations and practical applications of the material.

Key Aspect Users Liked About This Course

Clear explanations and practical applications

Pros from User Reviews

  • Comprehensive coverage of algorithms
  • Engaging lectures that keep users interested
  • Clear explanations of difficult concepts
  • Practical applications make the material relevant
  • Great preparation for technical interviews

Cons from User Reviews

  • Some users found the pace of the course too fast
  • Not suitable for beginners without prior programming experience
  • Some users felt that the assignments were too difficult
  • Could benefit from more interactive elements
  • Some users wished for more personalized feedback on assignments
Chinese (Simplified)
Available now
Approx. 25 hours to complete
Wanling Qu
Peking University
Coursera

Instructor

Wanling Qu

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses