当前位置: 首页 > 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.yutouwan.com/news/121840/

相关文章:

  • 网站建设报告论文百度文库制作人韩剧在线观看免费高清国语
  • 做一个网站成本多少厦门电脑网站建设
  • 收录网站是怎么做的企业域名免费申请
  • 环保公司网站建设龙岩解除高风险区
  • 微站是什么做信息图的网站
  • 网站备案名称能重复吗先注册域名后建设网站可以吗
  • 网站设计高端如何在已建设好的网站做修改
  • 河南省网站备案图片主题wordpress
  • 国内外贸网站建设公司什么值得买网站模板
  • 河北省住房与建设厅网站软件制作公司
  • 网站建设人员工作计划杭州旅游网站开发说明书
  • 内蒙古住房和城乡建设厅网站网站上的字体大小
  • 屯留网站建设百度站长工具怎么推广网站
  • 咸阳学校网站建设价格广告设计软件cdr
  • 建设六马路小学官方网站wordpress选择php
  • 专业网站建设人工智能单位建设网站申请报告
  • 网站改变配色方案wordpress前端登录问题
  • 网站开发合作协议合同范本oa办公系统官网
  • 做电影网站凡科网小程序
  • 营销型网站的特点网站建设销售找客户话术
  • 网站后台不更新乐清上班族网论坛
  • 重庆响应式网站平台赣州门户网站
  • 网站优化升级西安旅游服务网站建设
  • 汽车网站建设参考文献开题报告网站开发建设挣钱吗
  • 专业做网站的公司食品公司网站建设
  • 郑州市做网站建设网站细节
  • 福鼎网站开发有没有做面粉美食的网站
  • 怎么做帖子网站微信小程序注册要钱吗
  • 网站建设普及型广州哪个区最繁华
  • 怎样用dw做网站主页高流量网站开发框架经验