# 算法设计与分析

## Algorithm Design and Analysis

Learn about the core principles of computer science: algorithmic thinking and computational problem solving.

668 次查看

edX • 完成时间大约为 4
• 中级
• 英语

### 你将学到什么

How to represent data in ways that allow you to access it efficiently in the ways you need to

How to analyze the efficiency of algorithms

How to bootstrap solutions on small inputs into algorithmic solutions on bigger inputs

Solutions to several classic optimization problems

How to critically analyze whether a locally optimal approach (greedy) can provide a globally optimal solution to a problem

### 课程概况

How do you optimally encode a text file? How do you find shortest paths in a map? How do you design a communication network? How do you route data in a network? What are the limits of efficient computation?

This course, part of the Computer Science Essentials for Software Development Professional Certificate program, is an introduction to design and analysis of algorithms, and answers along the way these and many other interesting computational questions.

You will learn about algorithms that operate on common data structures, for instance sorting and searching; advanced design and analysis techniques such as dynamic programming and greedy algorithms; advanced graph algorithms such as minimum spanning trees and shortest paths; NP-completeness theory; and approximation algorithms.

After completing this course you will be able to design efficient and correct algorithms using sophisticated data structures for complex computational tasks.

### 课程大纲

Week 1: Mathematical Preliminaries; Asymptotic analysis and recurrence relations; Sorting and Searching; Heaps and Binary Search Trees

Week 2: Algorithm Design Paradigms - Divide-and-Conquer algorithms, Dynamic Programming, Greedy Algorithms

Week 3: Graphs and graph traversals; minimum spanning trees; shortest paths

Week 4: Flows; NP-completeness; Approximation Algorithms

### 预备知识

Discrete Mathematics - sets, functions, relations; proofs, and proofs by induction; Boolean logic
Basic probability
Basic knowledge of Java Apple 广告
##### 声明：MOOC中国十分重视知识产权问题，我们发布之课程均源自下列机构，版权均归其所有，本站仅作报道收录并尊重其著作权益。感谢他们对MOOC事业做出的贡献！
• Coursera
• edX
• OpenLearning
• FutureLearn
• iversity
• Udacity
• NovoEd
• Canvas
• Open2Study
• ewant
• FUN
• IOC-Athlete-MOOC
• World-Science-U
• CourseSites
• opencourseworld
• ShareCourse
• gacco