随笔分类 -  《数据结构与算法分析》习题

摘要:PS:这两条习题是添加到STL的List代码实现http://www.cnblogs.com/alan-forever/archive/2012/09/12/2682437.html3.15 给List类添加splice操作。void splice( iterator position, List<Object> & lst )删除lst中的所有项,并将这些List * this中的位置position之前。lst和*this必须是不同的表,所写的例程必须是常量时间的。PS:刚开始以为O(n)是常量,最后我发现我严重的错了,之前还想逐个逐个调用inset函数,好吧,我错了。 阅读全文
posted @ 2012-10-15 23:42 alan_forever 阅读(369) 评论(0) 推荐(0)
摘要:这两题是单向链表,所以与之前的习题分开。List代码实现:http://www.cnblogs.com/alan-forever/archive/2012/09/12/2682437.html关于list的题目:http://www.cnblogs.com/alan-forever/archive/2012/09/25/2702100.html因为这两题除了添加元素的函数不同,其他操作都是一样。3.11 假设一个单向链表的实现有一个头结点,但是没有尾结点,并且有且只有一个指向表头结点的指针。写一个类,使之包括的方法可以:a、返回链表的大小。b、打印链表。c、检测值x是否在链表中。d、如果值x没 阅读全文
posted @ 2012-10-10 12:30 alan_forever 阅读(480) 评论(0) 推荐(0)
摘要:这些题目是关于list的题目,只是给出实现题目要求的代码,整个完整程序是用List的代码实现的代码。List代码实现:http://www.cnblogs.com/alan-forever/archive/2012/09/12/2682437.htmlPS:思考时有些先入为主,影响对解法的思考·····以后要注意····3.6 Josephus问题。有N个人坐成一圈,编号为1至N。从编号为1的人开始传热马铃薯。M次传递之后,持有马铃薯的人退出游戏,圈缩小,然后游戏从退出人下面的人开始,继续进行。最后留下来 阅读全文
posted @ 2012-09-25 19:44 alan_forever 阅读(1919) 评论(0) 推荐(0)
摘要:PS:13题和14题,我将它们综合在一起·····因为我只看了题目对Object、Comparable没有了解(第一章都是一些回顾)······· 1 //1.5编写一个递归方法,它返回数N二进制表示1的个数。 2 #include<iostream> 3 using namespace std; 4 int ones(int x) 5 { 6 if(x < 2) 7 return x; 8 else 9 return x % 2 + ones(x / 2) 阅读全文
posted @ 2012-09-11 13:21 alan_forever 阅读(549) 评论(0) 推荐(0)