算法导论笔记

衡量算法效率的常用标准是速度,即一个算法得到最后结果所需要的时间。

通过具体的例子,来学习算法知识。

读书的时候,不要错过书中的发散型练习,最好能思考一遍。思考了,你的理解就更深了。

读书就要多多思考,多多提问。在思考中将知识点理解透彻。

衡量效率的指标有时间和空间。一般需要时间少,占用空间少的算法好一些。

当数据量很大很大的时候,高效算法的优势就表现出来了。

时间复杂度由小到大:O(1)<=O(log2 n)<=O(n)<=O(nlog2 n)<=O(n^2)<=O(n^3)<=.........<=O(n^k)<=O(2^n)。

伪代码就是采用最具表达力、最简明的方法,来表达一个给定的算法。甚至直接用英语来表达。

一般考虑算法好坏都是考虑最坏情况运行时间。

数据结构,是一个信息的结构化表示。

基本的结构包括两种,线性结构和非线性结构,线性结构有队列、链表、栈,非线性包括树、图。

线性结构中元素之间存在一对一关系。非线性结构元素之间存在一对多、多对多关系。一对多的比如树,多对多的比如图。

基本的操作包括:结构的生成和销毁;元素进行检索;插入新的数据元素或删除已经存在的数据元素;遍历数据结构中的元素。

时间复杂度比较:O(1)<=O(log2 n)<=O(n)<=O(nlog2 n)<=O(n^2)<=O(n^3)<=.........<=O(n^k)<=O(2^n)。

posted @ 2012-06-29 13:08  TBHacker  阅读(301)  评论(0编辑  收藏  举报