logo头像
Snippet 博客主题

学习计划-30天突破算法

** 学习计划-30天突破算法:** <Excerpt in index | 首页摘要>
作为一个非专业出身的程序员,一直对算法的学习赶紧断断续续,终于下定决心对算法做一次详细总结。30天时间把程序员常用算法逐一突破。这次计划更是对自己的一次挑战,希望自己能坚持到最后!

<The rest of contents | 余下全文>

学习排序算法的意义

  1. 学会比较算法的性能的方法
  2. 相关的排序能解决类似的问题
  3. 排序算法很多时候是解决问题的第一步

排序算法

  1. 快速排序
  2. 插入排序
  3. 希尔排序
  4. 归并排序
  5. 选择排序
  6. 冒泡排序
  7. 堆排序
  8. 桶排序
  9. 排序算法比较

  1. 二叉树高度和二叉树的遍历
  2. 红黑树
  3. b树

查找算法

  1. 二分查找
  2. 二叉查找树
  3. 平衡查找树
  4. 散列表

算法思想

  1. 递归(普通递归,尾递归)
  2. 动态规划
  3. 贪婪算法
  4. 分治法

图的算法

  1. 深度优先
  2. 广度优先
  3. 最小生成树
  4. 最短路径

字符串算法

  1. 字符串查找
  2. 单词查找树
  3. 子字符串查找

典型算法分析

  1. 拓扑排序
  2. 关键路径排序
  3. 遗传算法
  4. RSA算法

英语技术文档阅读突破

  1. 熟悉常用技术词汇
  2. 阅读常见的技术文档(官网文档看一遍)
  3. 记住常用的词汇
  4. 阅读英文技术书籍