数据结构与算法系列之总篇

〇、前言

不知何时起,江湖上出现了一个门派,名曰“计算机技术”。其以功法多样、内功高深以及有教无类而闻名江湖。各路侠客,闻名而至。然,多数人只热衷于功法,而畏怯其内功难度,避而不修。殊不知,功法和内功乃相辅相成。。。

一、为何学

  1. 更好地使用Java类库,Java类库封装了大量的数据结构和算法,并做了优化。学习数据结构与算法可以更好地理解Java类库,进而能从中学习并更好地使用。比如,什么情况下用ArrayList好,什么情况下用LinkedList好。又比如,要用一个类,需要注意什么等等。
  2. 写出高效的代码,比如,同样根据RPC的原理,写出的RPC框架,为什么有的人写出来自己都不想用,而有的人写出来,开源给千千万万的人用,甚至被Apache收录。
  3. 更好地阅读开源框架的源码,以便更深地理解其原理和设计。引用一句话:内行看门道,外行看热闹。

二、怎么学

  1. 打蛇打七寸,抓住常用的;
  2. 学透彻,举一反三,深入理解;
  3. 使用场景,注意事项,学来就是用的;
  4. 边学边练,刷必要的题,如LeetCode上的;
  5. 创建一个GitHub工程,随时记录常用的数据结构和算法,逐渐沉淀;

某个算法很难理解时,借助一个简单的例子,去理思路是个很好的办法。

三、内容大纲

上面配图是用ProcessOn所画,点击图片可访问原文件,如果喜欢,请点个赞。

1、数据结构

  1. 数据结构与算法系列之数据结构:数组
  2. 数据结构与算法系列之数据结构:链表
  3. 数据结构与算法系列之数据结构:栈
  4. 数据结构与算法系列之数据结构:队列
  5. 数据结构与算法系列之数据结构:哈希表
  6. 数据结构与算法系列之数据结构:树
  7. 数据结构与算法系列之数据结构:堆
  8. 数据结构与算法系列之数据结构:图
  9. 数据结构与算法系列之数据结构:跳表
  10. 数据结构与算法系列之数据结构:位图
  11. 数据结构与算法系列之数据结构:字符串

2、算法思想

  1. 数据结构与算法系列之算法思想:分治算法
  2. 数据结构与算法系列之算法思想:贪心算法
  3. 数据结构与算法系列之算法思想:动态规划
  4. 数据结构与算法系列之算法思想:回溯算法
  5. 数据结构与算法系列之算法思想:枚举算法
  6. 数据结构与算法系列之算法思想:摊还分析

3、常用算法

  1. 数据结构与算法系列之常用算法:排序算法
  2. 数据结构与算法系列之常用算法:查找算法
  3. 数据结构与算法系列之常用算法:搜索算法
  4. 数据结构与算法系列之常用算法:字符串匹配算法
  5. 数据结构与算法系列之常用算法:LRU算法和LFU算法
  6. 数据结构与算法系列之常用算法:负载均衡算法
  7. 数据结构与算法系列之常用算法:一致性哈希算法
  8. 数据结构与算法系列之常用算法:Snowflake算法
  9. 数据结构与算法系列之常用算法:蓄水池抽样算法

四、总结

如果想在技术这条路上走的更远,数据结构与算法是必须迈过的门槛。

posted @ 2020-01-08 14:08  尜尜人物  阅读(318)  评论(0编辑  收藏