数据结构
图图是只猫
文章如有错还请指出
QQ 微信 958689695
展开
-
1分钟解决Prim算法构造最小生成树
数据结构期末上分必备前言:Prim 算法构造最小生成树!!!跟着画一遍就会了!!!Kruskal 请移步 kruskal题目设有如下图所示的无向连通图,从顶点A出发,使用 Prim 算法构造最小生成树,依次画出每次挑选出的边及权值。题解从顶点A开始,找出与A连接权值最小的顶点:接着找出与A和D连接顶点权值的最小值(上一步连接的权值不算)找出A D G 所连顶点的最小权值依照上述规律直到所有顶点完成,后续步骤:...原创 2020-09-26 17:05:18 · 6574 阅读 · 2 评论 -
堆排序详细学习
什么是堆?首先要明白堆是基于二叉树而言的,堆是二叉树的一种形式。并且堆是完全二叉树,具有完全二叉树的特点。堆只有2种:大顶堆和小顶堆。大顶堆:就是根节点大于子节点,小顶堆反之。下面上图:构造堆一棵完全二叉树如何才能转换成一个堆呢?把握好堆的特点:大顶堆的根永远大于左右孩子,那么只需要把每一个子树中的左右孩子的较大值放到根的上面即可。以大顶堆为例:观察以上的例子,通过自下向上进行堆的构造其实并不复杂,不过在上述例子的第三步可以看出发生交换的节点的子树的堆平衡可能被破坏,需要重新对子树的原创 2020-08-17 17:36:13 · 1816 阅读 · 0 评论 -
数据结构-平衡二叉树
平横二叉树的定义平衡因子,节点的左右子树的高度差定义为该节点的平衡因子。子树节点高度差的绝对值不大于1即为平衡二叉树。即节点的平衡因子不大于1.平横二叉树的生成平衡二叉树在插入数据的时候首先要保证当前数据进入平衡二叉树后是否平衡,一旦出现了不平衡的情况需要进行一个调整。这个调整的步骤就是生成平衡二叉树的关键所在,。下面使用一组数据进行说明数据{11,21,31,41,1,91,0}依次序生成二叉树此时元素11的平衡因子为2,已经出现了失衡。那么可以采用逆时针旋转(RR平衡旋转)接着继原创 2020-08-07 22:14:01 · 2839 阅读 · 2 评论 -
快速排序详细学习
引言以前对快排只是一知半解,今天对快排进行深入学习。在此进行详细的图解。分治思想块排的核心思想是基于分治的,分治是将一个大的独立体分成若干个小的独立体进行解决。快排思想快排基于分治思想对一组序列进行排序,将一组序列看成一个整体。首先将整体序列分成2个独立的序列,接着将2个独立的序列分别看成各自独立的序列继续进行分治。下面进行一组图解。将每一组组序列独立的按照一个序列进行交换。最终分成单个数字完成排序。快排过程因为每一次都是对一个独立的序列排序,所以取第一次的分治过程研究其究竟是如何实现的原创 2020-07-24 18:54:37 · 1958 阅读 · 0 评论 -
输入一个链表的头节点,从尾到头反过来打印出没个节点的值
剑指Offer题目:输入一个链表的头节点,从尾到头反过来打印出没个节点的值。解题思路栈利用栈的先进后出实现递归利用递归先遍历后输出代码实现栈public static void printListNode(ListNode listNode){ Stack<ListNode> stack = new Stack<>(); ...原创 2020-04-06 22:10:23 · 1371 阅读 · 0 评论 -
实现一个单链表-java
数据结构如下:链表从头到尾依次指向a -> b -> cjava中实现链表的想法就是单个链表嵌套链表a对象(b对象(c对象))代码实现创建节点类及其接口/** * 链表节点 */public class ListNode { private Object data; private ListNode listNode; public ...原创 2020-04-04 00:07:04 · 1388 阅读 · 0 评论 -
二叉树的生成及其遍历
简单写了一个二叉树的实现-递归二叉树的节点设计及其接口:public class TreeNode { //键值对 private int key,value; //树的深度 private int N; //左右节点 private TreeNode left,right; public TreeNode(int key,int va...原创 2020-03-28 15:10:14 · 1527 阅读 · 0 评论 -
数据结构 图-关键路径:AOE网络
AOE定义在带权有向图中,以顶点表示事件,有向边表示活动,边上的权值表示完成该活动的开销(如完成活动所需的时间),即用边表示活动的网络称为AOE网络。注: AOE网络一定是有向无环图。关键活动假设:a+d+f > b+e整个AOE网络可以说是一个人从V1(源点)走到V5(汇点)的活动过程,而这个人从V1走到V5所花费的最长时间的路径是从V1到V5的最长路径。关键活动:能够影响整个工程完成时间的弧,即最长路径中的某一段路径(边)。如下图:活动发生时间计算首先明确事件最早发生时间,原创 2020-07-25 22:10:08 · 8890 阅读 · 1 评论 -
1分钟解决Kruskal算法获得无向连通网的最小生成树
数据结构期末上分必备前言: 先看好题!!!Kruskal算法!!! 跟着动手画一画就完事此类题有个无向图是这样的:圈里的叫顶点,圈里是数字还是字母不用管,连起来的线叫权!问题问题一般是下面的2个中的1个(本质一样的):构造最小生成树过程写出依次挑选出的边及权值解题题目1举例解题(跟着画一遍即可):找权的最小值(连线上的最小值),画出顶点和权值:接着找仅次于比上面找到的值,直到画出所有的顶点以上就是解题过程如果题目是:写出依次挑选出的边及权值就将上述画图的顺序写下来:原创 2020-09-02 18:14:19 · 2970 阅读 · 0 评论