
算法
想个名字真的难
这个作者很懒,什么都没留下…
展开
-
PTA L2-006树的遍历
这道题主要考察了树的遍历,如何从后序遍历与中序遍历的序列中重新建立一颗树,并且进行层序遍历。重点在于如何建立这棵树,树是递归定义的,那么我们就递归建立树。后序遍历的最后一个点即是当前树的根,再根据中序遍历序列,我们可以将树分成左右子树,递归重新得到树。层序遍历则利用队列简单解决。#include<iostream>#include<queue>using nam...原创 2019-04-09 15:17:05 · 227 阅读 · 0 评论 -
PTA L2-003 月饼
这是一道贪心算法的题,题目也直接告诉了我们是贪心去做,需要注意的是测试点3,因为给出的月饼的重量不一定是整数,因此要用double#include<algorithm>#include<iostream>using namespace std;struct mooncake { double price; double weight; double valu...原创 2019-04-16 15:22:13 · 362 阅读 · 0 评论 -
PTA L2-011 玩转二叉树
这道题和L2-006树的遍历是几乎一样的思路,都是通过两个遍历序列得到原来的树,然后再进行层序遍历。这题的细小区别在于给的是前序遍历,因此这次的根结点应该是序列的第一个。第一次写的时候写了个翻转的函数,但是之后又想了想,只要在层序遍历时先push右子树就实现了翻转,因此可以省略这个函数。#include<iostream>#include<queue>using ...原创 2019-04-10 09:10:23 · 333 阅读 · 0 评论 -
PTA L1-001 紧急救援
就是考查dijkstra算法的应用#include<iostream>#include<algorithm>#include<cstring>using namespace std;#define INF 0x7FFFFFFFconst int maxn = 510;int dis[maxn], w[maxn], num[maxn];int n...原创 2019-04-23 15:28:43 · 417 阅读 · 0 评论