上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 参考《大话数据结构》P178~184——二叉树的遍历。 用书上的这个二叉树: 代码和解释如下(VS2012测试通过): 运行结果: 下图方便理解递归。但写递归代码的时候不用这么麻烦,毕竟人脑更擅长考虑递推。重点放在求解目标上,以及递归结束的条件。 阅读全文
posted @ 2016-04-19 12:54 Pearl_zju 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 参考《大话数据结构》P187~188——二叉树的建立。 举个简单的例子: 代码和解释如下(VS2012测试通过): 运行结果: 阅读全文
posted @ 2016-04-19 12:44 Pearl_zju 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 参考《大话数据结构》P98~99——栈的链式存储结构。 进栈: 出栈: 举个简单的例子: 代码和解释如下(VS2012测试通过): 运行结果: 对比顺序栈和链栈: 时间上: 它们入栈和出栈在时间复杂度上是一样的,均是O(1)。 空间上: 顺序栈需要实现确定一个固定的长度,可能会存在内存空间浪费的问题 阅读全文
posted @ 2016-04-18 22:17 Pearl_zju 阅读(2502) 评论(0) 推荐(0) 编辑
摘要: 参考《大话数据结构》P95~96——两栈共享存储空间。 当两个栈的需求空间有相反关系时,也就是一个栈增长时,另一个栈在缩短,可以采用两栈共享空间结构。这是针对两个具有相同数据类型的栈的一个设计技巧。 举个简单的例子: 代码和解释如下(VS2012测试通过): 运行结果: 阅读全文
posted @ 2016-04-18 20:45 Pearl_zju 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: 参考《大话数据结构》P92~94——栈的顺序存储结构。 举个简单的例子: 代码和解释如下(VS2012测试通过): 运行结果: 阅读全文
posted @ 2016-04-18 19:07 Pearl_zju 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: 今天看图的广度优先遍历的时候,发现用到了队列,补一下链队列的知识,参考《大话数据结构》的P118~120,自己写了一个简单的测试例子便于理解。 理解起来并不难,用的是单链表结构。front指向链表的头结点(是虚结点,它的next指向第一个节点),rear指向链表的尾节点。 下面举个简单的例子,实现链 阅读全文
posted @ 2016-04-18 15:22 Pearl_zju 阅读(5780) 评论(0) 推荐(0) 编辑
摘要: 今天看图的广度优先遍历的时候,发现用到了队列,补一下循环队列的知识,参考《大话数据结构》的P116~117,自己写了一个简单的测试例子便于理解。 首先需要理解以下三条公式。 front是队头元素的下标,rear是队尾元素后一位的下标。(书上用头指针和尾指针,front和rear并不是指针,个人觉得不 阅读全文
posted @ 2016-04-17 15:51 Pearl_zju 阅读(9771) 评论(0) 推荐(0) 编辑
摘要: 对《大话数据结构》P241——邻接表的深度优先遍历,进行了自己的理解并完善了代码。 邻接矩阵的深度优先遍历见http://www.cnblogs.com/hslzju/p/5399249.html 举个简单的无序图例子,为了节省时间传手稿。 首先用邻接表的存储结构创建该图,再进行深度优先遍历。 代码 阅读全文
posted @ 2016-04-16 23:38 Pearl_zju 阅读(3988) 评论(1) 推荐(1) 编辑
摘要: 对《大话数据结构》P240——邻接矩阵的深度优先遍历,进行了自己的理解并完善了代码。 邻接表的深度优先遍历见http://www.cnblogs.com/hslzju/p/5399832.html 举个简单的无序图例子,为了节省时间传手稿。 首先用邻接矩阵的存储结构创建该图,再进行深度优先遍历。 代 阅读全文
posted @ 2016-04-16 20:24 Pearl_zju 阅读(10445) 评论(0) 推荐(2) 编辑
摘要: 数组指针中有三条规律(适用于任何维数数组):(来源于李戈老师的计算概率) 数组名相当于指向数组第一个元素的指针; &E相当于把E的管辖范围上升了一个级别; *E相当于把E的管辖范围下降了一个级别; 我再增加一条,[]也是把管辖区域下降一个级别。 这三条规律真的很好用! 如果a是一维数组的名字,a指向 阅读全文
posted @ 2016-04-16 13:40 Pearl_zju 阅读(390) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页