摘要:
后面的代码只考虑有向图,因为无向图可以看做一种特殊的有向图。 添加Graph.h文件: 小结: 阅读全文
posted @ 2018-09-24 20:53
周伯通789
阅读(258)
评论(0)
推荐(0)
摘要:
删除结点1之后,下一个删除的就是3了。 程序: 结果如下: 第一个要删除的结点是1,node是一个引用,指向1这个结点,也就是0结点中的孩子指针的引用,node = node->child执行完之后,0结点里面的孩子指针就指向了3,也就是node这个指针指向了3,这个node此时还是0结点中的孩子指 阅读全文
posted @ 2018-09-24 17:37
周伯通789
阅读(324)
评论(0)
推荐(0)
摘要:
在工程中,很多时候二叉树一旦建立就不会轻易改动,这样的二叉树就用于遍历,我们讲了先序遍历、中序遍历、后续遍历三种方式,都是递归完成的,在工程中,如果对一棵二叉树反复的执行遍历,效率很低,递归的效率是比较低的。 改进的做法就是将遍历的结果保存下来,下一次遍历时直接用这个结果。 在工程中另一种需求就是, 阅读全文
posted @ 2018-09-24 14:28
周伯通789
阅读(225)
评论(0)
推荐(0)
摘要:
克隆操作也是递归实现的。 添加克隆函数: 测试程序如下: 结果如下: 重载相等比较操作符。 添加比较程序: 测试程序如下: 结果如下: 添加相加操作: 测试程序如下: 结果如下: 小结: 阅读全文
posted @ 2018-09-24 11:24
周伯通789
阅读(418)
评论(0)
推荐(0)
摘要:
在BTree.h中添加遍历函数: 测试程序如下: 结果如下: 小结: 阅读全文
posted @ 2018-09-24 10:19
周伯通789
阅读(179)
评论(0)
推荐(0)
摘要:
GTree和BTree中都有遍历相关的函数,因此,我们将这些遍历相关的函数放到Tree.h中,作为纯虚函数声明: 如下: BTree.h中添加遍历相关的函数: 测试程序如下: 结果如下: 阅读全文
posted @ 2018-09-24 10:06
周伯通789
阅读(218)
评论(0)
推荐(0)
摘要:
递归功能函数: 功能函数如下: degree的递归功能函数如下: 我们去掉了冗余代码,用数组和for循环的方式实现。 如果不用这个方式,将会出现两段相似的代码。 如下: 总的Btree.h如下: 测试程序如下: 结果如下: 阅读全文
posted @ 2018-09-24 09:19
周伯通789
阅读(247)
评论(0)
推荐(0)
摘要:
BTree.h中添加删除操作: 测试程序如下: 结果如下: 添加清除操作: 小结: 阅读全文
posted @ 2018-09-24 08:29
周伯通789
阅读(553)
评论(0)
推荐(0)
浙公网安备 33010602011771号