Introduction to Algorithms算法导论笔记-Lecture1

Introduction to Algorithms算法导论笔记

算法导论Lesson1

课程简介:

内容主要包括

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

这里写图片描述
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

小结:
两种排序算法
对于排序问题,本节课提供了两种算法,分别是插入排序和合并排序。

插入排序是O(n*n),合并排序是O(nlgn)

其中合并排序运用了递归调用和分治策略,这两个内容将分别在后续两节中介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值