![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构基本公式
哆啦刘小洋
努力思考
展开
-
算法基础知识---模拟链表
因此,使用数组来模拟链表!2.模拟双链表原创 2022-11-19 19:58:04 · 83 阅读 · 0 评论 -
算法入门——树(基础篇)(tree)
层次遍历的规律是先进先出,后进后出。由于始终希望越是上层的根节点处理的越晚,所以应该将最开始的根节点压入栈。根据栈先进后出,后进先出的严格规律,后处理的先放入,先处理的后放入。上面三条规律是非常容易找到的,那么如何右它去创建一个二叉树呢?从栈顶开始,每当栈顶元素的孩子节点处理完,那么将栈顶元素出栈。从根节点开始,每当当前节点有孩子节点,那么将当前节点入栈。层次遍历:一层一层遍历,规定每一次的遍历顺序是从左到右。左孩子->根节点->右孩子。左孩子->右孩子->根节点。前序遍历:根->左->右。原创 2022-11-09 16:56:45 · 627 阅读 · 0 评论 -
算法训练营----队列
那么我认为循环队列最难的问题就是求队列中元素的个数,当然,用一个for循环遍历队列肯定可以,但是这样就很慢,可以通过数学的方法来求得是最好的。使用front和rear的相对位置,front和rear由于进行了求余处理,所以他们的值的范围都是[0,Maxsize-1]当然会出现一个问题,因为front和rear是不停移动的,所以每次+1的话可能会造成数组越界。那么可以用求余的方法来做.入队操作如图所示,先将元素放入Q.rear指向的空间,然后Q.rear向后移动一个单位.(1)队列的数据结构。原创 2022-10-10 18:57:09 · 262 阅读 · 0 评论 -
克鲁斯卡尔算法手写
首先,写这个算法是为了了解“边集数组”的实战场景,而边集数组又是图的一种存储方式。这四个方法后面记得整理一次,现在先记录克鲁斯卡尔算法(用到边集数组)原创 2022-08-05 10:13:43 · 96 阅读 · 0 评论 -
floyd手写复习(1)
的路径长度为:"" 路径为:"原创 2022-08-03 17:25:24 · 72 阅读 · 0 评论 -
Dijkstra算法手写记录(1)
代码】Dijkstra算法手写记录(1)原创 2022-08-02 10:50:58 · 305 阅读 · 0 评论