历时三年,写的一本数据结构与算法pdf,开源了!
前言
大家好,我是bigsai,很早就在写博客,将文章整理成了一个pdf,并且开源到github上(承认有很多已经很好的,大佬勿喷)!
自己写东西断断续续也不少时间了,也写了不少东西(虽然是偏向小白),这个其实花费的时间还是比较多的,这次的话主要将数据结构与算法中一些文章整理出来,初步整理成一版pdf,先分享给大家。
因为在整理pdf方面没啥经验,目前还是md直接导出的pdf的,看了下有些部分代码太长太占页面,有些部分图片太长也很占地方,有部分文章还尝试不同风格显得不那么条理,有些地方页面突然分割也很影响视觉体验……
虽然有很多缺点和问题,这些地方后面也在想办法考虑一点点优化,也欢迎大伙提出宝贵的意见!当然这个仓库也是开源的,有兴趣一起维护的可以维护。
更新会同步到Github仓库中,也会告知大家。近期会将以前写的其他数据结构算法部分(未优化)优化更新上去。
github地址:https://github.com/javasmall/bigsai-algorithm
主要内容
- 理论基础搭建:绪论基础知识:理解数据结构的相关概念,熟悉时间复杂度和空间复杂度。写给小白硬核递归:通过解决经典问题,深入理解递归,掌握记忆化递归的妙用。
- 线性结构的掌握:图解线性表:手写顺序表和链表,理解带头结点和不带头结点链表的实现区别。图解双链表:手写双链表,考虑好节点直接联系,特别是考研重点。
- 栈与队列的熟练使用:栈:掌握后进先出规则,实现上用顺序表和链表考虑区别。队列:理解先进先出规则,实现上使用循环数组和链表分别实现。
- 更高级的线性结构:跳表
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
图解数据结构与算法(Java) 文章被收录于专栏
让数据结构与算法学习更简单,每一种数据结构与算法通过多图的方式讲解、实现、解题,内容覆盖递归详解、单双链表、堆、栈、二叉树(遍历、插删)、AVL树、哈夫曼树、字典树、dfs、bfs、拓扑排序、Dijkstra、Floyd、并查集、跳表、分治算法、动态规划、快速幂、十大排序等等。 还覆盖超经典面试笔试题例如:topK问题、约瑟夫环问题、链表找环问题、LRU、20+道经典动态规划问题!