![](https://img-blog.csdnimg.cn/direct/ce3ebe9fe54f4bf29995b35be6b29eb4.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java数据结构实训题
文章平均质量分 75
怀化学院Java数据结构的期末考试习题......
岁岁岁平安
大二在校生:努力成为Java基础新星创作者,努力学习、更新中......
展开
-
Java数据结构之《哈夫曼编码大全》(难度系数100)
关于哈夫曼树的建立,编码,解码。输入第一行输入数字N,代表总共有多少个字符以及权值第二第三行分别是一行字符串,以及每个字符对应的权值接下来输入一个数M,表示接下来有M行字符串,要求你对每个字符串进行编码再输入一个数X,表示接下来有X行编码,要求你对每行编码进行解码输出第一行输出所有节点的权重接下来输出N行,每行以 “a:001”的格式输出每个字符对应的编码接着输出M行,对输入的字符串的编码结果最后,输出X行的解码结果原创 2023-12-09 12:29:49 · 1464 阅读 · 0 评论 -
Java数据结构之《链式二叉树的创建及遍历》(难度系数100)
对于采用链式存储结构的二叉树操作中,创建二叉树通常采用先序次序方式输入二叉树中的结点的值,空格表示空树。对于如下的二叉树,我们可以通过如下输入“AE-F--H--”得到( ‘-’表示空子树)。试根据输入创建对应的链式二叉树,并输入其先序、中序和后序遍历结果。输入:输入第一行为一个自然数n,表示用例个数接下来为n行字符串,每行用先序方式输入的要求创建的二叉树结点,’-’表示前一结点的子树为空子树。输出:对每个测试用例,分别用三行依次输出其先序、中序和后序遍历结果。原创 2023-12-08 21:43:34 · 865 阅读 · 0 评论 -
Java数据结构之《最短路径》(难度系数100)
这是怀化学院的:Java数据结构中的一道难度偏难(偏难理解)的一道编程题《 最短路径》输入:输入只有一个用例,第一行包括若干个字符,分别表示各顶点的名称,接下来是一个非负的整数方阵,方阵维数等于顶点数,其中0表示没有路,正整数表示两点之间边的长度。可以假定该图为有向图。最后一行为要求的出发点。输出:输出从已知起点到各顶点的最短路径长度。输出格式是根据顶点输入顺序,依次输出其最智短路径长度。各顶点分别用一行输出,先输出目标顶点,然后一冒号加一个空格,最后是路径长度。0表示没有路。原创 2023-12-05 23:12:37 · 578 阅读 · 0 评论 -
Java数据结构《队列和邻接矩阵实现图的广度优先搜索》(难度系数100)
这是怀化学院的:Java数据结构中的一道难度偏难的一道编程题:《图的广度优先搜索》。图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结点,然后访问该结点的所有邻接点,再依次访问各邻接点的邻接点。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”--“Z”中的若干字符表示,且要求结点的访问顺序要求根据由“A”至“Z”的字典顺序进行访问。输入:输入只包含一个测试用例,第一行为一个自然数n,表示顶点的个数,第二行为n个大写字母构成的字符串,表示顶点,接下来是为一个n*n大小原创 2023-12-01 17:30:37 · 936 阅读 · 0 评论 -
Java数据结构之《栈和邻接矩阵实现图的深度优先搜索》(难度系数100)
这是怀化学院的:Java数据结构中的一道难度偏难的一道编程题:《图的深度优先搜索》。图的深度优先搜索类似于树的先根遍历,是树的先根遍历的推广。即从某个结点开始,先访问该结点,然后深度访问该结点的第一棵子树,依次为第二顶子树。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”至“Z”中的若干字符表示,且要求结点的访问顺序根据“A”至“Z”的字典顺序进行访问。输入:输入只包含一个测试用例,第一行为一个自然数n,表示顶点的个数,第二行为n个大写字母构成的字符串,表示顶点,接下来是为一个n*原创 2023-12-01 15:30:26 · 1086 阅读 · 0 评论 -
Java数据结构《二叉排序树的插入删除和查找》(难度系数100)
这是怀化学院的:Java数据结构中的一道难度偏难(偏难理解)的一道编程题《二叉排序树的插入删除和查找》二叉排序树的插入删除和查找pre: 前序遍历in: 中序遍历post:后序遍历insert: 插入,本题中不会出现相同的元素delete: 删除,删除成功输出TRUE,没有该元素则输出FALSE,删除的方法是如果有左子树,以左子树中最大值作为新的树根,否则,以右子树最小值作为树根。search: 查找,存在该元素输出YES, 否则输出NO。exit:退出输入:输入的第一行为整数 N接下来一行为N个整数原创 2023-12-10 15:47:33 · 1495 阅读 · 0 评论 -
Java数据结构之《快速排序》(难度系数85)
这是怀化学院的:Java数据结构中的一道难度中等(偏难理解)的一道编程题《快速排序》快速排序的核心操作是划分,通过某个数据将原来排序表分成两部分,前面部分比该数小,后面数据比该数据大或相等,该位置就为某数据排序后的位置,即该数据完成排序输入:标准输入,输入的第一行为整数的个数n值,第二行为n个整数,每个整数之间为一个空格。输出:标准输出,输出的第一行依次输出排序过程中使用的支点位置,每个输出数据之间使用一个空格隔开,第二行输出排序后的序列,每个输出数据之间使用一个空格隔开。原创 2023-12-05 10:04:22 · 1036 阅读 · 2 评论 -
Java数据结构之《构造哈夫曼树》(难度系数85)
这是怀化学院的:Java数据结构中的一道难度中等(偏难理解)的一道编程题:《构造哈夫曼树》。根据给定的叶结点字符及其对应的权值创建哈夫曼树。输入:第一行为叶子结点的数目n(1原创 2023-12-03 23:08:36 · 917 阅读 · 0 评论 -
Java数据结构之《哈希查找》(难度系数75)
这是怀化学院的:Java数据结构中的一道难度中等的一道编程题《哈希查找》。标准输入输出题目描述:实现哈希查找。要求根据给定的哈希函数进行存储,并查找相应元素的存储位置。本题目使用的哈希函数为除留取余法,即H(key)=key%m,其中m为存储空间,冲突处理方法采用开放定址法中的线性探测再散列,即Hi=(H(key)+i)/%m,0原创 2023-12-02 21:17:48 · 567 阅读 · 0 评论 -
Java数据结构之《折半查找》(难度系数75)
这是怀化学院的:Java数据结构中的一道难度中等的一道编程题《折半查找》。折半查找标准输入输出题目描述:实现折半查找。要求查找给定的值在数据表中相应的存储位置。本题目假定输入元素均按非降序输入。输入:输入包含若干个测试用例,第一行为测试用例个数k。每个测试用例占3行,其中第一行为元素个数n,第二行为n个元素值,即数据表中的元素,第三行为需要查找的元素。输出:对每一测试用例,分别用一行输出两个值,分别表示相应的位置和查找次数,用空格隔开。如果查找不成功,则位置表0表示。原创 2023-12-02 16:57:48 · 502 阅读 · 0 评论 -
Java数据结构之《希尔排序》(难度系数85)
这是怀化学院的:Java数据结构中的一道难度中等的一道编程题《希尔排序》。利用希尔排序算法实现线性表的排序。希尔排序是根据给定的增量序列将线性表分隔成某个“增量”的记录组成一个子序例,在子序列中采用直接插入排序完成。输入第一行为元素个数n(1原创 2023-12-02 11:35:57 · 644 阅读 · 0 评论 -
Java数据结构之《循环队列》(难度系数75)
这是怀化学院的:Java数据结构中的一道难度中等的一道编程题《循环队列》。循环队列标准输入输出题目描述:根据给定的空间构造顺序循环队列,规定队满处理方法为少用一个元素空间。例如,给定5个元素空间构造循环队列,则只能存放4个元素。试根据入队及出队操作判断队列最后的元素存放情况,并输出最后队列中的元素值,即完成给定入队及出列操作后一次性全部出队的元素值。要求采用顺序队列完成......原创 2023-12-01 21:29:08 · 567 阅读 · 0 评论 -
Java数据结构之《链式线性表的插入与删除》(难度系数65)
这是怀化学院的:Java数据结构中的一道难度中等偏下的一道编程题《链式线性表的插入与删除》。链式线性表的插入与删除 描述:删除链式线性表指定位置的元素。输入:第一行为自然数n,表示链式线性表的长度,第二行为n个自然数表示链式线性表各元素值。第三行为指定删除的位置,第四行为插入的位置及元素值(如果位置不对,则不作操作,插入位置应在删除元素后重新计数)。输出:输出删除与插入元素后的链式线性表的所有元素,元素之间用一个空格隔开......原创 2023-11-30 18:14:01 · 605 阅读 · 0 评论 -
Java数据结构之《直接插入排序》(难度系数75)
这是怀化学院的:Java数据结构中的一道难度中等的一道编程题《直接插入排序》。利用直接插入排序算法实现线性表的排序。要求输出第k趟排序的结果。例如原来线性表为:26,12,25,4,36,15,21,第一趟直接排序排序结果为: 12, 26,25,4,36,15,21,第二趟直接插入排序结果为: 12,25, 26,4,36,15,21。输入第一个为元素个数n(1原创 2023-11-29 22:41:10 · 628 阅读 · 0 评论 -
Java数据结构之《合并线性表》(难度系数65)
这是怀化学院的:Java数据结构中的一道难度中等偏下的一道编程题《合并线性表》。描述:已知两非递减的顺序线性表,要求合并成一个新的非递减顺序线性表。输入:输入包含四行,第一行为自然数n,表示第一个非递减顺序线性表的长度,第二行为n个自然数构成的非递减顺序线性表,第三行为自然数m,表示第二个非递减顺序线性表的长度,第四行为m个自然数构成的非递减顺序线性表。输出:用一行输出合并后的非递减顺序线性表,各数之间用一个空格隔开。......原创 2023-11-29 20:36:54 · 498 阅读 · 0 评论 -
Java数据结构之《顺序栈实现数制转换》(难度系数75)
这是怀化学院的:Java数据结构中的一道中等编程题:《数制转换》。标准输入输出题目描述:数制转换。(要求采用栈实现,练习进栈入栈函数的编写)输入:输入的第一行包含两个数,n,dn表示要转换的数的个数d表示要转换成的进制数接下来是n个十进制数输出:对每一测试用例,用一行输出数制转换后的结果输入样例:2 8123213原创 2023-11-28 23:20:32 · 710 阅读 · 2 评论 -
Java数据结构之《顺序查找》(难度系数65)
这是怀化学院的:Java数据结构中的一道难度中等偏下的一道编程题:《顺序查找》。实现顺序查找。要求查找给定的值在数据表中相应的存储位置。本题目假定所有的元素互不相同,并且要求查找顺序为从后往前查询。输入:输入包含若干个测试用例,第一行为测试用例个数k。每个测试用例占3行,其中第一行为元素个数n,第二行为n个元素值,即数据表中的元素,第三行为需要查找的元素......原创 2023-11-29 15:48:17 · 547 阅读 · 0 评论 -
Java数据结构之《栈实现括号匹配的检验》(难度系数85)
这是怀化学院的:Java数据结构中的一道难度中等的一道编程题:《括号匹配的检验》。括号匹配的检验标准输入输出题目描述:采用栈实现,练习进栈入栈函数的编写.输入:输入的第一行包含一个数,nn表示要用例的个数接下来是n行由括号构成的字符串,包含‘(’、‘)’、‘[’、‘]’。输出:对每一测试用例,用一行输出结果,如果匹配,输出“YES”,否则输出“NO”原创 2023-11-29 17:20:15 · 520 阅读 · 0 评论