关键词:基于数据元素值的查找、基于结点的查找
0. 查找的方式
- 基于数据元素值的查找:
BTreeNode<T>* find(const T& value) const
- 基于结点的查找:
BTreeNode<T>* find(TreeNode<T>* node) const
1. 树中数据元素和结点的查找
2. 基于数据元素值的查找
- 定义功能:
find(node, value)
在node
为根节点的二叉树中查找value
所在的结点
查找的递归调用
virtual BTreeNode<T>* find(BTreeNode<T>* node, const T& value) const
{
BTreeNode<T>* ret = NULL;
if( node != NULL )
{
if( node->value == value ) // 出口函数
{
ret = node;
}
else
{
if( ret == NULL ) // 查找左子树
{
ret = find(node->left, value);
}
if( ret == NULL ) // 查找右子树
{
ret = find(node->right, value);
}
}
}
return ret;
}
BTreeNode<T>* find(const T& value) const
{
return find(root(), value);
}
3. 基于结点的查找
- 定义功能:
find(node, obj)
在node
为根结点的二叉树中查找是否存在obj
结点
声明:此文章仅是本人在学习狄泰学院《数据结构实战开发教程》所做的笔记,文章中包含狄泰软件资料内容,一切版权归狄泰软件所有!
实验环境:ubuntu10 + Qt Creator2.4.1 + Qt SDK 4.7.4
网友评论