上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 58 下一页
摘要: 克隆操作也是递归实现的。 添加克隆函数: 测试程序如下: 结果如下: 重载相等比较操作符。 添加比较程序: 测试程序如下: 结果如下: 添加相加操作: 测试程序如下: 结果如下: 小结: 阅读全文
posted @ 2018-09-24 11:24 周伯通789 阅读(419) 评论(0) 推荐(0)
摘要: 在BTree.h中添加遍历函数: 测试程序如下: 结果如下: 小结: 阅读全文
posted @ 2018-09-24 10:19 周伯通789 阅读(182) 评论(0) 推荐(0)
摘要: GTree和BTree中都有遍历相关的函数,因此,我们将这些遍历相关的函数放到Tree.h中,作为纯虚函数声明: 如下: BTree.h中添加遍历相关的函数: 测试程序如下: 结果如下: 阅读全文
posted @ 2018-09-24 10:06 周伯通789 阅读(222) 评论(0) 推荐(0)
摘要: 递归功能函数: 功能函数如下: degree的递归功能函数如下: 我们去掉了冗余代码,用数组和for循环的方式实现。 如果不用这个方式,将会出现两段相似的代码。 如下: 总的Btree.h如下: 测试程序如下: 结果如下: 阅读全文
posted @ 2018-09-24 09:19 周伯通789 阅读(248) 评论(0) 推荐(0)
摘要: BTree.h中添加删除操作: 测试程序如下: 结果如下: 添加清除操作: 小结: 阅读全文
posted @ 2018-09-24 08:29 周伯通789 阅读(557) 评论(0) 推荐(0)
摘要: 如果新节点指定的目标父节点已经有左孩子和右孩子了,这时插入就会失败,这就是和通用树不同的地方。 插入新结点时,需要指定插入位置。例如,左孩子或者右孩子位置。 不带位置参数的插入函数可以插入到任何位置。 BTreeNode实现了自己的工厂模式,如下所示: BTree.h添加插入函数: 测试程序如下: 阅读全文
posted @ 2018-09-23 19:42 周伯通789 阅读(1046) 评论(0) 推荐(0)
摘要: 先查找根节点元素值是不是9,不是的话就查找两个子树,这就是递归的过程。 返回第一个找到的结点。 添加查找函数: 阅读全文
posted @ 2018-09-23 18:55 周伯通789 阅读(925) 评论(0) 推荐(0)
摘要: BTree和BTreeNode之间是聚合关系,BTree需要聚合的使用BTreeNode。 BTreeNode要包含指向父节点的指针,方便工程应用。 二叉树也是容器类型,需要实现增删查。 先重构GTreeNode.h和TreeNode.h文件: 对Gtree.h也做一下重构,GTree中原来有这样的 阅读全文
posted @ 2018-09-23 18:12 周伯通789 阅读(325) 评论(0) 推荐(0)
摘要: 证明: 两种求e的方法分别是从上往下看和从下往上看。 阅读全文
posted @ 2018-09-23 14:50 周伯通789 阅读(187) 评论(0) 推荐(0)
摘要: 简化之后树节点中孩子的数量就少了,但是通用树形结构中每个节点可能有很多个孩子,这样简化之后的树还能描述通用的树形结构吗? 每个节点都有一个指向其第一个孩子的指针,每个节点都有一个指向其第一个右兄弟的指针。 任何的树形结构都能用“二杈”的方式表示,也就是用孩子兄弟表示法。 因此,我们的研究内容可以局限 阅读全文
posted @ 2018-09-23 14:17 周伯通789 阅读(250) 评论(0) 推荐(0)
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 58 下一页