《算法导论》第一章_读书笔记

来源:互联网 发布:铣床铣平面编程 编辑:程序博客网 时间:2024/05/16 11:08

为什么需要了解NP完全问题?

如果能证明该问题是NP完全,就不用浪费时间寻找最优解,而是转为寻找近似问题的一个近似最佳解

算法vs硬件?
有效的算法对性能的提升大于更好的硬件

习题答案

1.1.1现实生活中的例子

排序

算成绩

计算凸壳

海中捞飞机残骸

1.1.5只需要寻找最佳解

发现其实现实生活中的问题,很少要求最佳解的,大部分问题,只需要近似最佳解答就行,只有非要pk出个第一第二的情况才非得最佳解吧,比如地图软件多个路径计算出来最后计算最短时间的路径o(╯□╰)o

近似最佳解答就足够好

大部分问题都适用,比如叫车软件啊,各种推荐系统啊,各种套利系统啊,地图软件计算路线,blabla

1.1.4 最短路径问题和旅行商问题的区别

最短路径不需要经过所有点;旅行商问题需要经过所有点,所以更复杂

1.1.3各种数据结构的优缺点

数组

优点:插入块如果知道坐标可以快速去地存取

缺点:查找慢,删除慢,大小固定

有序数组

优点:比无序数组查找快

缺点:删除和插入慢,大小固定

优点:提供后进先出的存取方式

缺点:存取其他项很慢

队列

优点:提供先进先出的存取方式

缺点:存取其他项都很慢

链表

优点:插入快,删除快

缺点:查找慢

二叉树

优点:查找,插入,删除都快(如果数保持平衡)

缺点:删除算法复杂

红-黑树

优点:查找,插入,删除都快,树总是平衡的

缺点:算法复杂

###2-3-4树

优点:查找,插入,删除都快,树总是平衡的。类似的树对磁盘存储有用

缺点:算法复杂

###哈希表

优点:如果关键字已知则存取速度极快,插入块

缺点:删除慢,如果不知道关键则存取很慢,对存储空间使用不充分

优点:插入,删除块,对最大数据的项存取很快

缺点:对其他数据项存取很慢

优点:对现实世界建模

缺点:有些算法慢且复杂

0 0
原创粉丝点击