当前课程知识点:算法设计与分析 >  1 Introduction of Algorithm >  1.1 Introduction >  Introduction

返回《算法设计与分析》慕课在线视频课程列表

Introduction在线视频

Introduction

下一节:A First Problem: Stable Matching

返回《算法设计与分析》慕课在线视频列表

Introduction课程教案、知识点、字幕

算法是计算机科学的核心内容

也是数学中的重要研究对象

算法的设计与分析是科学 技术

也是一门艺术

什么是算法

Knuth说

算法是一个有限的 明确的

有效的从输入到输出的进程

算法就在我们身边

我们在启蒙的时候

就会计算两个整数的加法

稍大一些

我们学习了整数的乘法

x×y定义为y个x相加

可以用加法的方法来计算乘法

在小学 我们学习了整数的竖式乘法

比如423×577

我们可以通过如下的算式计算出结果

回顾一下这个竖式乘法

我们有一个运算的规则

用577的每一位依次去乘423的每一位

再按照规则进行进位和相加

最后得到我们需要的答案

这就是一个典型的算法

我们研究算法是因为它有最广泛的应用

可以说无处不在

在很多领域

如 数据库 排序 网络 数据分析

符号处理 计算图形学 科学计算

运筹学 人工智能 计算生物等等

都有着丰富的算法问题

算法的种类和形式多种多样

在本课程中

我们关注那些在实际中

被广泛采用的算法和技术

并侧重于问题与算法的结构

以及数学上的分析

刚才提到了整数加法和乘法的算法

还有很多很多历史悠久的算法

但是把算法作为研究的对象

是近100多年的事情

由其是电子计算机的出现

提出了大量的算法问题

并使算法的实现成为可能

也带来一个新的学科

计算机科学

在19世纪中叶

计算机及算法的先驱

查尔斯.巴贝奇就说过

只要一个分析引擎存在

它就必然会引导未来的科学

它会在计算和分析上给予帮助

但也会产生一个问题

如何计算才能在最短的时间

得到想要的结果

这是人们早期对算法及其效率的思考

在本课程中

我们学习一些

常用的算法设计与分析的技术

包括 贪婪算法 分治算法 动态规划

网络流 计算难解性 近似算法

局部搜索 随机算法等

它们在现实中有着广泛的应用

而通过对一些经典算法的学习

可以积累经验

逐步做到触类旁通

举一反三

对于你所遇到的问题

设计出自己的算法

本课程使用Kleinberg和Tardos的经典教材

算法设计

清华出版社引进了该书的影印版

本书的两位作者Kleinberg和Tardos

都是康奈尔大学计算机系的教授

是算法领域的世界级专家

本书包括一般算法教材中的经典内容

而且有很多当前的研究热门课题

有些是作者本人的研究成果

该教材深入浅出

在内容的规划和选取

体现了作者对算法领域的深刻理解

另外 这本教材行文流畅

也是学习算法及理论计算机科学

英文科技表达的很好范例

算法设计与分析课程列表:

1 Introduction of Algorithm

-1.1 Introduction

--Introduction

-1.2 A First Problem: Stable Matching

--A First Problem: Stable Matching

-1.3 Gale-Shapley Algorithm

--Gale-Shapley Algorithm

-1.4 Understanding Gale-Shapley Algorithm

--Understanding Gale-Shapley Algorithm

-Homework1

-Lecture note 1

--Lecture note 1 Introduction of Algorithm

2 Basics of Algorithm Analysis

-2.1 Computational Tractability

--Computational Tractability

-2.2 Asymptotic Order of Growth

--Asymptotic Order of Growth

-2.3 A Survey of Common Running Times

--A Survey of Common Running Times

-Homework2

-Lecture note 2

--Lecture note 2 Basics of Algorithm Analysis

3 Graph

-3.1 Basic Definitions and Applications

--Basic Definitions and Applications

-3.2 Graph Traversal

--Graph Traversal

-3.3 Testing Bipartiteness

--Testing Bipartiteness

-3.4 Connectivity in Directed Graphs

--Connectivity in Directed Graphs

-3.5 DAG and Topological Ordering

--DAG and Topological Ordering

-Homework3

-Lecture note 3

--Lecture note 3 Graph

4 Greedy Algorithms

-4.1 Coin Changing

--Coin Changing

-4.2 Interval Scheduling

--Interval Scheduling

-4.3 Interval Partitioning

--Interval Partitioning

-4.4 Scheduling to Minimize Lateness

--Scheduling to Minimize Lateness

-4.5 Optimal Caching

--Optimal Caching

-4.6 Shortest Paths in a Graph

--Shortest Paths in a Graph

-4.7 Minimum Spanning Tree

--Minimum Spanning Tree

-4.8 Correctness of Algorithms

--Correctness of Algorithms

-4.9 Clustering

--Clustering

-Homework4

-Lecture note 4

--Lecture note 4 Greedy Algorithms

5 Divide and Conquer

-5.1 Mergesort

--Mergesort

-5.2 Counting Inversions

--Counting Inversions

-5.3 Closest Pair of Points

--Closest Pair of Points

-5.4 Integer Multiplication

--Integer Multiplication

-5.5 Matrix Multiplication

--Video

-5.6 Convolution and FFT

--Convolution and FFT

-5.7 FFT

--FFT

-5.8 Inverse DFT

--Inverse DFT

-Homework5

-Lecture note 5

--Lecture note 5 Divide and Conquer

6 Dynamic Programming

-6.1 Weighted Interval Scheduling

--Weighted Interval Scheduling

-6.2 Segmented Least Squares

--Segmented Least Squares

-6.3 Knapsack Problem

--Knapsack Problem

-6.4 RNA Secondary Structure

--RNA Secondary Structure

-6.5 Sequence Alignment

--Sequence Alignment

-6.6 Shortest Paths

--Shortest Paths

-Homework6

-Lecture note 6

--Lecture note 6 Dynamic Programming

7 Network Flow

-7.1 Flows and Cuts

--Flows and Cuts

-7.2 Minimum Cut and Maximum Flow

--Minimum Cut and Maximum Flow

-7.3 Ford-Fulkerson Algorithm

--Ford-Fulkerson Algorithm

-7.4 Choosing Good Augmenting Paths

--Choosing Good Augmenting Paths

-7.5 Bipartite Matching

--Bipartite Matching

-Homework7

-Lecture note 7

--Lecture note 7 Network Flow

8 NP and Computational Intractability

-8.1 Polynomial-Time Reductions

--Polynomial-Time Reductions

-8.2 Basic Reduction Strategies I

--Basic Reduction Strategies I

-8.3 Basic Reduction Strategies II

--Basic Reduction Strategies II

-8.4 Definition of NP

--Definition of NP

-8.5 Problems in NP

--Problems in NP

-8.6 NP-Completeness

--NP-Completeness

-8.7 Sequencing Problems

--Sequencing Problems

-8.8 Numerical Problems

--Numerical Problems

-8.9 co-NP and the Asymmetry of NP

--co-NP and the Asymmetry of NP

-Homework8

-Lecture note 8

--Lecture note 8 NP and Computational Intractability

9 Approximation Algorithms

-9.1 Load Balancing

--Load Balancing

-9.2 Center Selection

--Center Selection

-9.3 The Pricing Method: Vertex Cover

--The Pricing Method: Vertex Cover

-9.4 LP Rounding: Vertex Cover

--LP Rounding: Vertex Cover

-9.5 Knapsack Problem

--Knapsack Problem

-Homework9

-Lecture note 9

--Lecture note 9 Approximation Algorithms

10 Local Search

-10.1 Landscape of an Optimization Problem

--Landscape of an Optimization Problem

-10.2 Maximum Cut

--Maximum Cut

-10.3 Nash Equilibria

--Nash Equilibria

-10.4 Price of Stability

--Price of Stability

-Homework10

-Lecture note 10

--Lecture note 10 Local Search

11 Randomized Algorithms

-11.1 Contention Resolution

--Contention Resolution

-11.2 Linearity of Expectation

--Linearity of Expectation

-11.3 MAX 3-SAT

--MAX 3-SAT

-11.4 Chernoff Bounds

--Chernoff Bounds

-Homework11

-Lecture note 11

--Lecture note 11 Randomized Algorithms

Exam

-Exam

Introduction笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。