![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA
ming_514
这个作者很懒,什么都没留下…
展开
-
求二叉树高度(20 分)
对于他们已经给好的代码,然后递归调用函数就可以,#include #include typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right原创 2017-10-28 19:23:40 · 2477 阅读 · 0 评论 -
字符串关键字的散列映射(25 分)
这个题目,数据结构的课本上是有的,当你发生冲突的时候,是可以用平方探测法解决的 这个题目就是需要注意一下,当你需要减的时候,需要防止一下负数取模的给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数(将关键字Key中的最后3个字符映射为整数,每个字符占5位;再用除留余数法将整数映射到长度为P的散列表中。例如将字符串AZDEG插入长度为1009的散列表中,我们首先原创 2017-10-28 20:11:20 · 6230 阅读 · 1 评论 -
航空公司VIP客户查询(25 分)
这个就是hash值 利用hash的思想,记得hash出来的结果可能有相同的!!。 用vector存一下就可以不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务。现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分的功能。输入格式:输入首先给出两个正整数N(≤)和K(≤)。其中原创 2017-10-28 20:07:49 · 1287 阅读 · 0 评论 -
社交网络图中结点的“重要性”计算(30 分)
这个题目就是最短路,给你几个结点,然后计算出这个几个结点到其他结点的最短路,除(n-1)的倒数,就可以。在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来。他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱。而结点根据其所处的位置不同,其在网络中体现的重要性也不尽相同。“紧密度中心性”是用来衡量一个结点到达其它结原创 2017-10-28 20:01:02 · 1960 阅读 · 0 评论 -
公路村村通(30 分)
这个题目就是最小生成树,很简单的一个题目,就是需要判断每个结点是否都在树上,然后判断一下就可以,板子题目现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤)和候选道路数目M(≤);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及原创 2017-10-28 19:59:18 · 275 阅读 · 0 评论 -
目录树(30 分)
这个题,自己一开始没有想起来怎么做好一点,所以问了问同学的思路,然后做的这个题目,其实这个题目思路还是比较简单的,自己就是在处理是否是目录的结束处理的并不算怎么好,自己一开始没有想到用结构体的方式去排序,然后判断,用上这个方法,这个题目就是很简单了,就是字符串的处理。在ZIP归档文件中,保留着所有压缩文件和目录的相对路径和名称。当使用WinZIP等GUI软件打开ZIP归档文件时,可以从原创 2017-10-28 19:52:15 · 1126 阅读 · 0 评论 -
旅游规划(25 分)
最短路的一个题目,不知道自己为什么用spfa过不去,所以用了dij 自己做了一下优化,这个就是更新结点的时候需要注意一下,更新结点先判断距离,然后判断花费,有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:原创 2017-10-28 19:56:05 · 565 阅读 · 0 评论 -
关键活动(30 分)
这个题目就是关键路径。正向拓扑更新结束时间,保留最后结束的那个点,然后反向查找存入路径,按照题目要求就是输出的时候,和读入顺序有关,用一个数组记录一下,然后排个序就可以了讲解一下关键路径,关键路径就是最长的一条路径。比如在做一个项目,每条路径都是其中一个工程,所以在正向拓扑的时候选择一个最后结束的点,也就是最后结束的工程这工程不结束,这个项目也没有办法结束。然后反向查找,刚才的路径,就是从原创 2017-11-16 15:07:20 · 2867 阅读 · 0 评论 -
畅通工程之最低成本建设问题(30 分)
这个题目就是一个最小生成树,如果无法构成就输出impossible ,就是构成最小生成树的时候,每选择一条边然后加加,最后统计是否有n-1条就可以。最小生成树的讲解在我的其他的博客中有提到#include #include #include #include #include #include #include #include #include #include #i原创 2017-11-16 15:11:02 · 5040 阅读 · 0 评论 -
城市间紧急救援(25 分)
这个题目,一开始用数组统计路径个数,在更新最短路的路径个数时总是错误,后来直接从起点回溯了一遍,就可以了,更新最短路的时候有两个权值因素,一个是路径长度一个是数目,在路径在同一个结点的时候要选择数目最多的那一个,dij也能写,spfa也可以,都可以试一试#include #include #include #include #include #include #include原创 2017-11-16 15:15:33 · 3298 阅读 · 0 评论 -
天梯地图(30 分)
这个题目,也是最短路,不过路径最短的时候,结点要最小,路径最快的时候,路径最短,所以跑两遍就可以,由于点的个数不多,所以对于两个因素直接用二维数组记录一下就可以。#include #include #include #include #include #include #include #include #include #include #include #includ原创 2017-11-16 15:21:25 · 757 阅读 · 0 评论 -
寻找大富翁(25 分)
就是一个排序题目, 排序的方式自己选择一个就可以#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long longu原创 2017-10-28 20:13:06 · 273 阅读 · 0 评论 -
奥运排行榜(25 分)
这个题目需要注意的一个地方就是,如果你想排序 那么查询就做到O(1) 如果查询用O(n)那就不用排序,自己可以选择下, 做到查询是O(1)比较麻烦需要各种映射才可以做到每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口少的国家公布一个“国民人原创 2017-10-28 20:14:00 · 695 阅读 · 0 评论 -
PAT排名汇总(25 分)
这个题目就是需要注意一下 注意排序方式,然后就可以直接暴力的方法 进行排名的时候选择一个好的方式来计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会原创 2017-10-28 20:16:12 · 662 阅读 · 0 评论 -
二叉树的遍历(25 分)
这个先序遍历,后序遍历,中序遍历,还有层次遍历,层次遍历有两种写法,模拟队列的写法,算是可读性比较高的写法#include #include typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; Bi原创 2017-10-28 19:25:37 · 863 阅读 · 0 评论 -
先序输出叶结点(15 分)
输出叶子结点,就是找一个结点的左儿子和右儿子都为空,输出就可以#include #include typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinT原创 2017-10-28 19:28:37 · 3107 阅读 · 0 评论 -
根据后序和中序遍历输出先序遍历(25 分)
输入格式:第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder:以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:Preor原创 2017-10-28 19:29:46 · 3453 阅读 · 0 评论 -
树的同构(25 分)
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一原创 2017-10-28 19:34:42 · 226 阅读 · 0 评论 -
修理牧场(25 分)
这个题,利用数据结构的思想,就是一棵哈夫曼树,然后用优先队列,模拟一下就可以,不断去取最小的两个模板,然后求和记录一下。农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等原创 2017-10-28 19:41:58 · 839 阅读 · 0 评论 -
一元多项式的乘法与加法运算(20 分)
这个就是用数组模拟一下,下标的方式,表示对应的指数,然后记得要以指数递减的方式输出一下输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多原创 2017-10-28 19:44:00 · 464 阅读 · 0 评论 -
银行排队问题之单窗口“夹塞”版(30 分)
加塞版,就是你需要考虑一下他的朋友,所以用队列,然后如果他的朋友符合条件就可以把他的朋友压入,如果找不到朋友,就去遍历另外的,有符合条件的更新就可以。排队“夹塞”是引起大家强烈不满的行为,但是这种现象时常存在。在银行的单窗口排队问题中,假设银行只有1个窗口提供服务,所有顾客按到达时间排成一条长龙。当窗口空闲时,下一位顾客即去该窗口处理事务。此时如果已知第i位顾客与排在后面的第j位顾客是原创 2017-10-28 19:46:23 · 2660 阅读 · 0 评论 -
银行排队问题之单队列多窗口加VIP服务(30 分)
这个题,就是需要注意一个地方,需要改变这个系列题目方式,需要暴力时间求解,就是对于每一个时间,都有一个标记值,如果这个时间已经被标记过了,然后++直接找到一个区间可以使这个人能够办完业务,比较恶心,直接暴力写就行,剩下的就是复制粘贴。#include #include #include #include #include #include #include #include原创 2017-10-28 19:49:27 · 1133 阅读 · 0 评论 -
Windows消息队列(25 分)
用优先队列做,很简单,直接暴力求解就可以,记得有一个地方就是 用cin cout 会超时,所以转换一下就可以。还是比较简单的消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消原创 2017-10-28 20:24:46 · 258 阅读 · 0 评论 -
模拟EXCEL排序(25 分)
很恶心啊, 卡输入输出 ,不能用cin cout 关掉了同步也不行,估计是pta不能关掉同步然后手动转换一下就行, 用了 const char *t = (string).c_str(); 用这个就可以很快的string 变char 不然在写排序算法的时候,判断是比较麻烦的Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。输入格式:输入的第一行包原创 2017-10-28 20:22:08 · 1058 阅读 · 0 评论 -
链表逆置
链表逆置可以有很多种方法,第一种方法,我们知道链表的创建的方法,有一种方法就是插头法,但是插头法有一个缺陷就是,如果你想输出的链表和你想要的顺序是一致的,你需要倒序输入,其实这就是链表的逆置。采用辅助指针,不断获取链表的第一个元素,然后用插头法创建一个新的链表,那么这个链表就是逆置的void ListReverse_L(LinkList &L){ LNode *p,*tmp;原创 2017-12-19 20:07:30 · 544 阅读 · 2 评论