随笔分类 - 数据结构(MOOC)
摘要:声明:非本人原创,原文地址:http://blog.sina.com.cn/s/blog_ce1b01420102vizs.html这篇博文的思路是非常正确的,但是程序无法编译。比如vector *G,在codeblocks无法编译成功。因此博主做了一些改动,以便能正常编译运行。具体的思路和代码都是...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/09-2题目分析:这是一道考察哈希散列表的一道题。题目总体来说是比较简单的,而且又是中文的,相信大家都能看懂。特别说明: QQ号是10位的,而long型整数最大能表示到±2*10^9,也就是能表示到2开头的QQ号...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/09-1题目分析:这是一道考察哈希散列表的一道题。题目总体来说是比较简单的,但是可能有的同学英文不好,看不懂题意,这里简单解释一下。 输入的第一行是MSize(你要找到离这个数最近的素数)和N(接下来整数的个数)...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/08-3题目分析:这是一道考察排序算法的一道题。但是排序有要求,每次只能用数字0和其他数字进行排序。因此题目的名字叫做swap(0,*)。博主由于最开始没有思路,看了讨论区的几个帖子,发现大家大概有几种思路: 1...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/08-2题目分析:这是一道考察排序算法的一道题。题目的本身没什么难度的,首先是按资产降序排序,资产相等按年龄升序排序,年龄相等按姓名升序排序。重载一个>运算符就可以完成上述所有事情。但是有两个大数据需要特殊考虑,那...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/08-1题目分析:这是一道考察排序算法的一道题。如果对题目不懂的话,这里恰巧有一个中文题目,不妨看一下: http://www.patest.cn/contests/pat-b-practise/1015特别说明...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/07-2题目分析:这是一道考察插入排序和归并排序的一道题。题目可能有点难以理解,这里稍加解释一下: 首先,输入的第一行是一个整型数,代表数据的个数。第二行是起始数据,排序从这里开始。第三行是目标(或者叫终止)数据...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/07-1题目分析:本题旨在测试各种不同的排序算法在各种数据情况下的表现。因此没有标准答案。本帖旨在给出各种排序算法的C++实现形式,并将结果进行比较、总结。希望能给大家带来帮助。各种排序算法的代码:1. 冒泡排序:...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/06-5题目分析:这是一道考察图的拓扑排序——关键路径问题。在作业06-4的基础上不仅要求每个点的最早开始时间,还要求每个点的最晚结束时间,除此之外,还要知道每个活动的最早开始、最晚结束时间。活动的最早和最晚时间相...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/06-4题目分析:这是一道考察图的拓扑排序问题,输入是图的相关信息,输出最早结束时间或者Impossible。题目还是比较简单的。特别说明: 1. 输出最大值,可以用标准库的函数:max_element,返回值是...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/06-3题目分析:典型最小生成树问题,且只需输出树各边的权值之和出来就可以了。博主这里用的是Prim算法。特别说明: 1. 用邻接矩阵表示图比较容易。保存路径长度就可以了。因为强调了数组下标从1开始,因此在输入完...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/06-2题目分析:陈姥姥说,这是Dijstra算法的一道题。题目是中文的,这里就不再啰嗦了。有一点提示一下,咱们平时用的Dijistra算法,是用来求最短路径的。这道题不仅要求最短路径,而且要兼顾收费总额,因此除了...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/06-1题目分析:这是一道考察图的广度优先遍历,同时也要借助于Dijstra算法的一道题。题目的背景与上周的05-2是相同的:007被困在一个孤岛上,孤岛的直径是15,池塘的范围是[±50, ±50]。池塘中鳄鱼的...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/05-3题目分析:这是一道考察图的广度优先遍历的一道题,题目的背景是“六度空间”。相信听过陈老师的课,都对这道题的背景有所了解。如果没有认真听或者忘记的话,题目是中文的,再读一遍好了。特别说明: 1. 用邻接表建...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/05-2题目分析:这是一道考察图的深度优先遍历的一道题,题目的背景是007。相信听过陈老师的课,都对这道题的背景有所了解。如果没有认真听或者忘记的话,我再重复一次好了。 007处在孤岛上,孤岛的半径为15米,孤岛...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/05-1题目分析:这是一道考察图的建立、深度优先遍历、广度优先遍历的一道题,算法是非常基础的。这里只解释一下输入和输出就可以了,相信大家应该能看懂题目。 输入:结点数(N=8),边数(E=6),接下来是各边的信息...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/04-3题目分析:这是一道考察“哈夫曼编码”的问题,但是这里大家不要陷入一个误区:就是一定要把哈夫曼树构造出来。我们首先分析一下题目的需求: 输入:第一行是结点数目num;第二行是每个结点数据data及出现的次数...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/04-2题目分析:这是一道考察“并查集”的问题,通过的人像2-1一样那么少。 首先输入的是一个整型数,代表网络中有多少个结点。 然后输入若干行,每行由1个字符,两个整数组成,字符为I代表增加连接,字符为C代表检...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/04-1题目分析:这是一颗平衡二叉树的“创建”问题。 输入:不断向树中增加新的结点,并通过左旋、右旋等操作调整树,使树保持平衡性。 输出:根结点的data区即可。 如果你没有看老师留下来的PPT,那么这时候不...
阅读全文
摘要:题目链接:http://www.patest.cn/contests/mooc-ds/03-3题目分析:借助“栈”进行树的后续遍历。栈工作记录中必须注明刚才是在左子树还是在右子树中。 每次PUSH,times = 1; 每次POP检查栈顶记录的times:如果是1,弹出来变成2压回栈; ...
阅读全文

浙公网安备 33010602011771号