算法与数据结构汇总

如果debugging是一种消灭bug的过程,那编程就一定是把bug放进去的过程。
Edsger Dijkstra

前言

一起学习,一起成长,全篇优先用Java实现,必要时会补上伪代码,其它语种再说。
如有错误或纰漏之处,请不吝赐教,谢谢!

写作背景

废话一段,可以直接略过
算法一直以来都是我的弱项,不仅是因为其枯燥无味,更多是因为自身的原因,没有坚持下来。
在工作中越来越发现,算法的重要性,并不是说在你在工作中一定能用到多少,而是算法思想的重要性!

经常性的发现,我需要完成一个东西,不论是工作中还是工作外,都发现短板:我不知道有什么更好的方式去实现!
从自身的角度,正式因为看到这种思想的重要性,想要全面的提升一下自己,自然系统的重新汇总学习是有必要的。

系列内容细则

本着汇总,尽量会写的详细,涉及面广一点。如果有时间,有能力的话,也会来写一写当下最新的东西。
既然写,能力有限,很多文章可能并不会做到100%原创,所以我会在每篇文章的结尾写上所有内容引用链接,必要的情况下会做好角标。
全篇系列中,所有涉及到的,个人贴的代码块,均会亲自跑一下。无法跑的代码,会已引用的方式贴出,必要的情况下会以图片的方式贴出。

内容概要[实时更新]

  1. 线性结构
    1. 数组
    2. 链表
    3. 队列
  2. 非线性结构
    1. 二叉树
    2. 多维数组
    3. 广义表
    4. AVL树
    5. 伸展树
    6. 红黑树
    7. 哈夫曼树
    1. 二叉堆
    2. 左倾堆
    3. 斜堆
    4. 二项堆
  3. 排序算法

系列参考链接

博客园skywang12345: 数据结构与算法系列 目录