Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8738
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-19 21:20
文章分类

全部博文(3)

文章存档

2014年(3)

我的朋友
最近访客

分类: Java

2014-11-21 15:02:36

  • 这个问答贴来自 。伯乐在线摘编现有的一些热门回答:

算法

  1. 图搜索 (广度优先、深度优先)深度优先特别重要
  2. 排序
  3. 动态规划
  4. 匹配算法和网络流算法
  5. 正则表达式和字符串匹配

数据结构

  1. 图 (树尤其重要)
  2. Map
  3. 栈/队列
  4. Tries | 字典树

额外推荐

  • 贪婪算法
  • 概率方法
  • 近似算法

 

上面是 Arjun Nayini 的推荐,下面是 Ken George 的推荐

注:下面这个没有特定优先级

算法:

  • 三路划分-快速排序
  • 合并排序(更具扩展性,复杂度类似快速排序)
  • DF/BF 搜索 (要知道使用场景)
  • Prim  / Kruskal (最小生成树)
  • Dijkstra (最短路径算法)
  • 选择算法

数据结构

  • HashMap (真的要知道所有哈希结构)
  • 图和树(红黑树很好学) (red-black trees are good to learn)
  • 堆(优先级队列)
  • 栈/队列(必须知道的基础内容)
  • Tries | 字典树

A *和遗传算法也很有趣。   

阅读(209) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~