算法导论-MIT笔记
第一部分 Analysis of Algorithms
算法分析是关于计算机程序性能(performance)和资源利用的理论研究
1 What's more important than performance?
|-Correctness正确性
|-Simplicity简洁性
|-Maintainability可维护性
|-Robustness鲁棒性
|-Features(Functionality、Modularity)
|-Security
|-Scalability可扩展性
|-User-friendly
2 Problem sorting Time= O(n2)
2.1 Insertion sort
①Running time
|-Depends on input
|-Depends on input size
||-parameterize in input size
-want upper bounds运行时间上界
②Kinds of analysis
|-Worst case(usually)
|-Average case(sometimes)
||-need assumption of statistical distribution of inputs
|-Best case(bogus假象)
③Asymptotic analysis渐近分析
|-忽略依赖于极其的常量
|-关注运行时间的增长growth
-渐近符号(补充)
2.2 Merge sort归并排序 Time=O(nlgn)
-Recursion tree 推导
算法导论-MIT笔记的更多相关文章
- 《算法导论》笔记---附录 B.5 树
遇到同样的问题,在豆瓣上转过来记录下. 以下内容转自:http://book.douban.com/annotation/16409380/ -------------------分割线------- ...
- 算法导论学习笔记1---排序算法(平台:gcc 4.6.7)
平台:Ubuntu 12.04/gcc 4.6.7 插入排序 #include<vector> #include <algorithm> #include<iostrea ...
- MIT算法导论笔记
详细MIT算法导论笔记 (网络链接) 第一讲:课程简介及算法分析 (Sheridan) 第二讲:渐近符号.递归及解法 (Sheridan) 第三讲:分治法(1)(Sheridan) 第四讲:快排及随 ...
- MIT算法导论——第五讲.Linear Time Sort
本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记.所有内容均来自MIT公开课Introduction to Algorithms中Charles E. ...
- MIT算法导论——第一讲.Analysis of algorithm
本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记.所有内容均来自MIT公开课Introduction to Algorithms中Charles E. ...
- MIT算法导论——第二讲.Solving Recurrence
本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记.所有内容均来自MIT公开课Introduction to Algorithms中Charles E. ...
- MIT算法导论——第四讲.Quicksort
本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记.所有内容均来自MIT公开课Introduction to Algorithms中Charles E. ...
- MIT算法导论——第三讲.The Divide-and-Conquer
本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记.所有内容均来自MIT公开课Introduction to Algorithms中Charles E. ...
- MIT 计算机科学及编程导论 Python 笔记 1
计算机科学及编程导论在 MIT 的课程编号是 6.00.1,是计算机科学及工程学院的经典课程.之前,课程一直使用 Scheme 作为教学语言,不过由于 Python 简单.易学等原因,近年来已经改用 ...
随机推荐
- 记录GOPATH在GOLAND中的坑
首先我的环境已配置好: GO的目录结构是: add.go package calc//函数名必须大写首字母,不然外部包找不到 func Add(a int,b int)(int){ return a+ ...
- ibatis 常用标签
prepend:自动在前面加上:自动新手:自动预:自动前置 property:属性 compareValue:指定的常数,值 //判断不相等: <isNotEqual prepend=" ...
- cocos2dx中使用tolua++使lua调用c++函数
一直想学学cocos2dx中如何使用tolua++工具使得lua脚本调用C++函数,今天就来搞一下,顺便记录下来: 首先,我们打开cocos2dx-2.2.4中projects下的test的VS工程, ...
- MySQL中触发器
触发器是与某个事件相关的特殊存储过程,与存储过程不同的是,存储过程需要用 call 调用而出发器不需要使用call调用调用. 也就是自己预先定义好了,当某个事件发生时,就会自动出发触发器进行相关的操作 ...
- tips 移出 消失和 移入 显示
//规则tipsvar tip_index = 0;$(document).on('mouseenter', '.layui-badge-rim', function(){ tip_index=lay ...
- Linux 基础教程 38-文件下载
什么是wget wget用原始帮助里面的英文来讲就是:The non-interactive network downloader,非交互式网络下载器.它支持HTTP.HTTPS.FTP等协议 ...
- Python作图笔记
感谢莫烦大神,附带他的个人网站链接:https://morvanzhou.github.io/ 再带上官方的文档,多看文档啊!不然参数忘了就没地方查了:https://matplotlib.org/a ...
- 重拾C语言基础知识
从实习到工作两年多的时间了,虽然感觉学到了很多知识,但是事实上却将立足之本的基础知识给忘了个精光.也许跟自己没有出去找工作有关,没有好好的将C语言的基础牢牢掌握. 从现在开始吧!好好的重温基础,做一名 ...
- ORACLE ERP 的前世今生
一个伟大的公司必有一个伟大的产品.如果说数据库是ORACLE在上世纪最后二十年赖以起家并奠定江湖地位的旗舰产品,那么,企业应用产品(或曰ERP)则毫无疑问是ORACLE在本世纪初的这近十年,征战疆场. ...
- 2.自己的Github注册流程
一开始申请Github,说实话我真的不知道它是什么东西,而且有什么用途.然后我就用360百科搜索了一下有关它的介绍:. 而说明的是Git是一个分布式的版本控制系统.然后我进入官方网站进行账号注册,而注 ...