摘要:
图解: 添加prim函数: 测试程序如下: 结果如下: 复杂图的结果如下: 改进函数,支持最大生成树: 测试程序如下: 结果如下: 小结:
阅读全文
posted @ 2018-10-01 07:45
周伯通789
阅读(254)
推荐(0)
摘要:
添加DFS函数: 测试程序如下: 结果如下: 深度优先的思想就是二叉树的先序遍历思想。 递归版的深入优先算法如下: 结果如下: 小结:
阅读全文
posted @ 2018-09-27 23:11
周伯通789
阅读(221)
推荐(0)
摘要:
广度优先相当于对顶点进行分层,层次遍历。 在Graph.h中添加BFS函数: 测试程序如下: 广度优先的本质就是层次遍历。 结果如下: 小结:
阅读全文
posted @ 2018-09-27 22:44
周伯通789
阅读(180)
推荐(0)
摘要:
增加新顶点的时候只能在链表的末尾进行,其他的顶点的编号不能打乱了。 添加ListGraph.h文件: 测试程序如下: 结果如下: 小结:
阅读全文
posted @ 2018-09-26 22:35
周伯通789
阅读(185)
推荐(0)
摘要:
顶点和数据元素相关联: 每个顶点关联着一个字符串,这个就是顶点的数据,这个数据关联着工程意义。 添加MatrixGraph.h文件: 测试程序如下: 结果如下: 小结:
阅读全文
posted @ 2018-09-25 23:18
周伯通789
阅读(315)
推荐(0)
摘要:
后面的代码只考虑有向图,因为无向图可以看做一种特殊的有向图。 添加Graph.h文件: 小结:
阅读全文
posted @ 2018-09-24 20:53
周伯通789
阅读(258)
推荐(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)
摘要:
在工程中,很多时候二叉树一旦建立就不会轻易改动,这样的二叉树就用于遍历,我们讲了先序遍历、中序遍历、后续遍历三种方式,都是递归完成的,在工程中,如果对一棵二叉树反复的执行遍历,效率很低,递归的效率是比较低的。 改进的做法就是将遍历的结果保存下来,下一次遍历时直接用这个结果。 在工程中另一种需求就是,
阅读全文
posted @ 2018-09-24 14:28
周伯通789
阅读(225)
推荐(0)
摘要:
克隆操作也是递归实现的。 添加克隆函数: 测试程序如下: 结果如下: 重载相等比较操作符。 添加比较程序: 测试程序如下: 结果如下: 添加相加操作: 测试程序如下: 结果如下: 小结:
阅读全文
posted @ 2018-09-24 11:24
周伯通789
阅读(418)
推荐(0)
摘要:
在BTree.h中添加遍历函数: 测试程序如下: 结果如下: 小结:
阅读全文
posted @ 2018-09-24 10:19
周伯通789
阅读(179)
推荐(0)