![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA---数据结构与算法题目集
kbz不是我啊
遇见更好的自己
展开
-
PTA---7-50 畅通工程之局部最小花费问题(最小生成树...并查集)
PTA—畅通工程之局部最小花费问题 直达链接点我!!! 思路 开始一直想DFS的思路…然后发现毕竟是多条道路都要试…然后遍历起来麻烦,保存最小花费也麻烦…pass 然后就是Dijkstra了…不过只能解决一个节点到其他节点的…这样其实也可以,毕竟畅通就是全部都连通了,那么就可以保存一个最小的dis数组(表示从开始这个点到其他所有点的最小花费)…但是…可能会重复花费… 后来想了想,并查集可以先将已经建好的道路先并起来,然后找最小的花费(直接按花费从小到大排序,用一个结构体保存输入的未建成的边),如果他俩没连原创 2020-08-27 15:16:43 · 530 阅读 · 0 评论 -
PTA---7-11 关键活动(拓扑排序(DFS判断回路)+关键路径)
PTA 7-11 关键活动 拓扑排序,DFS回路判断,关键路径原创 2020-08-24 15:36:59 · 1166 阅读 · 1 评论 -
PTA---7-41 PAT排名汇总(C语言)
7-41 PAT排名汇总 题目链接—点我 思路 首先我们将要存什么东西搞明白:1.学生考号 2.学生成绩 3.考场号 这里不存它的排名,因为我们可以用数组下标存就行 然后就是排序了,排序先按成绩排,然后成绩相同按照学号的非递减排序,这里我们采用快速排序,下面说下快排的思想 快速排序: 样例 ,对2 5 1 3 7 4排序 先确定一个基准数,就拿第一个2开始,然后在0~5之间前后判断(使得最后一次排序后,基准数后面的数都比它大,前面的数都比它小),这里记住,先要从后面判断(为什么自己想想吧Q_Q) 这样原创 2020-08-05 10:16:39 · 4963 阅读 · 0 评论 -
PTA-Windows消息队列-C语言(最小堆)
PTA-7-26 Windows消息队列 直达题目点我!>…< 题目描述就不写啦 思路 最小堆,堆顶就是最小的数字咯(也就是优先级最大的) 这样我们只需要创建一个最小堆,每次GET时将第一位输出就行了,然后将第一位删除(也就是让最后一位到第一位,当然这个时候,已经不是二叉堆了,就需要将堆顶的向下滚(down函数)…) 建立堆,也就是PUT时,只需要将每个输入进来的消息放在最后一位,然后up(就是让他向上滚),形成最小堆…(这里不了解最小堆的小伙伴可能理解起来很难,建议先把最小堆,最大堆的创原创 2020-07-31 11:47:39 · 783 阅读 · 2 评论 -
PTA自测题---Shuffling Machine(洗牌机C++)
自测-5 Shuffling Machine (20分) 题目描述这里就不描述了 题目链接点我 思路 摆明了就是交换数组的元素咯,比如说,当前扑克牌顺序是2 3 4 5 1 而交换数组的顺序是3 2 1 5 4 这样就是2要换到第三个位置上,3要换到第二个位置上,4换到第一个位置上…这里要注意数组下标从零开始 于是乎,换完就变成了 4 3 2 1 5 不过,如果要换两次的话,记住是用第一次换完后的数组再进行交换(再来一次循环) 还有一个小技巧,就是不用一个char数组存扑克牌的顺序,太麻烦了…我们可以通过原创 2020-07-27 15:46:13 · 365 阅读 · 0 评论 -
PTA---7-9 旅游规划(Warshall算法,时间复杂度O(N³))
PTA数据结构与算法题目集—旅游规划 有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。 输入格式: 输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D是目的地的城市编号。随后的M行中,每行给出一条高速公路的信息,分别原创 2020-07-25 18:06:23 · 634 阅读 · 0 评论 -
PTA-6-7---一个数组,两个堆栈(数据结构与算法题集)
6-7 在一个数组中实现两个堆栈 (20分) PTA—数组模拟堆栈 本题要求在一个数组中实现两个堆栈。 函数接口定义: Stack CreateStack( int MaxSize ); bool Push( Stack S, ElementType X, int Tag ); ElementType Pop( Stack S, int Tag ); 其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;Stack结构定义如下: typedef int Position; struct S原创 2020-07-21 23:25:47 · 175 阅读 · 0 评论