上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 73 下一页
摘要: 树与森林 1. 什么是森林 森林,顾名思义,就是由众多的树构成的一组数据结构,这些树本身没有什么联系,用系统的语言描述就是:森林:m(>=0)棵互不相交的树的集合 【注意这里森林是可以有0颗树的,同数学上的空集】 如果把一棵树当作一个独立的点,那么森林就是一个点的集合。 2. 树转换成二叉树 操作过 阅读全文
posted @ 2020-09-14 16:32 多发Paper哈 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 克鲁斯卡尔算法(Kruskal算法)求最小生成树 克鲁斯卡尔算法简介 克鲁斯卡尔算法是一种用来寻找最小生成树的算法(用来求加权连通图的最小生成树的算法)。在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次小边。 而具体的操作过程为: a) 将图的所有连接线去掉,只剩顶点 b 阅读全文
posted @ 2020-09-13 21:42 多发Paper哈 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树详解 简介 平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 其中最为经典当属AVL树,我们 总计而言就 阅读全文
posted @ 2020-09-13 20:40 多发Paper哈 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 题目描述 某市调查城镇交通状况,得到现有城镇道路统计表。表中列出了每条道路直接连通的城镇。市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要相互之间可达即可)。请你计算出最少还需要建设多少条道路? 输入格式 输入包含若干组测试测试数据,每组测试数据的第 阅读全文
posted @ 2020-09-12 11:07 多发Paper哈 阅读(69) 评论(0) 推荐(0) 编辑
摘要: P1551 亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。 输入格式 第一 阅读全文
posted @ 2020-09-12 08:33 多发Paper哈 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 并查集 并查集是数据结构中的一个重要算法,可以管理元素分组,并查集由三部分构成:初始化,找父节点,合并结点,直接来看并查集的模板: const int max_size=1000; int pre[max_size]; void init_set(int count){ for (int i = 1 阅读全文
posted @ 2020-09-12 08:32 多发Paper哈 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 并查集 一、关于并查集 1. 定义 并查集(Disjoint-Set)是一种可以动态维护若干个不重叠的集合,并支持合并与查询两种操作的一种数据结构。 2. 基本操作 1. 合并(Union/Merge):合并两个集合。2. 查询(Find/Get):查询元素所属集合。实际操作时,我们会使用一个点来代 阅读全文
posted @ 2020-09-11 16:22 多发Paper哈 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 栈数组 #include<stdio.h> #include<stdlib.h> #include<string.h> #define maxn 10000 //结点设计 typedef struct stack{ int data[maxn]; int top; }stack; //创建 stac 阅读全文
posted @ 2020-09-11 11:07 多发Paper哈 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 栈 栈的概念 在开始前,请牢记这句话:栈是一种先进后出的数据结构。 栈(stack)是限定仅在表的一端进行操作的数据结构,请联系我们前文所学的,设想一个单链表我们只能够对其链表的表尾结点进行操作,而操作也只能够进行插入一个新的结点与删除最末尾的这个结点两个操作,而这样强限制性的‘链表’,就是我们所说 阅读全文
posted @ 2020-09-11 11:05 多发Paper哈 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 循环链表 循环链表概念 对于单链表以及双向链表,其就像一个小巷,无论怎么样最终都能从一端走到另一端,然而循环链表则像一个有传送门的小巷,因为循环链表当你以为你走到结尾的时候,其实你又回到了开头。 循环链表和非循环链表其实创建的过程以及思路几乎完全一样,唯一不同的是,非循环链表的尾结点指向空(NULL 阅读全文
posted @ 2020-09-11 10:51 多发Paper哈 阅读(448) 评论(0) 推荐(0) 编辑
上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 73 下一页
Live2D