数据结构
葫芦锤
阴差阳错最迷人.
展开
-
判断完全二叉树
int IsComplete(BiTree T)//判断二叉树是否完全二叉树,是则返回1,否则返回0 { InitQueue(Q); flag=0; EnQueue(Q,T); //建立工作队列 while(!IsEmpty(Q)) { DeQueue(Q,p); if(!p) flag=1; else if(flag) return 0; else { EnQueue(Q,p->lchil.原创 2020-12-20 15:45:34 · 283 阅读 · 0 评论 -
单链表直接插入排序
单链表直接插入排序 王道P50 void sort(LinkList * &L){ LinkList *p,*pre,*q; p = L->next->next; // 先保存下L的第二个元素,因为下一步要将L变成只有一个元素的有序表。 L->next->next = NULL; // 将L变成只有一个元素的有序表 // 从L的第二个元素开始遍历整个L直至表尾 while(p != NULL){ q = p->next; pre = L;原创 2020-12-19 14:21:37 · 698 阅读 · 1 评论 -
图的转换
/*邻接矩阵定义*/ #define MAX_VERTERX_NUM 100 typedef char VertexType; typedef int EdgeType; typedef struct { VertexType vex[MAX_VERTERX_NUM]; EdgeType arcs[MAX_VERTERX_NUM][MAX_VERTERX_NUM]; int vexnum, arcnum; } MGraph; /*邻接表定义*/ #define MAX_VERTERX_NUM 10.原创 2020-12-07 21:23:43 · 234 阅读 · 0 评论 -
基于邻接矩阵的图的算法
/** *图基于邻接表的算法 */ /*邻接矩阵定义*/ #define MAX_VERTERX_NUM 100 typedef char VertexType; typedef int EdgeType; typedef struct { VertexType vex[MAX_VERTERX_NUM]; EdgeType arcs[MAX_VERTERX_NUM][MAX_VERTERX_NUM]; int vexnum, arcnum; } MGraph; /*建立有向图*/ void cr.原创 2020-12-07 21:23:07 · 478 阅读 · 0 评论 -
基于邻接表的图的算法
/** *图基于邻接表的算法 */ /*邻接表定义*/ #define MAX_VERTERX_NUM 100 typedef char VertexType; typedef struct ArcNode { int adjvex; struct ArcNode *nextarc; } ArcNode; typedef struct VNode{ VertexType data; ArcNode *firstarc; } VNode, AdjList[MAX_VERTERX_NUM]; typ.原创 2020-12-07 21:22:35 · 625 阅读 · 0 评论 -
数据结构实验之排序六:希尔排序
数据结构实验之排序六:希尔排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有...原创 2018-12-20 20:39:39 · 178 阅读 · 0 评论 -
数据结构实验之排序三:bucket sort
数据结构实验之排序三:bucket sort Time Limit: 250 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于...原创 2018-12-19 12:36:19 · 169 阅读 · 0 评论 -
数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。 Input 连续多组输...原创 2018-12-19 12:18:50 · 147 阅读 · 0 评论 -
数据结构实验之排序一:一趟快排
数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。 Input 连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后...原创 2018-12-18 21:39:06 · 182 阅读 · 0 评论 -
数据结构实验之排序八:快速排序
数据结构实验之排序八:快速排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。 Input 连续输入多组数据,每组输入数据第一行给出正整数N(≤10^5),随后给出N个整数,数字间...原创 2018-12-18 21:34:38 · 221 阅读 · 0 评论 -
数据结构实验之查找三:树的种类统计
数据结构实验之查找三:树的种类统计 Time Limit: 400 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。 Input 输入一组测试数据。数据的第1行给出一个正整数N...原创 2018-12-18 21:23:11 · 164 阅读 · 0 评论 -
数据结构实验之查找六:顺序查找
数据结构实验之查找六:顺序查找 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 在一个给定的无序序列里,查找与给定关键字相同的元素,若存在则输出找到的元素在序列中的位序和需要进行的比较次数,不存在则输出"No",序列位序从1到n,要求查找从最后一个元素开始,序列中无重复元素。 ...原创 2018-12-18 21:21:14 · 205 阅读 · 0 评论 -
数据结构实验之查找七:线性之哈希表
数据结构实验之查找七:线性之哈希表 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。 Inp...原创 2018-12-18 21:19:36 · 180 阅读 · 0 评论 -
数据结构实验之查找五:平方之哈希表
数据结构实验之查找五:平方之哈希表 Time Limit: 400 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,...原创 2018-12-18 19:45:47 · 260 阅读 · 0 评论 -
数据结构实验之查找二:平衡二叉树
数据结构实验之查找二:平衡二叉树 Time Limit: 400 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。 Input 输入一组测试数据。数据的第1行给出一个正整数N(n <= 20),N表示输入序列的元素个数;第2行给出N个正...原创 2018-12-17 17:27:56 · 214 阅读 · 0 评论 -
数据结构实验之查找一:二叉排序树
数据结构实验之查找一:二叉排序树 Time Limit: 400 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务...原创 2018-12-17 11:13:11 · 219 阅读 · 0 评论 -
数据结构实验之查找四:二分查找
数据结构实验之查找四:二分查找 Time Limit: 30 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。 Input 一组输入数据,输入数据第一行首先输入两个正整数n ( n < = 10^6...原创 2018-12-10 20:29:14 · 147 阅读 · 0 评论 -
数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
数据结构实验之图论五:从起始点到目标点的最短步数(BFS) Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号...原创 2018-12-07 21:10:14 · 179 阅读 · 0 评论 -
数据结构实验之图论十:判断给定图是否存在合法拓扑序列
数据结构实验之图论十:判断给定图是否存在合法拓扑序列 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。 Input 输入包含多组,每组格式如下。 第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n&l...原创 2018-12-07 19:37:12 · 154 阅读 · 0 评论 -
数据结构实验之图论七:驴友计划
数据结构实验之图论七:驴友计划 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过...原创 2018-12-06 20:44:07 · 202 阅读 · 0 评论 -
数据结构实验之图论四:迷宫探索
数据结构实验之图论四:迷宫探索 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点? Input 连续T组数据输入,每组数据第一行给...原创 2018-12-05 22:22:33 · 140 阅读 · 0 评论 -
数据结构实验之图论三:判断可达性
数据结构实验之图论三:判断可达性 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军...原创 2018-12-05 20:48:43 · 161 阅读 · 0 评论 -
数据结构实验之图论二:图的深度遍历
数据结构实验之图论二:图的深度遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。 Input 输入第一行为整数n(0 < n < 100),表示数据的组数...原创 2018-12-04 20:20:37 · 192 阅读 · 0 评论 -
数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历) Input 输入第一...原创 2018-12-04 19:19:38 · 241 阅读 · 0 评论 -
数据结构实验之二叉树八:(中序后序)求二叉树的深度
数据结构实验之二叉树八:(中序后序)求二叉树的深度 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度。 Input 输入数据有多组,输入T,代表有T组数据。每组数据包括两个长度小于50的字符串,第一个字符串表示二叉树...原创 2018-11-15 21:15:42 · 183 阅读 · 0 评论 -
数据结构实验之二叉树四:(先序中序)还原二叉树
数据结构实验之二叉树四:(先序中序)还原二叉树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。 Input 输入数据有多组,每组数据第一行输入1个正整数N(1 <= N <= 50)为树中结点...原创 2018-11-15 20:43:08 · 213 阅读 · 0 评论 -
数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。 Input 输入数据有多行,每一行是...原创 2018-11-14 15:23:59 · 157 阅读 · 0 评论 -
数据结构实验之二叉树五:层序遍历
数据结构实验之二叉树五:层序遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。 Input 输入数据有多行,第一行是一个整数t (t<100...原创 2018-11-14 14:20:48 · 237 阅读 · 0 评论 -
数据结构实验之二叉树三:统计叶子数
数据结构实验之二叉树三:统计叶子数 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。 Input 连续输入多组数据,每组数据输入一个长度小...原创 2018-11-13 20:52:24 · 190 阅读 · 0 评论 -
数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。 Input 连续输入多组数据,每组数据输入一...原创 2018-11-13 20:16:25 · 205 阅读 · 0 评论 -
数据结构实验之栈与队列八:栈的基本操作
数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 Input ...原创 2018-10-15 21:43:45 · 144 阅读 · 0 评论 -
数据结构实验之栈与队列一:进制转换
数据结构实验之栈与队列一:进制转换 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。 Input 第一行输入需要转换的十进制非负整数; 第二行输入 R。 Outpu...原创 2018-10-14 19:30:26 · 150 阅读 · 0 评论 -
数据结构实验之链表九:双向链表
数据结构实验之链表九:双向链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A...原创 2018-10-09 19:03:19 · 229 阅读 · 0 评论 -
数据结构实验之链表八:Farey序列
数据结构实验之链表八:Farey序列 Time Limit: 10 ms Memory Limit: 600 KiB Submit Statistic Problem Description Farey序列是一个这样的序列:其第一级序列定义为(0/1,1/1),这一序列扩展到第二级形成序列(0/1,1/2,1/1),扩展到第三极形成序列(0/1,1/3,1/2,2/3,1/1),扩展到第四...原创 2018-10-09 19:01:39 · 159 阅读 · 0 评论 -
数据结构实验之链表七:单链表中重复元素的删除
数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。 Input 第一行输入元素个数 n (1 <= n <...原创 2018-10-09 19:00:47 · 202 阅读 · 0 评论 -
数据结构实验之链表六:有序链表的建立
数据结构实验之链表六:有序链表的建立 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。 Input 第一行输入整数个数N; 第二行输入N个无序的整数。 Output 依次输出有序链表的...原创 2018-10-09 18:59:21 · 256 阅读 · 0 评论 -
数据结构实验之链表五:单链表的拆分
数据结构实验之链表五:单链表的拆分 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。 Input 第一行输入整数N...原创 2018-10-09 18:58:15 · 444 阅读 · 0 评论 -
数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。 Input 第一行输入M与N的值; ...原创 2018-10-09 18:57:18 · 199 阅读 · 0 评论 -
数据结构实验之链表三:链表的逆置
数据结构实验之链表三:链表的逆置 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。 Input 输入多个整数,以-1作为结束标志。 Output 输出...原创 2018-10-09 18:55:53 · 535 阅读 · 0 评论 -
数据结构实验之链表二:逆序建立链表
数据结构实验之链表二:逆序建立链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。 Input 第一行输入整数N;; 第二行依次输入N个整数,逆序建立单链表。 Output...原创 2018-10-09 18:53:30 · 254 阅读 · 0 评论