- 博客(70)
- 收藏
- 关注
原创 PTA 7-15 希尔排序
本题目要求读入N个整数,采用希尔排序法进行排序,采用增量序列{5,3,1},输出完成增量5和增量3后的5子排序和3子排序结果。输入不超过100的正整数N和N个整数(空格分隔)。输出两行,第一行为5子排序结果,第二为3子排序结果。数据间用一个空格分隔。为简便起见,最后一个元素后也有一个空格。
2024-07-13 07:57:24 435
原创 PTA 7-14 畅通工程之局部最小花费问题
某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。
2024-07-13 07:53:12 182
原创 PTA 7-13 军事单位光缆铺设-Prim算法
在多个军事单位之间铺设通信光缆,实现任意两个单位间都能进行通信互联。现已得到拟铺设光缆的各条路线费用,请编写程序计算需铺设哪几条线路,使造价最低且能满足互联互通。
2024-07-13 07:51:02 280
原创 PTA 7-6 构造散列表
设散列表a[18],散列函数是hask(k)=k%17,用开放地址法解决冲突hi=(h0+di)%m。冲突时,使用增量序列di=5i。计算输入序列(值>=0)对应的散列地址值。(输入个数不会超过15个)
2024-07-01 10:17:33 240
原创 PTA 7-9 构造哈夫曼树-有序输入
构造哈夫曼树,然后输出它树的中序序列。从小到大的顺序给出词频(不超过10个),根据词频构造哈夫曼树。为确保构建的哈夫曼树唯一,本题做如下限定:(1)选择根结点权值最小的两棵二叉树时,选取权值较小者作为左子树。(2)若多棵二叉树根结点权值相等,按先后次序分左右,先出现的作为左子树,后出现的作为右子树。如1 2 3,1与2合并后结点值也为3,3与3又会合并成一个结点6,则原来的3为其左子树,新合成的3为其右子树。
2024-06-17 19:25:56 243
转载 PTA R6-1 寻找链表元素的前驱结点
其中h和x是用户传入的参数,x为查找的元素。返回查找元素结点的地址。typedef struct node//结构体定义int data;//存储数据//指向下一个结点的指针//定义别名。
2024-06-03 08:14:03 489
原创 PTA 6-3 入侵者围剿第二关3情报解密
带头结点,head是头指针,last是尾指针,s是ptr类型的数组。为了对链表方便的取正中央位置,加了一个辅助数组(以空间换时间)。每遍历一个结点,把当前结点的地址存到数组s中,s的元素个数就是结点个数,s的元素值就是链表结点的地址。
2024-05-26 20:59:52 241
原创 PTA 7-5 开源情报之URL查重简化版-散列表查找
开源情报是指通过公开可用的数据和信息获取情报。随着信息技术的发展,互联网已成为各类情报组织的主要工具之一。在互联网上通过URL访问网站,开源情报系统通过海量的URL搜集信息,这些URL存在大量的重复,通过散列表可以快速的实现,目前实现中常用布隆过滤器的判重方式。本题中,为了简化编程,假设URL已经通过函数转换成了整数,并且采用简单的散列表实现。设散列表a[18],散列函数是hash(k)=k%17,用开放地址法解决冲突hi=(h0+di)%m。
2024-05-20 19:57:53 489
原创 PTA 7-4 开源情报之URL查重简化版-散列表构造
开源情报是指通过公开可用的数据和信息获取情报。随着信息技术的发展,互联网已成为各类情报组织的主要工具之一。在互联网上通过URL访问网站,开源情报系统通过海量的URL搜集信息,这些URL存在大量的重复,通过散列表可以快速的实现,目前实现中常用布隆过滤器的判重方式。本题中,为了简化编程,假设URL已经通过函数转换成了整数,并且采用简单的散列表实现。设散列表a[18],散列函数是hash(k)=k%17,用开放地址法解决冲突hi=(h0+di)%m。冲突时采用平方探测法,使用增量序列di=i2。
2024-05-20 09:35:02 210 2
原创 PTA 6-2 入侵者围剿第二关2情报解密
第一个函数是://创建一个有序新链表,值从两个有序链表ha,hb中复制第二个函数是://生成新结点s,新结点的值从p复制,然后将结点串接到链表尾部第三个函数是://两个链表有一个先结束,还没有结束的链表要整体复制到新链表中add功能:两个有序链表ha,hb进行合并运算,构成一个新的链表返回,原链表ha,hb保留。add需要调用createnode和addremaining函数。思路:p指向ha第一个元素,q指向hb第一个元素,循环条件是p和q都不为空,
2024-05-13 08:30:29 277
原创 PTA 6-1 入侵者围剿第二关1情报解密
在这里描述函数接口。例如://注意是带头结点的链表head是头指针,last是尾指针,insertNode的返回值是最新的尾指针,x是新结点的data值。printList不要打印头结点,只打印真正的元素列表。
2024-05-13 08:11:42 193
原创 PTA 6-13 表尾插入法构造链表
函数接口: ptr creat( );//构造链表 void output(ptr p);//输出链表元素其中p是用户传入的参数。creat函数返回链表的头指针,输入在creat函数中输入,以0表示输入结束。output函数输出链表元素,以一个空格隔开。
2024-04-22 08:04:51 311
原创 PTA 6-11 操作指针删除三个已串接结点中的第二个结点
返回值为第一个结点的地址。typedef struct node//结构体定义int data;//存储数据//指向下一个结点的指针snode,*ptr;//定义别名。
2024-04-12 21:05:09 256
原创 PTA 6-10 操作指针串接两个结点
返回值为第一个结点的地址。x1,x2为两个data需要用到的值。只需要实现Connet函数。typedef struct node//结构体定义int data;//存储数据//指向下一个结点的指针snode,*ptr;//定义别名。
2024-04-11 20:02:41 238
原创 PTA 6-9 结构体指针形式输出
其中 p为结构体指针变量,要求在函数中输出p指向的元素到第一个元素的所有。提示:output(x+n-1);实参传递的是数组一个元素的地址,p接受这个地址后,p从这个地址开始循环到第一个元素通过地址输出元素值。
2024-04-08 20:13:27 302
原创 PTA 6-25 二叉树的遍历
*构造3个结点的二叉树。输入3个整数值, 输入的第一个值为根结点,第二个值为根结点的左儿子,第三个值为根结点的右儿子*///先序遍历//中序遍历//后序遍历其中p是用户传入的参数。
2024-04-06 21:23:47 468
原创 PTA 6-10 操作指针串接两个结点
返回值为第一个结点的地址。x1,x2为两个data需要用到的值。只需要实现Connet函数。typedef struct node//结构体定义{ int data;//存储数据//指向下一个结点的指针snode,*ptr;//定义别名。
2024-04-03 06:55:32 318
原创 PTA 6-12 表头插入法构造链表
函数接口: ptr creat( );//构造链表 void output(ptr p);//输出链表元素其中p是用户传入的参数。creat函数返回链表的头指针,输入在creat函数中输入,以0表示输入结束。output函数输出链表元素,以一个空格隔开。
2024-04-02 19:51:33 421 2
原创 PTA 7-23 冒泡排序
本题目要求读入N个整数,采用冒泡排序(上升法,即每轮得到一个最小值)进行排序,输出的排序结果只是前三趟。输入不超过100的正整数N和N个整数(空格分隔)。输出前三趟冒泡排序结果,空格分隔。为简便起见,最后一个元素后也有一个空格。
2024-04-01 20:36:58 715 2
原创 PTA 7-2 求解右最值问题
本题给定N(不大于20)个元素,求其解右最值问题。所谓“右最值”是指一个序列中某个元素比它的后面所有的元素值都要大的元素,则该元素称为最右值元素。如序列10,9,5,13,2,7,1,8,4,6,3,其最右值元素有13,8,6,3。
2024-04-01 19:53:39 254
原创 PTA 7-3 入侵者围剿第1关-3最大子段和
情报小组对作战序列进行了进一步研究,发现整个序列中真正有效的作战序列是个最大子段和问题,也就是序列中的最大子段和才是敌方的真正作战序列。
2024-03-23 09:41:07 351
原创 PTA 7-2 入侵者围剿第1关之-2对情报数据进行排序
2-为了便于进行数据破解,情报小组又对数据进行了重新排序,请实现排序算法,使得顺序表中作战序列按照时间顺序排列。第一行输入整数个数n(1≤n≤1000),再依次输入n个整数。本题只需要实现功能2,功能3留待后续继续实现。
2024-03-23 09:36:46 384
原创 PTA 7-1 入侵者围剿第1关-1存储敌军作战序列和删除干扰数据
第一行输入整数个数n(1≤n≤1000),再依次输入n个整数。本题只需要实现功能1,功能2、3留待后续继续实现。输出删除所有每逢第3个数据后的序列值。
2024-03-23 09:32:15 346
原创 PTA 7-24 求素数
本题目要求读入1个正整数A,判断A是否为素数。小贴士:反过来考虑,只要有一次整除了,就不是素数,循环break,不要继续算了。还可以加入标志法,flag的初值为1,一,旦整除了,flag置0。输出结果根据flag的值是0还是1来判断。当然也可不用标志法。
2023-11-14 22:48:44 392 1
原创 PTA 7-23 数列求和
编程计算, sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)-1/(2n)),结果保留两位小数。注意:这不是一个分支题目,有人用分支做。分支只能做一次判断。你只做一次,怎么做到把所有项的值都加进去?你又为什么认为分支会自动把每一项值都加进去?另外,注意/的精度,别忘了最后结果的类型要成为实型。
2023-11-14 15:47:17 228
原创 PTA 7-25 换钱计划
A和B制订了一个换钱计划:A每天给B付10万元,而B第一天只需给A一分钱,第二天给两分钱,以后每天给的钱是前一天的两倍。合同期限为一个月(30天)。AB都很高兴,欣然签订了这份合同。请帮他们计算到给定的某天时,AB各付出了多少钱。
2023-11-14 15:43:22 206
原创 PTA 7-20-02 体能成绩统计(统计总成绩)
体能考试结束后,输入n名男生(不超过40名)的姓名和体能成绩,包括引体向上、蛇形跑、3公里和仰卧起坐,输出每名学生的姓名和总成绩,并输出引体向上最高分学生姓名和成绩(如果成绩相同,输出按原先顺序排列的第一个最高分)。
2023-11-08 09:20:43 1469
空空如也
7-8 后序和中序构造二叉树 段错误
2024-07-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人