PTA_Data_Structure
Soaperp
这个作者很懒,什么都没留下…
展开
-
基础实验4-2.7 修理牧场 (25 分)
农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L i 个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L i 的总和。 但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次将木头锯成15和5,则第二次锯木头花费15,总花原创 2021-02-13 20:22:10 · 129 阅读 · 0 评论 -
练习4.2 平衡二叉树的根 (25 分)
练习4.2 平衡二叉树的根 (25 分) 将给定的一系列数字插入初始为空的AVL树,请你输出最后生成的AVL树的根结点的值。 输入格式: 输入的第一行给出一个正整数N(≤20),随后一行给出N个不同的整数,其间以空格分隔。 输出格式: 在一行中输出顺序插入上述整数到一棵初始为空的AVL树后,该树的根结点的值。 输入样例1: 5 88 70 61 96 120 输出样例1: 70 输入样例2: 7 88 70 61 96 120 90 65 输出样例2: 88 #include<stdio.h>原创 2021-02-12 17:37:11 · 341 阅读 · 1 评论 -
习题3.3 线性表元素的区间删除
给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: List Delete( List L, ElementType minD, ElementType maxD ); 其中List结构定义如下: typedef int Position; typedef struct LNode *List; struct LNode { ElementType Data[MAXSIZE]; Posit原创 2021-01-22 12:43:17 · 183 阅读 · 0 评论 -
进阶实验1-3.1:两个有序序列的中位数 (25分)
已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0 ,A1,⋯,AN−1 的中位数指A(N−1)/2的值,即***第⌊(N+1)/2⌋个数***(A0为第1个数)。 输入格式: 输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。 输出格式: 在一行中输出两个输入序列的并集序列的中位数。 输入样例1: 5 1 3 5 7 9 2 3 4 5 6 输出样例1: 4 输入样例2: 6原创 2020-08-26 16:26:31 · 643 阅读 · 0 评论 -
案例1-1.1:二分查找 (20分)
本题要求实现二分查找算法。 函数接口定义: Position BinarySearch( List L, ElementType X ); 其中List结构定义如下: typedef int Position; typedef struct LNode *List; struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */ }; L是用户传入的一个线性表,其中ElementType元素可以原创 2020-08-26 15:58:39 · 256 阅读 · 0 评论 -
案例2-1.1: 简单计算器 (20分)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。 输入格式: 输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。 输出格式: 在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。 输入样例: 1+2*10-10/2= 输出样例: 10 答: #include<stdio.h> int main(void) { int Sum,原创 2020-08-26 15:51:35 · 224 阅读 · 0 评论 -
基础实验 1-2.1:有序数组的插入 (20分)
本题要求将任一给定元素插入从大到小排好序的数组中合适的位置,以保持结果依然有序。 函数接口定义: bool Insert( List L, ElementType X ); 其中List结构定义如下: typedef int Position; typedef struct LNode *List; struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */ }; L是用户传入的一个线性表,原创 2020-08-25 20:03:33 · 577 阅读 · 4 评论 -
06-图3 六度空间(最大N和M运行时出错以及段错误解决)
06-图3 六度空间 (30分) “六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。 图1 六度空间示意图 “六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、原创 2020-07-30 13:10:15 · 502 阅读 · 0 评论