1、实验六 二叉查找树一 问题描述:利用二叉查找树(BST)实现一个动态查找表。二基本要求(1) 使用二叉树(BST)来实现。(2) 二叉树使用链式结构(二叉链表)实现。(3) 实现 BST 的构建,查找两个功能。三实现提示输入:8/BST 的节点个数34, 76, 45, 18, 26, 54, 92, 65 /8 个数据45/查找 45输出:查找成功 3 /返回成功和查找时比较的次数34/查找 34输出:查找成功 1 /返回成功和查找时比较的次数100/查找 100输出:查找不成功 3 /返回成功和查找时比较的次数四源程序:#includeusing namespace std;class N
2、odepublic:Node* pLeftChild;Node* pRightChild;int data;Node()pLeftChild=NULL;pRightChild=NULL;data=0;bool searchTree(Node* subroot,int data)if(subroot!=NULL)if(datadata)return searchTree(subroot-pLeftChild,data);else if(datasubroot-data)return searchTree(subroot-pRightChild,data);else if(data=subroot
3、-data)coutdata)creatTree(else if(data(*subroot)-data)creatTree(else*subroot=new Node;(*subroot)-data=data;return true;void goTree(Node* subroot)if(subroot!=NULL)goTree(subroot-pLeftChild);coutdatapRightChild);int main()Node* p=new Node;coutM;int i=0;cinN;p-data=N;while(+iN;creatTree(goTree(p);return 0;五测试结果:六实验心得:1. 通过本次试验,我发现自己分析问题不是很全面,忽略掉一些细节。以后分析问题时要仔细考虑,认真分析,避免在细节上犯错误。2.通过这次实验,我发现自己编程能力相当欠缺,尤其是用链表实现。自己以后要勤加练习。