Introduction to Algorithms算法导论笔记-Lecture1

翻译 2016年06月07日 22:35:34

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)

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

MIT经典教材之算法导论Introduction.to.algorithms完整版+教材+讲义+习题答案

  • 2010年07月14日 17:14
  • 22.65MB
  • 下载

麻省理工学院《算法导论》(MIT - Introduction to Algorithms)

关于课本的介绍如下: 本书自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了...
  • ningyaliuhebei
  • ningyaliuhebei
  • 2014年04月02日 17:32
  • 920

强化学习导论(Reinforcement Learning: An Introduction)读书笔记(一):强化学习介绍

因为课题需要研究强化学习的内容,因此开始读这方面的书,Reinforcement Learning: An Introduction(Richard S. Sutton and Andrew G.Ba...
  • y954877035
  • y954877035
  • 2017年01月14日 12:43
  • 4539

算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序

算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序,及习题拙见...
  • zxnlmj
  • zxnlmj
  • 2014年06月03日 22:47
  • 920

麻省理工学院《算法导论》(MIT - Introduction to Algorithms) 视频教学下载地址

ed2k://|file|%5BMIT%E7%AE%97%E6%B3%95%E5%AF%BC%E8%AE%BA.%E8%A7%86%E9%A2%91%5D.1.ocw-6.046-07sep2005-...
  • Shan_mei
  • Shan_mei
  • 2013年05月23日 21:11
  • 1552

算法导论(Introduction to Algorithms)之堆排序(C语言实现)

源码下载地址: http://download.csdn.net/detail/mr_dodo/4962237 堆排序其重要思想,是保证数组最大堆或最小堆的性质(除根节点以外的每个结点i,均有...
  • Mr_dodo
  • Mr_dodo
  • 2013年01月05日 17:13
  • 1491

[机器学习入门] 李弘毅机器学习笔记-7 (Brief Introduction of Deep Learning;深度学习简介)

[机器学习入门] 李弘毅机器学习笔记-7 (Brief Introduction of Deep Learning;深度学习简介) PDF VIDEOUps and downs of Deep...
  • soulmeetliang
  • soulmeetliang
  • 2017年06月05日 19:32
  • 1730

Algorithms(week 1,普林斯顿大学公开课)

如需视频,课件资料等,请留言,留下email 设计一个算法的步骤:Steps to developing a usable algorithm. ・Model the problem. ・Fin...
  • lemon89
  • lemon89
  • 2016年02月02日 01:28
  • 1444

《算法》第4版(Algorithms Fourth Edition)在Eclipse下的重定向与管道问题

《算法》第4版(Algorithms Fourth Edition) 人民邮电出版社 在本书中的示例中,Java程序可以从命令行参数和标准输入流的抽象字符流中获取输入,但我们日常用的最多的环境是在Wi...
  • huanghxyz
  • huanghxyz
  • 2017年06月25日 23:04
  • 397

机器学习算法笔记2_1:生成学习算法(Generative Learning algorithms)

我们之前学习的算法都是基于p(y|x;θ)p(y|x;\theta), 他的思想是找出找出一个决策边界来将两类分开,而生成算法是先对两个类别分别建模,为了将样本分开,将样本代入两个模型,看样本与哪个类...
  • BUPT_WX
  • BUPT_WX
  • 2016年04月21日 14:01
  • 4604
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Introduction to Algorithms算法导论笔记-Lecture1
举报原因:
原因补充:

(最多只允许输入30个字)