资源

玩转算法系列--玩转数据结构 更适合0算法基础入门到进阶(java版)

手把手从底层实现数据结构,层层深入,帮你提升编程内功
  • 第1章 欢迎学习《玩转数据结构》
  • 4564fabe4c2b10f99a6ebba2106454eb.png

    欢迎大家学习《玩转数据结构》课程。在这个课程中,我们将从底层实现诸多数据结构,从简单,到复杂,并且探索他们的应用。在这一章,我们将来看一看数据结构的具体作用,学习数据结构的误区,学习这个课程的注意事项,和课程环境的基本搭建:) ...

    •  1-1 欢迎学习《玩转数据结构》

    •  1-2 学习数据结构(和算法)到底有没有用?

    •  1-3 关于课程学习的更多注意事项

    •  1-4 课程编程环境搭建

    •  1-5 关于课程的其他语言支持:Python,C++,JS,Go

    •  1-6 在学习数据结构的具体知识前,你可能想读一读这两篇文章

  • 第2章 不要小瞧数组

    数组,看似是最简单的数据结构,但是,大多数语言为我们提供的都是静态数组,如何封装一个属于我们自己的动态数组,将是这一章讨论的重点。同时,我们也将探讨泛型,复杂度分析,乃至复杂度的震荡,等相关高级话题

    •  2-1 使用Java中的数组

    •  2-2 二次封装属于我们自己的数组

    •  2-3 向数组中添加元素

    •  2-4 数组中查询元素和修改元素

    •  2-5 包含,搜索和删除

    •  2-6 使用泛型

    •  2-7 动态数组

    •  2-8 简单的复杂度分析

    •  2-9 均摊复杂度和防止复杂度的震荡

  • 第3章 栈和队列

    栈和队列都是极其简单的线性数据结构,其中的操作甚至都是数组操作的子集,但却在计算机科学中有着极其重要的应用。在这一章,我们就来探索栈和队列的奥秘。我们将看到使用底层数据结构搭建上层数据结构的过程,同时对于队列,我们也将改进底层结构,完成循环队列的实现。...

    •  3-1 栈和栈的应用:撤销操作和系统栈

    •  3-2 栈的基本实现

    •  3-3 栈的另一个应用:括号匹配

    •  3-4 关于Leetcode的更多说明

    •  3-5 数组队列

    •  3-6 循环队列

    •  3-7 循环队列的实现

    •  3-8 数组队列和循环队列的比较

  • 第4章 最基础的动态数据结构:链表

    在这一章,我们将接触第一个动态数据结构:链表。我们将通过对链表的底层实现,更深入的理解对引用(或者是指针)的操作。同时,我们也将利用链表,实现栈和队列,并基于不同的底层实现,进行性能的比较。

    •  4-1 什么是链表

    •  4-2 在链表中添加元素

    •  4-3 使用链表的虚拟头结点

    •  4-4 链表的遍历,查询和修改

    •  4-5 从链表中删除元素

    •  4-6 使用链表实现栈

    •  4-7 带有尾指针的链表:使用链表实现队列

  • 第5章 链表和递归

    很多同学都会忽视链表和递归之间千丝万缕的联系。其实,链表也拥有着天然的递归结构。我们在这一章,就将通过链表这种简单的数据结构,一点一点为大家揭开递归,这个在计算机的世界中最为重要的逻辑构成方式的神秘面纱!...

    •  5-1 Leetcode中和链表相关的问题

    •  5-2 测试自己的Leetcode链表代码

    •  5-3 递归基础与递归的宏观语意

    •  5-4 链表的天然递归结构性质

    •  5-5 递归运行的机制:递归的微观解读

    •  5-6

原创不易,完成人机校验,阅读全文

相关推荐