### 前言
在**图论**中,在寻路最短路径中除了`Dijkstra`算法以外,还有`Floyd`算法也是非常经典,然而两种算法还是有区别的,`Floyd`主要**计算多源最短路径**。
**在单源正权值最短路径**,我们会用`Dijkstra`算法来求最短路径,并且算法的思想很简单—**贪心算法**:每次确定最短路径的一个点然后维护(更新)这个点周围点的距离加入预选队列,等待下一次的
>文章收录在公众号:**bigsai** 更多精彩干货敬请关注!
### 前言
说起八皇后问题,它是一道回溯算法类的经典问题,也**可能**是我们大部分人在上数据结构或者算法课上遇到过的最难的一道题……

## 前言
>文章若有疏忽还请指正,更多精彩还请关注公众号:`bigsai`
树、二叉平衡树、伸展树、红黑树等等。而熟悉的多叉树像B树、字典树都是经典多叉树。
普通的二叉树,我们研究其遍历方式,因为其没啥规则约束查找和插入都很随意所以很少有研究价值。
## 前言
数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有**程序=数据结构+算法**这个等式存在。各个中间件开发者,架构师他们都在努力的优化中间件、项目结构以及算法提高运行效率和降低内存占用,在这里数据结构起到相当重要的作用。此外数据结构也蕴含一些面向对象的思想,故学好掌握数据结构对逻辑思维处理抽象能力有很大提升。
为什么学习数据结构与算法?如果你还是学
### 前言
大家好,我是bigsai,今天给大家讲讲Dijkstra算法。
对于Dijkstra算法,很多人可能感觉熟悉而又陌生,可能大部分人比较了解bfs和dfs,而对dijkstra和floyd算法可能知道大概是图论中的某个算法,但是可能不清楚其中的作用和原理,又或许,你曾经感觉它很难,那么,这个时候正适合你重新认识它。
**Dijkstra是啥?**
其实Dijkstra(迪
大家好,我是bigsai,今天给大家讲讲递归。
### 什么是递归?
递归:就是函数自己调用自己。 子问题须与原始问题为同样的事,或者更为简单。
递归通常可以简单的处理子问题,但是不一定是最好的解决方式。

对于递归要分清以下概念:
- 递归是自己调用自己
- 递归通
### 前言
栈和队列是一对好兄弟,前面我们介绍过一篇栈的文章(栈,不就后进先出),栈的机制相对简单,后入先出,就像进入一个狭小的山洞,山洞只有一个出入口,只能**后进先出(在外面的先出去,堵在里面先进去的就有点倒霉)**。而队列就好比是一个隧道,后面的人跟着前面走,**前面人先出去(先入先出)**。日常的排队就是队列运转形式的一个描述!
栈是一种喜新厌旧的数据结构,来了新的就会处理新
### 前言
>前面介绍学习的大多是线性表相关的内容,把指针搞懂后其实也没有什么难度,规则相对是简单的,后面会讲解一些比较常见的数据结构,用多图的方式让大家更容易吸收。
在数据结构与算法中,树是一个比较大的家族,家族中有很多厉害的成员,这些成员有二叉树和多叉树(例如B+树等),而二叉树的大家族中,二叉搜索树(又称二叉排序树)是最最基础的,在这基础上才能继续拓展学习AVL(二叉平衡树)、红
### 前言
大家好,我是bigsai,在数据结构与算法中,二叉树无论是考研、笔试都是非常高频的考点内容,在二叉树中,二叉树的遍历又是非常重要的知识点,今天给大家讲讲二叉树的层序遍历。
这部分很多人可能会但是需要注重一下细节。
前面介绍了**二叉排序树的构造和基本方法**的实现,遍历也是比较重要的一环,并且二叉树的层序遍历也是bfs的最简单情况,这里我就将二叉树的层序遍历以及常考问