当前位置: 首页 > news >正文

网站开发实训结果分析及其心得体会一个做网站的软件

网站开发实训结果分析及其心得体会,一个做网站的软件,网站建设公司做销售好不好,深圳市绿色建筑信息平台什么是二叉搜索树#xff1f; 顾名思义#xff0c;一颗二叉搜索树是基于二叉树来组织的#xff0c;它包括许多动态集合操作#xff08;Search#xff0c;MiniNum, MaxiNum, Prodecessor, Successor, Insert 和Delete等#xff09;。二叉搜索树上的基本操作所花费的时间与…什么是二叉搜索树 顾名思义一颗二叉搜索树是基于二叉树来组织的它包括许多动态集合操作SearchMiniNum, MaxiNum, Prodecessor, Successor, Insert 和Delete等。二叉搜索树上的基本操作所花费的时间与这棵树的高度成正比对呀有n个节点组成的完全二叉树来说这些操作的最坏的运行时间是O(lg n。 如图所示是一个搜索二叉树的结构。一个二叉树每一个节点就是一个对象包含的属性有左结点left右结点right和父结点parent以及这个节点的关键值key。在上图中根节点的关键值是6左结点是5右结点是8父节点为空。这是一颗完全除叶子结点外所有节点都存在左右结点的搜索二叉树要注意的是二叉搜索树的左结点值小于等于根结点的值而右结点的值大于等于根结点的值。搜索二叉树的性质允许我们通过一个简单的递归算法中序遍历就可以得到树中的所有关键字。一个二叉树结构在C中可以表示成如下 struct BinaryTreeNode{int val; //keyBinaryTreeNode *left; //left NodeBinaryTreeNode *right; //right Node }; 搜索二叉树的遍历 中序遍历左——根——右根结点在中间遍历上图中二叉树经过中序遍历得到的是4556789. 前序遍历根——左——右根结点在前面的遍历上图中二叉树经过前序遍历得到的是6545878。 后序遍历左——右——根根结点在后面的遍历上图中二叉树经过后序遍历得到的是4557986. //前序遍历二叉树 void TreeWalk(BinaryTreeNode *root) { if(rootnullptr) return;vectorinttree;tree.push_back(root-val);if(root-left) TreeWalk(root-left);if(root-right) TreeWalk(root-right);return; }//中序遍历二叉树 void TreeWalk(BinaryTreeNode *root) { vectorinttree; if(root-left!nullptr)TreeWalk(root-left);tree.push_back(root-val);TreeWalk(root-right);return; }//后序遍历二叉树 void TreeWalk(BinaryTreeNode *root) { vectorinttree; if(root-left!nullptr)TreeWalk(root-left);TreeWalk(root-right);tree.push_back(root-val);return; } 查询二叉搜索树 如何查询二叉搜索树中的最小值最大值或者任意一个值 查询最小值根据二叉搜索树的性质可以知道搜索二叉树的最小值为最左边叶子结点的值。同理我们知道二叉搜索树的最大值为最右边叶子结点的值。代码如下 //最小值 int GetMiniNum(BinaryTreeNode* root) { while(root-left!nullptr) rootroot-left;return root-val; }//最大值 int GetMaxiNum(BinaryTreeNode *root) {while(root-right!nullptr) rootroot-right;return root-val; } 查询二叉搜索树中的任意一个值相当于数组查询的二分法时间复杂度最差为O(depthdepth为二叉树的深度。代码如下 BinaryreeNode * Search(BinaryTreeNode *root,int k) {if(rootnullptr||root-valk) return root;if(kroot-val)Search(root-left,k);elseSearch(root-right,k); }二叉搜索树的插入和删除 要将一个新值x插入到二叉搜索树中需要调用Search操作。 void InsertTreeNode(BinaryTreeNode *root, k) {BinaryTreeNode *ToBeInsertnew BinaryTreeNode(k);BinaryTreeNode *pCurroot;while(pNode!nullptr){ BinaryTreeNode *pNodepCur;if(pCur-valk){ pCurpCur-left;if(pCurnullptr)pCur-leftToBeInsert;}else {pCurpCur-right;if(pCurnullptr)pCur-rightToBeInsert;}} }
http://www.huolong8.cn/news/121840/

相关文章:

  • 搜狗提交网站收录入口重庆商城网站制作报价
  • 做网站全过程广告推广语
  • 南京高端网站建设哪家好上海建设学校网站
  • 学院网站建设与管理办法怎么建设一个优秀的网站
  • 色彩 导航网站crm管理系统功能
  • 网站建设 不需要见面网站建设要注意些什么
  • nas可以做视频网站吗wordpress 仿微信主题
  • 网站所有权问题湛江网络
  • 微信网站后台功能芙蓉建设官方网站
  • 上饶网站设计公司施工企业法定条件
  • 注册网站会员会泄露信息吗商业网站平台
  • 文件外链网站html标签
  • 微网站免费软件建设部标准规范网站
  • 网站ui设计用什么软件做微信公众号和网站建设
  • 网站模板 扁平化一个网站推广
  • 潍坊定制网站搭建湖南汽车软件网站建设
  • 用html5制作个人网站莱芜百姓网
  • 东莞建设网站制作电商平台推广方式有哪些
  • 网站建设一般多少钱比较合适微信小商城怎么开通
  • 高校网站建设需求分析报告325建筑人才网招聘
  • wordpress 手机自适应百度seo收录软件
  • 淄博网站建设公司有多少家平顺网站建设
  • 佛山做网站制作建设电子商务网站策划书
  • 营销型网站建设区别网站开发语言在线检测
  • 专为网站做点击量深圳响应式网站建设
  • 中国建设银行网站不好用有限责任公司设立条件
  • 找别人做网站怎么防止后门wordpress win主题
  • 网站 404 错误页面是否自动跳转深圳南山住房和建设局网站
  • 网站建设 招聘wordpress自动轮播图插件
  • 工程机械网站设计网站到期是否能换服务商