算法导论MIT第一讲

什么是算法

算法就是任何定义良好的计算过程,该过程取某个值或者集合作为输入并且产生某个值或值的集合作为输出。算法就是把输入转换成输出的计算步骤的一个序列 例如给定的有序符号X=(x1, x2, …xn),求出X的最长公共子序列, 这个计算的步骤,合在一起就是算法

算法的时间

研究算法,就要研究其计算的花销,不仅仅包括物理空间的花销,也需要看时间的花销, 例如下面将讲到的,不同的排序的方法,会有不同的时间花销,效率是算法研究的一个重要特性

算法的应用以及为什么要学习算法

算法在计算机与现实生活中的应用不亚于硬件的作用,是否具有算法知识的技术是区分熟练程序员和初学者的一个特征。使用现代技术,如果你对算法懂的不多,你也可以完成一些任务,但是如果你有一个好的算法背景,那么你可以做的就多得多

T(n)介绍

T(n)表示运行算法需要的时间,我们一般会研究下面三种,其中Average-case:是我们研究的重点
- Worst-case: 最大运行时间
- Average-case: 平均运行时间

- Best-case: 算法运行的最好时间

渐进分析

我们研究一个算法时,忽略常量,忽略所有的最底项,只分析最高项,关注于运行时间的增长,而不仅仅是运行时间 例如

6n^3 + 7n^2+3n+4

我们忽略6, 7,3,4这两四个常量,再忽略掉n^2, n^1,n^0,那么我们可以说这个算法的时间复杂度是O(n^3)

b待续

发布了137 篇原创文章 · 获赞 211 · 访问量 58万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览