码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构与算法应用情景总结

时间:2016-04-23 13:25:06      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

  问题  数据结构 算法 描述 效率 举例
统计   最大|最小 数组 逐个比较   O(n)  
最大&最小 数组  

每两个做输入,先在输入中比大小;

较小者去比较最小记录,较大者去比较最大记录;

O(3n/2)  
第K大   快排选择   O(n)  
前K大 堆(优先队列)  

建堆;

取K次最大

O(N) + k*logN  
排序   要求完全有序   快排   O(N*logN)  

要求取最大/最小;

可增加、删除元素;

堆(优先队列)  

 

取最大/最小  O(logN)

增加/删除     O(logN)

操作系统按任务优先级调度作业
           
查找   最新一个/最旧一个 栈/队列     O(1)  
某个 哈希表  

冲突解决方法: 线性探测法,开链法(申请、释放内存,效率低);

当填充因子较大,需要再哈希

O(1)  

某个;

找前驱后继;

最大最小;

没有增加&删除

二叉查找树   如果有增加、删除操作,可能导致退化成链表 都logN  

某个;

找前驱后继;

最大最小;

可增加&删除

红黑树     都logN  
 找最*的N个元素      分治法

把集合分成若干(通常是2)份;

递归往下,找到每份中符合条件元素,比较出最符合条件的那个;

 

 最近点;

凸包问题(最外层的点);

 求排列、子集      减治法  f(n) = f(n-1) + ...     
 字符串匹配      时空权衡法  模式串是不会变的,所以,可以提前总结模式串的规律,并保存    

数据结构与算法应用情景总结

标签:

原文地址:http://www.cnblogs.com/johnchow/p/5424239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!