# Introduction to Algorithms算法导论笔记

## 课程简介：

• 算法的含义、意义的简要介绍；
• 算法的分析；
• 插入排序、合并排序
• 如下图：
如下图：

preface
Analysis of Algorithms
The theoretical study of computer program
performance and resource usage

What’s more important than perf?
cost, ux
Why study algs and perf?
infeasable ->feasable
perf like the currency in economy
Perf is the precondition to have good ux.
bottom of heap
Speed is always fun.

Problem Sorting
input sequence [a1,a2,…,an] of numbers
output permutation[a1’,a2’,…,an’] to sorted as smaller->bigger

Insertion Sort

Running time:
- depends on input(e.g. sorted already)
- depends on input size( 6 elem. vs 6*10**9)

Kinds of analysis

• Worst-case(usually)

T(n) =max time on any input of size n

• Average-case:(sometimes)

T(n)=expected time over all inputs of size n
(Need assumption of stat. distr.)

• Best-case:(bogus)
cheat

What’s my sort’s worst time?
Depends on computer

• relative speed(on same machine)
• absolute speed(on different machines)
BIG DATA
渐进分析
look at the growth of time when n->infinity
Asymptotic notation:

O(n**3) Drop low-order such as n**2,n,constant and leading constant.

arithmetic series（算术级数，等差级数）
教授居然说，我们这里有高手知道算数级数，沟通就好办了。
Merge Sort

1. If n=1, done
2. Recursively sort
a[1,…n/2] and
a[n/2+1,…n]
3. Merge 2 sorted lists.
Key Subroutine: Merge
20 12
13 11
7 9
2 1
1 2 7 9 11 13 12 20

• 本文已收录于以下专栏：

举报原因： 您举报文章：Introduction to Algorithms算法导论笔记-Lecture1 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)