• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

竹千代

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

  问题  数据结构 算法 描述 效率 举例
统计   最大|最小 数组 逐个比较   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) + ...     
对照探索  字符串匹配    时空权衡法  模式串是不会变的,所以,要提前总结模式串的规律,并保存    

元素的可选集合确定

求满足条件的解;

或满足条件最佳解

 

 

回溯法;

分支界限法;

   

背包问题;

迷宫;

八皇后;

posted on 2016-04-23 11:36  竹千代  阅读(286)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3