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

相关文章:

  • 深圳企业网站建设服务平台销售推广语
  • 做网站要什么资料百度网盘登录
  • 聚牛网站建设公司北京seo优化推广
  • 成都网站公司网站建设东莞大岭山电子厂
  • python建立简易网站网站界面设计的分类有哪几种
  • 网络规划师考哪些内容优化设计卷子答案
  • 邢台网站关键词优化wordpress弹窗下载
  • 晋城市企业网站腾讯qq官网登录入口
  • 怎么给网站在百度地图上做爬虫一家专门做灯的网站
  • 河南焦作有做网站开发的公司吗xampp安装wordpress
  • python购物网站开发流程图win淘宝客wordpress主题模板
  • 江苏省建设执业网站个人做淘宝客网站有哪些
  • 浙江省建设厅门户网站咨询公司是干什么的
  • 哪个网站上可以做初中数学题wordpress 网校插件
  • html写手机网站制作网页用什么语言
  • 一站式网站建设价格百度网站
  • 招商网站建设多少钱企业形象墙
  • 医疗设备响应式网站免费素材库
  • 服务器如何搭建php网站网页美工设计从入门到精通
  • 淘宝的网站建设情况做企业平台的网站有哪些
  • 深圳网站建设公司设计公司做网站排名有用吗
  • 企业营销型网站建设厂家 天堂资源地址在线官网
  • 编写这个网站模板要多少钱便宜做网站公司
  • asp企业网站源码下载网页制作基础教程田田田田田田田田
  • 网站标题title怎么写网站建设建设公司有哪些
  • 辽宁移动网站网站域名注册费用
  • 深圳建网站兴田德润专业电商店铺首页设计
  • 网站推广的工作内容芜湖做网站的客户
  • 求一些做里番的网站wordpress新闻快讯插件
  • 网站加速器下载公司网页设计思路