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

攀枝花做网站wordpress 分类目录 插件

攀枝花做网站,wordpress 分类目录 插件,山西省城乡住房和建设厅网站首页,网页传奇3如何搜索构建一颗二叉搜索树插入删除 如何搜索 在二叉搜索树里搜索值#xff1b;搜索非常类似于二分查找 //查找key是否存在public TreeNode search(int key) {TreeNode cur root;while(cur ! null) {if(cur.key key) {return cur;}else if(cur.key key){cur cur.lef… 如何搜索构建一颗二叉搜索树插入删除 如何搜索 在二叉搜索树里搜索值搜索非常类似于二分查找 //查找key是否存在public TreeNode search(int key) {TreeNode cur root;while(cur ! null) {if(cur.key key) {return cur;}else if(cur.key key){cur cur.left;}else {cur cur.right;}}return null;} 最好的情况是这颗搜索树是一个完全二叉树时间复杂度Olog n最坏情况是单边的树时间复杂度O(N) 构建一颗二叉搜索树 假设给你一串没有重复的数字你如何构建出一棵搜索树? 插入 第一次插入的节点是根节点其次每个节点都是在叶子节点的位置插入;cur从根节点开始走cur为空的时候就是我们插入的时候定义一个parent记录cur父亲的位置因为我们cur只是找到空的节点虽然我们是一步一步比较下来但是走下来我们得记录cur是从哪个节点走下来的知道它的父亲才能插入 public boolean insert(int key) {if(root null) {//没有节点的时候得注意直接插入根节点就行root new TreeNode(key);}TreeNode prev null;TreeNode cur root;while(cur ! null) { //找位置if(cur.val key) {//值相同时不给插入return false;}else if(cur.val key) {prev cur;cur cur.left;}else { prev cur;cur cur.right;}}//上述找到cur为空但是不知道是左边还是右边走下来空了所以我们需要和父亲比较一下if(prev.val key) {prev.left new TreeNode(key);}else {prev.right new TreeNode(key);}return true;}删除 假设删除结点为 cur, 待删除结点的双亲结点为 parent 删除分三种情况 大前提1cur.leftnull 左边没有树 1删除根节点cur是root删除方案rootcur.right。 2删除上一个根节点的左孩子 cur是parent.left删除方案parent.leftcur.right 3cur 是 parent.right 删除方案parent.right cur.right 实现 找位置先 大前提2cur.rightnull 右边没有树 1删除根节点删除方案rootcur.left 2:cur 是 parent.left删除方案parent.left cur.left 3cur是patent.right解决方案parent.rightcur.left 大前提3左右都不为空例如删除12 第三种并不是真正意义上的删除两种方式找到左边的最大值或者右边的最小值。也就是左边的最右或者右边的最左。9或者13.然后一步一步找到这个位置把我的12改成13或者9然后再让这个9等于它自己的右边或者13等于13的左边。这样这个节点就变为空了. 如果右边的左为空只有右。就直接把25给12然后25指向16删除这个重复的25 整体代码 public void removeNode(TreeNode preant,TreeNode cur){if(cur.leftnull){if(curroot){rootcur.right;}else if(curpreant.left){preant.leftcur.right;}else {preant.rightcur.right;}} else if(cur.rightnull){if(curroot){rootcur.left;}else if(curpreant.left){preant.leftcur.left;}else {preant.rightcur.left;}}else {//两边都不为空TreeNode targetcur.right;TreeNode targetParentcur;while (target.left!null){targetParenttarget;targettarget.left;}cur.valtarget.val;if(targettargetParent.left) {targetParent.left target.right;}else {targetParent.righttarget.right;}}}
http://wiki.neutronadmin.com/news/40647/

相关文章:

  • 网站安全建设进展情况汇报itmc电子商务网店运营推广
  • ps如何做网站横幅网站制作教程书籍
  • C语言网站开发pdf如何优化网站关键词
  • 香飘飘网站平台建设网页设计与网站制作
  • 网站开发与经营做外贸没有网站需要什么条件
  • 短网址生成网站外贸网站外贸网站建设行吗
  • 庆阳市建设局网站vs2015网站开发基础样式
  • 南昌网站制作wordpress站群seo
  • 柳市网站优化2023年房地产最新消息
  • 关于网站策划的说法错误的是汕头制作企业网站
  • 重庆双八自助建设网站网站建设的软件叫啥
  • 网站子站怎么建设企业所得税优惠政策最新2023规定公告
  • 网站域名如何备案北京网站建设哪便宜
  • 泛微e8做网站门户微信推广方案范文
  • 网站加载效果怎么做的网页设计尺寸1920
  • 小网站源码移动端网站建设需要注意哪些问题
  • 网站上怎么做动画广告视频在线观看做同城相亲网站
  • 学生怎么制作网站中企动力公司网站价格
  • 鹤壁做网站价格你的网站尚未进行备案
  • 公司网站建设及推广wordpress会员登录界面美化
  • 厦门网站建设培训班深圳 建网站
  • 江苏网站建设开发网站建设需求分析怎么写
  • 网站开发与系统开发用python做音乐网站
  • 策划书模板范文抖音seo排名系统哪个好用
  • 做网站就业要会什么263企业邮箱怎么注册
  • 移动端 pc网站开发开发公司名字起名大全
  • 考试源码网站wordpress岳阳网站界面设计
  • 南通网站建设公司哪家好集团网站建设特色
  • 富阳网站建设报价河北省建设工程信息网招标公告
  • 加强网站制度建设电子商务网站规划与建设的论文