
数据结构
文章平均质量分 74
JerryLinP
愿你一生温暖纯良 , 不舍爱与自由
展开
-
合并石子问题
我们常见的石子合并问题一般就三种 第一种 n堆石子,每次合并的花费为两堆石子数目之和,求怎样合并可以使得合并为一整堆石子的总花费最少 实际上这就是HUfffman编码的变形,运用贪心策略,每次找出最小的两堆合并即可。 第二种 描述与第一种很相似,只不过每次合并只能合并相邻的两堆石子 那么贪心策略就不一定有用,局部最优的结果不一定是全局最优 那么我们就要考虑了,全局最优的子结构也应当是...原创 2019-11-24 20:53:35 · 2003 阅读 · 0 评论 -
图的基本存储的基本方式四
一直不知道这个题为什么用链表可以A,但是结构体就会WA,如果有童鞋们知道,希望能留下想法,一起学习,一起进步 Problem Description 解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么? Input 多组输入,到文件结尾。 每一组第一行有一个数n表示n个点。接下来给出一个n*n的矩阵 表示一个由邻接...原创 2018-08-15 11:15:26 · 180 阅读 · 0 评论 -
图的基本存储的基本方式三
图的基本存储的基本方式三 Problem Description 解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么? Input 多组输入,到文件结尾。 每一组第一行有两个数n、m表示n个点,m条有向边。接下来有m行,每行两个数u、v、w代表u到v有一条有向边权值为w。第m+2行有一个数q代表询问次数,接下...原创 2018-08-15 11:16:23 · 159 阅读 · 0 评论 -
数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。 Input 第一行输入M与N的值; ...原创 2018-08-08 08:55:27 · 187 阅读 · 0 评论 -
数据结构实验之二叉树五:层序遍历
数据结构实验之二叉树五:层序遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB 其实层序遍历就是一个递归存储的过程 Submit Statistic Problem Description 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。 Input 输入数据有多行,...原创 2018-08-08 09:53:01 · 108 阅读 · 0 评论 -
哈夫曼树
什么是哈夫曼树? 让我们先举一个例子。 判定树: 在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制一个程序,将百分制转换成五个等级输出。大家可能认为这个程序很简单,并且很快就可以用下列形式编写出来: [cpp] view plain copy if(score<60) cout<<...转载 2018-08-13 10:19:22 · 641 阅读 · 0 评论 -
哈夫曼树的概念及其实现
1、基本概念 a、路径和路径长度 若在一棵树中存在着一个结点序列 k1,k2,……,kj, 使得 ki是ki+1 的双亲(1<=i<j),则称此结点序列是从 k1 到 kj 的路径。 从 k1 到 kj 所经过的分支数称为这两点之间的路径长度,它等于路径上的结点数减1. b、结点的权和带权路径长度 在许多应用中,常常将树中的结点赋予一个有着某种意义的实数,我们称此...转载 2018-08-13 10:40:00 · 274 阅读 · 0 评论 -
二叉排序树详解
二叉排序树的介绍 二叉排序树为一颗二叉树,或者为空,或者满足如下条件: 如果它的左子树不为空,那么左子树上的所有结点的值均小于它的根结点的值 如果它的右子树不为空,那么右子树上的左右结点的值均大于它的根结点的值 根结点的左子树和右子树又是二叉排序树。 二叉排序树通常采用二叉链表作为存储结构。中序遍历二叉排序树便可得到一个有序序列,一个无序序列可以通过构造一棵二叉排序树变成一个有序序列,构造...转载 2018-08-13 16:58:06 · 546 阅读 · 0 评论 -
数据结构实验之栈与队列九:行编辑器
数据结构实验之栈与队列九:行编辑器 Problem Description 一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。 由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用...原创 2018-08-16 14:20:50 · 123 阅读 · 0 评论 -
顺序表应用2:多余元素删除之建表算法
顺序表应用2:多余元素删除之建表算法 Time Limit: 3 ms Memory Limit: 600 KiB Submit Statistic Problem Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个...原创 2018-09-09 17:13:38 · 118 阅读 · 0 评论 -
数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Problem Description 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。 Input 第一行输入M与N的值; 第二行依次输入M个有序的整数; 第三行依次输入N个有序的整数。 Output 输出合并后的单链表所包含的M+N个有序...原创 2018-09-26 19:43:30 · 228 阅读 · 0 评论 -
数据结构实验之链表五:单链表的拆分
数据结构实验之链表五:单链表的拆分 Problem Description 输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。 Input 第一行输入整数N;; 第二行依次输入N个整数。 Output 第一行分别输出偶数链表与奇数链表的元素个数; 第二行依次输出偶数子链表...原创 2018-09-26 20:35:18 · 128 阅读 · 0 评论 -
数据结构实验之链表九:双向链表
数据结构实验之链表九:双向链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经...原创 2018-03-24 16:40:14 · 117 阅读 · 0 评论 -
数据结构实验之图论七:驴友计划
数据结构实验之图论七:驴友计划 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过路费最少的一条路径。 Inpu...原创 2018-11-28 22:21:43 · 108 阅读 · 0 评论 -
数据结构实验之图论四:迷宫探索
数据结构实验之图论四:迷宫探索 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点? Input 连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫...原创 2018-11-28 20:45:12 · 165 阅读 · 0 评论 -
图的基本存储的基本方式一
这个题主要的是这个《stdbool.h》这个函数,还有bool这个数组 Problem Description 解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么? Input 多组输入,到文件结尾。 每一组第一行有两个数n、m表示n个点,m条有向边。接下来有m行,每行两个数u、v代表u到v有一条...原创 2018-08-15 10:10:39 · 217 阅读 · 0 评论 -
图的基本存储的基本方式二
小编在网上看到好多博主的文章这道题都没有用结构体做,数据量太大,结构体也是一个不错的选择 但是结构体有一个不好的地方,不能直接搜索,只能每次从头开始搜索,有点浪费时间 Problem Description 解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么? Input 多组输入,到文件结尾。 每一组第一行有两...原创 2018-08-15 10:08:03 · 298 阅读 · 0 评论 -
数据结构实验之查找四:二分查找
数据结构实验之查找四:二分查找 Time Limit: 30 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。 Input 一组输入数据,输入数据第一行首先输入两个正整数n ( n <...原创 2018-08-04 15:03:17 · 112 阅读 · 0 评论 -
数据结构实验之排序五:归并求逆序数
数据结构实验之排序五:归并求逆序数 Time Limit: 50 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 对于数列a1,a2,a3…中的任意两个数ai,aj (i < j),如果ai > aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列...原创 2018-08-03 08:21:44 · 129 阅读 · 0 评论 -
数据结构实验之串二:字符串匹配
数据结构实验之串二:字符串匹配 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 给定两个字符串string1和string2,判断string2是否为string1的子串。 Input 输入包含多组数据,每组测试数据包含两行,第一行代表strin...原创 2018-08-02 10:16:30 · 138 阅读 · 0 评论 -
数据结构实验之栈与队列四:括号匹配
数据结构实验之栈与队列四:括号匹配 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。 Input 输入数据有多组...原创 2018-08-02 10:14:15 · 108 阅读 · 0 评论 -
数据结构实验之栈与队列一:进制转换
数据结构实验之栈与队列一:进制转换 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。 Input 第一行输入需要转换的十进制非负整数; 第二行输入 R。 ...原创 2018-08-02 10:08:24 · 136 阅读 · 0 评论 -
数据结构上机测试1:顺序表的应用
这是通过程序设计基础的链表实现顺序表的代码 数据结构上机测试1:顺序表的应用 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 在长度为n(n<1000)的顺序表中可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余...原创 2018-07-31 22:22:56 · 131 阅读 · 0 评论 -
数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。 Inpu...原创 2018-07-31 22:19:34 · 117 阅读 · 0 评论 -
数据结构上机测试4.1:二叉树的遍历与应用1
数据结构上机测试4.1:二叉树的遍历与应用1 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 输入二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列。 Input 第一行输入二叉树的先序遍历序列; 第二行输入二叉树的中序遍历序列。 Output 输出该二叉树...原创 2018-08-09 08:41:23 · 103 阅读 · 0 评论 -
数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。 Input 输入数据有多行,每一行是...原创 2018-08-09 08:42:45 · 92 阅读 · 0 评论 -
数据结构实验之二叉树的建立与遍历
数据结构实验之二叉树的建立与遍历 二叉树的基本操作 , 中序遍历,后序遍历,前序遍历,只是根节点输出的位置不同, 叶子结点,深度,需要自己理解,也非常的简单 Problem Description 已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。 ...原创 2018-08-09 08:47:46 · 364 阅读 · 0 评论 -
数据结构实验之队列一:排队买饭
数据结构实验之队列一:排队买饭 这个题猛的一看可能会有点麻烦,但是其实一点也不,只要把每个情况用if条件语句分清就可以了 有一点栈的思想 Problem Description 中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋。所以有时...原创 2018-08-14 14:32:47 · 117 阅读 · 0 评论 -
bLue的文件查找器
bLue的文件查找器 用结构体数组按顺序存储,每次查找的时候只是判断最后的文件格式ex Problem Description bLue 的电脑里存了各种各样的文件,随着文件越来越多,查找文件也成了一个麻烦事。 现在,他想要查找所有指定格式(扩展名)的文件,不过他并不会使用文件管理器自带的搜索功能,所以他想求你写一个文件查找器,来帮他查找所有指定格式的文件。 Input 输入数据有多组...原创 2018-08-14 15:07:38 · 384 阅读 · 0 评论 -
数据结构实验之排序八:快速排序
数据结构实验之排序八:快速排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。 Input 连续输入多组数据,每组输入数据第一行给出正整数N(≤10^5),随后给出N个整数,...原创 2018-04-12 20:53:24 · 172 阅读 · 0 评论 -
数据结构实验之二叉树五:层序遍历
数据结构实验之二叉树五:层序遍历 Statistic Problem Description 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。 Input 输入数据有多行,第一行是一个整数t (t<1000),代表有t行测试数据。每行是一个长度小于50个字符的字符串。 Output 输出二叉树的层次...原创 2018-08-07 16:00:53 · 169 阅读 · 0 评论 -
数据结构实验之数组二:稀疏矩阵
数据结构实验之数组二:稀疏矩阵 Time Limit: 5 ms Memory Limit: 1000 KiB Submit Statistic Discuss Problem Description 对于一个n*n的稀疏矩阵M(1 <= n <= 1000),采用三元组顺序表存储表示,查找从键盘输入的某个非零数据是否在稀疏矩阵中,如果存在则输出OK,不存在则输出ERROR。稀...原创 2018-08-04 15:14:37 · 304 阅读 · 0 评论