电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

二叉树 与 二叉搜索树

二叉树 与 二叉搜索树_第1页
1/11
二叉树 与 二叉搜索树_第2页
2/11
二叉树 与 二叉搜索树_第3页
3/11
二叉树 与 二叉搜索树指针与引用:1) int count = 18;int* ptr = &count;2)int count = 18;int& pcount = count;创建二叉树与创建二叉搜索树前者:只是为了熟悉课本知识后者:具有实际应用的功能*** 比较两者之间的区别,并且考虑是否可以相互转化,为什么??创建二叉树:1) 创建二叉树2) 层次遍历3) 前序遍历4) 中序遍历5) 后续遍历6) 统计叶子节点7) 统计节点数8) 树的深度9) 销毁二叉树BTTree.cpp#include #include #include using namespace std;typedef struct BTNode{char value;struct BTNode * lchild, * rchild;}btNode;/*** build tree */void createTree(btNode* & nodePtr) {char c;cin>>c;if(c != '0') {nodePtr = new btNode();nodePtr->value = c;createTree(nodePtr->lchild);createTree(nodePtr->rchild);}}/*** Traversal tree in levelorder*/void levelorder(btNode* nodePtr) {queue myqueue;myqueue.push(nodePtr);while(nodePtr) {cout<value<<" ";if(nodePtr->lchild) {myqueue.push(nodePtr->lchild);}if(nodePtr->rchild) {myqueue.push(nodePtr->rchild);}myqueue.pop();nodePtr=myqueue.front();}while(!myqueue.empty()) {cout<value<<" ";myqueue.pop();}}/*** Traversal tree in preorder*/void preorder(btNode* nodePtr) {if(nodePtr != NULL) {cout<value<lchild);preorder(nodePtr->rchild);}}/*** Traversal tree in inorder*/void inorder(btNode* nodePtr, string preStr) {if(nodePtr != NULL) {inorder(nodePtr->lchild, preStr + " ");cout<<(preStr + nodePtr->value)<rchild, preStr + " ");}}/*** Traversal tree in postorder*/void postorder(btNode* nodePtr) {if(nodePtr != NULL) {postorder(nodePtr->lchild);postorder(nodePtr->rchild);cout<value<lchild == NULL && nodePtr->rchild == NULL) count++;leafcount(nodePtr->lchild, count);leafcount(nodePtr->rchild, count);}}/*** c...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

二叉树 与 二叉搜索树

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部