
数据结构与算法
文章平均质量分 88
数据结构,学的不是代码,是智慧且缜密的思维!
Answer-2296
态度决定高度
展开
-
【数据结构Note6】-图-简练易懂知识总结(图存储+BFS+DFS+最小生成树+最短路径+拓扑+逆拓扑)
深度优先搜索(Depth First Search,DFS)历类似于树的先序遍历,是树的先序遍历的推广对于一个连通图,深度优先搜索遍历的过程如下1. 从图中某个顶点v出发,访问v。2. 找出刚访问过的顶点的第一个未被访问的邻接点,访问该顶点。以该顶点为新顶点重复此步骤,直至刚访问过的顶点没有未被访问的邻接点为止。3. 返回前一个访问过的且仍有未被访问的邻接点的顶点,找出该顶点的下一个未被访问的邻接点,访问该顶点。4. 重复步骤(2)和步骤 (3),直至图中所有顶点都被访问过,搜索结束原创 2022-12-17 08:00:00 · 2439 阅读 · 2 评论 -
【数据结构Note3】- 栈 应用栈求解迷宫路径
求解迷宫路径整体思路就是穷举所有路径。从点出发,按某一方向探索,沿途在经过的位置设下标记。若能走通即某处可以到达。若该点所有方向均没有通路,则原返回,直到有路可走。如此循环直到到达终点,或无路可走返回起点。求解过程会用一个栈path存储迷宫路径上的所有有效坐标。原创 2022-12-13 01:55:35 · 2850 阅读 · 1 评论 -
用二叉树或栈求表达式的值--代码实现+算法分析
解决表达式求值问题有两种方法,一种是利用栈和后缀表达式求解,另一种是二叉树中序存储表达式。所以本文分为栈和二叉树两大部分。原创 2022-11-28 17:37:15 · 4378 阅读 · 3 评论 -
【数据结构Note5】-二叉排序树 BST和平衡二叉树AVL
对于一颗平衡二叉树,如果插入一个结点破坏了平衡。是因为最小平衡二叉树对比插入前高度增加了一!导致其祖先结点对应的子树全部增加一,使得平衡因子异常,我们所做的调整就是回复最小不平衡子树的高度,这样祖先结点相应子树高度也就回复了,排序树重新平衡!原创 2022-11-22 21:28:52 · 2718 阅读 · 2 评论 -
【数据结构Note5】- 树和二叉树(知识点超细大全-涵盖常见算法 排序二叉树 线索二叉树 平衡二叉树 哈夫曼树)
分而治之作为二叉树核心思想,在二叉树的算法种其至关重要的作用。因为二叉树是由根节点和左右子树构成,而左右子树又由根结点和子树的左右子树构成,所以二叉树的问题往往可以转化为左右子树的问题,越分越小直至为空。而这个分而治之的过程就是递归。原创 2022-11-20 10:00:00 · 2049 阅读 · 1 评论 -
输出二叉树中从每个叶子结点到根结点的路径(代码简练,思路易懂)
如果我们在递归函数,传入一个栈,(不要传引用!)每次递归,若当前结点非空那么就将该节点入栈,那么每一层递归都会对应一个栈,==这个栈表示当前结点到根结点的路径==。原创 2022-11-19 17:18:28 · 4549 阅读 · 2 评论 -
【数据结构Note5】-哈夫曼树
对不同的字符赋予权值,就得到了带权的结点,相应构建哈夫曼树。每一个字符对应哈夫曼树的叶子结点,规定查找路径向左为编码1,向右为编码0。该叶子的查找路径就对应了字符的唯一编码。原创 2022-11-16 23:42:55 · 1023 阅读 · 1 评论 -
【数据结构Note5】- 线索二叉树-(深入刨析理解构造线索二叉树+如何利用线索非递归遍历二叉树)
深入理解为什么要右线索二叉树,如何构造线索二叉树,如何利用线索非递归遍历二叉树?构造线索二叉树的过程就是将二叉链表中的空指针改为指向前趋和后继的线索的过程。也就是说二叉树线索化就是修改空指针的过程。原创 2022-11-09 23:41:53 · 1095 阅读 · 3 评论 -
【数据结构Note3】- 栈和队列 基础到实战-入门到应用
理解并实现栈和队列,利用栈和队列完成进制转换和表达式求值。深入理解栈和队列,懂得栈和队列的相互转化原创 2022-10-29 22:56:48 · 487 阅读 · 6 评论 -
【数据结构Note2】- 链表 - 基础到实战-入门到应用
本文结合基础知识和实战项目讲解链表,从入门到精通!!单链表,双向链表,链表中常见算法,链表反转的四种算法,存储结构和存取结构区别,环形链表,快慢指针,链表有关项目实战原创 2022-10-14 23:33:09 · 1773 阅读 · 6 评论 -
【数据结构Note2】-链表扩展-静态链表
静态链表是供缺少指针的高级语言实现链表结构的一种方式。静态链表融合顺序表和链表的优点,既能快速访问元素,又能快速增加或删除数据元素。原创 2022-10-09 23:52:09 · 966 阅读 · 3 评论 -
【数据结构Note3】_栈和队列的相互转换
所谓的栈和队列的相互转换就是,用栈的数据结构来实现队列数据的先进先出,用队列的数据结构来实现栈的先进后出。原创 2022-09-06 17:15:25 · 528 阅读 · 6 评论 -
Java【数据结构笔记】快速排序
快排三种时间复杂度得求解你懂了吗?快排实现得要点是什么?如何用最简得代码实现快排?原创 2022-08-13 23:34:45 · 438 阅读 · 12 评论 -
【数据结构Note1】- 顺序表
线性表得顺序存储实现,动态分配空间实现顺序表,顺序表实现雷区原创 2022-04-27 16:49:42 · 2163 阅读 · 10 评论