进阶笔记

@坚定qinyantang的进阶笔记

PAT A-1076 Forwards on Weibo

很明显的用BFS去解决这道题会比较简单。为了控制层数,需要将结点编号和层数layer绑定成为一个结构体,以便在进行BFS的过程当中随时获得正在访问结点的层数,从而达到控制层数的目的。这里用vector实现了邻接表。/*----------------BFS实现------------------*...

2018-05-13 11:20:37

阅读数:24

评论数:0

PAT A-1034 Head of a Gang

/*------------------------DFS实现--------------------------*/ #include<cstdio> #include<map> #include&...

2018-05-13 10:22:48

阅读数:17

评论数:0

PAT A-1053 Path of Equal Weight

看完这道题,很明显得是用DFS来解决会比较简单。实际在编写程序得时候,有几个值得注意的点是:题目要求输出要按照权重weight从大到小排序,因此可以考虑在排列一个结点的孩子的时候就按照从大到小的顺序来排(这里用到了vector还有sort),这样在遍历的时候就会优先遍历到权重大的结点。如何保存路径...

2018-05-12 09:46:39

阅读数:11

评论数:0

PAT A-1020 Tree Traversals

就是简单的由后序遍历序列和中序遍历序列重建二叉树的算法。/*--------------重建二叉树--------------*/ #include<cstdio> #include<queue> #incl...

2018-05-11 09:08:30

阅读数:19

评论数:0

PAT A-1052 Linked List Sorting

这道题依然是静态链表的应用,不过值得注意的是,这道题隐含了几个tricks:给出的结点中可能存在无效结点,那什么是无效结点呢?意思就是这个结点并不在这条链表上,那么排序的时候就不能够无脑的根据key值来进行排序,我们还需要去做得就是筛选出有效结点和无效结点,为此我们可以在结点结构体定义中加上一个f...

2018-05-07 20:44:49

阅读数:14

评论数:0

PAT A-1032 sharing

这道题很明显的应该使用静态链表来解决更加简单;话不多说,先贴代码;/*--------------静态链表的应用---------------*/ #include<cstdio> #include<cstring&am...

2018-05-07 19:53:17

阅读数:11

评论数:0

PAT A-1060 are they equal?

按整数部分是否为0来分情况讨论:0.a1a2a3~~~;b1b2~~~bm.a1a2a3~;值得注意的是:题目隐含了一个trick,即数据有可能出现前导0(例如000.01或00123.45);下面是@算法笔记(胡凡,曾磊)中给出的参考代码:/*copyright@算法笔记(胡凡,曾磊)*/ /*...

2018-04-15 13:30:50

阅读数:27

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭