摘要: 对《大话数据结构》P244——邻接表的广度优先遍历,进行了自己的理解并完善了代码。 举个简单的例子: 首先用邻接表的存储结构创建该图,再进行广度优先遍历。 代码和解释如下(VS2012测试通过): 运行结果: 结果解释: print1和print2用来标记在函数哪个部分打印,可以看出遍历顺序是AFD 阅读全文
posted @ 2016-04-19 20:40 Pearl_zju 阅读(444) 评论(2) 推荐(0) 编辑
摘要: 对《大话数据结构》P242-243——邻接矩阵的广度优先遍历,进行了自己的理解并完善了代码。 过程如下:先打印,再入队,再出队,再遍历与刚才出队元素相连并没有被访问过的点(入队之前先打印) 1、A入队,A出队,把与A相连并且没有被访问过的顶点B F依次入队 2、B出队,把与B相连并且没有被访问过的顶 阅读全文
posted @ 2016-04-19 19:42 Pearl_zju 阅读(5870) 评论(0) 推荐(0) 编辑
摘要: 题目来源:http://www.lintcode.com/zh-cn/problem/remove-duplicates-from-sorted-list/ 第一次编译没有通过,是用了.,对象的指针调用对象的变量只能用->,而且temp->next依然是个指针 第二次编译没有通过,是没有判断head 阅读全文
posted @ 2016-04-19 14:55 Pearl_zju 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 题目来源:http://www.lintcode.com/zh-cn/problem/add-two-numbers/ 思想是用一个carry同时更新和与进位。出现过以下问题。 1、new节点的时候需要判断,否则最终会多出一个0节点。 2、起初用do while,但也是错的。而且while最后要加; 阅读全文
posted @ 2016-04-19 14:52 Pearl_zju 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 题目来源:http://www.lintcode.com/zh-cn/problem/delete-node-in-the-middle-of-singly-linked-list/ 这题主要是题意一开始不明白,举个例子: 8->6->3->1->9->2->null, 1 输出 8->6->3-> 阅读全文
posted @ 2016-04-19 14:51 Pearl_zju 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目来源:http://www.lintcode.com/zh-cn/problem/remove-linked-list-elements/ 1、用当前节点判断下一节点的val,所以循环结束标识是while (temp->next != NULL),而不能是while(temp!=NULL) 2、 阅读全文
posted @ 2016-04-19 14:48 Pearl_zju 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 参考《大话数据结构》P178~184——二叉树的遍历。 用书上的这个二叉树: 代码和解释如下(VS2012测试通过): 运行结果: 下图方便理解递归。但写递归代码的时候不用这么麻烦,毕竟人脑更擅长考虑递推。重点放在求解目标上,以及递归结束的条件。 阅读全文
posted @ 2016-04-19 12:54 Pearl_zju 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 参考《大话数据结构》P187~188——二叉树的建立。 举个简单的例子: 代码和解释如下(VS2012测试通过): 运行结果: 阅读全文
posted @ 2016-04-19 12:44 Pearl_zju 阅读(851) 评论(0) 推荐(0) 编辑