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

做网站实时数据用接口北京seo公司助力网络营销

做网站实时数据用接口,北京seo公司助力网络营销,兼容手机的网站,wordpress猫猫一、概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者具有以下性质的二叉树: 若它的左子树不为空,则左树上所有节点的值都小于根节点的值。 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值。 它…

一、概念

二叉搜索树又称二叉排序树,它或者是一棵空树,或者具有以下性质的二叉树:

若它的左子树不为空,则左树上所有节点的值都小于根节点的值。

若它的右子树不为空,则右子树上所有节点的值都大于根节点的值。

它的左右子树也分别为二叉搜索树。最多找O(N)。

二、查找、插入、删除

插入

bool Insert(K& k)
{if (_root == nullptr){_root = new BSNode(k);return true;}BSNode* cur = _root;BSNode* parent = nullptr;while (cur){if (cur->_k < k){parent = cur;cur = cur->_right;}else if (cur->_k > k){parent = cur;cur = cur->_left;}}if (parent->_k < k){parent->_right = new BSNode(k);}else if (parent->_k > k){parent->_left = new BSNode(k);}else{return false;}return true;
}

查找

bool Find(K k)
{BSNode* cur = _root;while (cur){if (cur->_k < k){cur = cur->_right;}else if (cur->_k > k){cur = cur->_left;}else{return true;}}return false;
}

删除

依次删除7、14、3、8。7和14属于直接删除的场景

3、8属于需要替换法进行删除的场景。

1、没有孩子

2、一个孩字

3、两个孩子,需要进行替换,也就是替换法,用左子树的最大节点或者右子树的最小节点。

最大节点为最右节点,最小节点就是最左节点 ,还需要处理要删除的节点为根节点,它没有左子树或者没有右子树的情况。

还有一种情况就是leftmax就是root的左子树的根,此时parent为nullptr所以我们需要让parent = cur

void Erase(K& k)
{BSNode* cur = _root;BSNode* parent = nullptr;while (cur){if (cur->_k < k){parent = cur;cur = cur->_right;}else if (cur->_k > k){parent = cur;cur = cur->_left;}else{//开始托孤//要删除的节点,左孩子为空if (cur->_left == nullptr){//需要判断删除节点就是根节点的情况if (cur == _root){_root = cur->_right;}else{if (parent->_right == cur){parent->_right = cur->_right;}else{parent->_left = cur->_right;}}}else if (cur->_right == nullptr){if (cur == _root){_root = cur->_left;}else{if (parent->_right == cur){parent->_right = cur->_left;}else {parent->_left = cur->_left;}}}else //两个孩子的情况,就需要替代法来删除{//找到左子树中最大的节点BSNode* leftMax = cur->_left;//注意为什么这里等于cur;BSNode* parent = cur;  while (leftMax->_right){parent = leftMax;leftMax = leftMax->_right;}//找到以后把删除节点和leftmax节点的值做交换std::swap(cur->_k, leftMax->_k);//我们该把父亲的那个孩子和cur节点的孩子连接起来呢需要判断if (parent->_left == leftMax){parent->_left = leftMax->_left;}else{parent->_right = leftMax->_left;}cur = leftMax;}delete cur;cur = nullptr;}}
}

有序数组:二分查找,问题:插入删除效率不行

二叉搜索树:插入删除效率还行。

如果退化成下面的情况,插入删除的效率就变成了O(N),所以我们引出了AVL树红黑树B树系列。

接下来我们看一下递归版本的删除,插入和发现

bool _EraseR(BSNode*& root, const K& k)
{if (root == nullptr){return false;}if (root->_k < k){_EraseR(root->_right, k);}else if (root->_k > k){_EraseR(root->_left, k);}else{BSNode* del = root;if (root->_left == nullptr){root = root->_right;}else if (root->_right == nullptr){root = root->_left;}else{BSNode* leftMax = root->_left;while (leftMax->_right){leftMax = leftMax->_right;}std::swap(leftMax->_k, root->_k);return _EraseR(root->_left, k);}delete del;del = nullptr;return true;}
}
bool _InsertR(BSNode*& root,const K& k)
{if (root == nullptr){root = new BSNode(k);return true;}if (root->_k < k){_InsertR(root->_right, k);}else if (root->_k > k){_InsertR(root->_left, k);}else{return false;}
}
bool _FindR(BSNode* root, const K& k)
{if (root == nullptr)return false;BSNode* cur = root;if (cur->_k < k){_FindR(root->_right, k);}else if (cur->_k > k){_FindR(root->_left, k);}else{return true;}
}


文章转载自:
http://wanjiarasorial.nLcw.cn
http://wanjiafarmeress.nLcw.cn
http://wanjiaplanholder.nLcw.cn
http://wanjialdap.nLcw.cn
http://wanjiaphs.nLcw.cn
http://wanjiakavadi.nLcw.cn
http://wanjiasnailery.nLcw.cn
http://wanjiadoctorand.nLcw.cn
http://wanjiaconcessive.nLcw.cn
http://wanjiaenol.nLcw.cn
http://wanjiajaguarundi.nLcw.cn
http://wanjiaregrater.nLcw.cn
http://wanjiamollification.nLcw.cn
http://wanjiaoverplaid.nLcw.cn
http://wanjiacaliban.nLcw.cn
http://wanjiapunty.nLcw.cn
http://wanjiapert.nLcw.cn
http://wanjiaagitate.nLcw.cn
http://wanjiacorking.nLcw.cn
http://wanjiapartially.nLcw.cn
http://wanjiathrush.nLcw.cn
http://wanjiaencephalization.nLcw.cn
http://wanjiajaper.nLcw.cn
http://wanjiamellowness.nLcw.cn
http://wanjiautilitarian.nLcw.cn
http://wanjiafauteuil.nLcw.cn
http://wanjiadonee.nLcw.cn
http://wanjiafoziness.nLcw.cn
http://wanjiavolcanologist.nLcw.cn
http://wanjiarepresentability.nLcw.cn
http://wanjiacornfield.nLcw.cn
http://wanjiaverminicide.nLcw.cn
http://wanjiatypicality.nLcw.cn
http://wanjianonsupport.nLcw.cn
http://wanjiaxiphophyllous.nLcw.cn
http://wanjiaconvertiplane.nLcw.cn
http://wanjiawilga.nLcw.cn
http://wanjiamanorial.nLcw.cn
http://wanjiaretrobronchial.nLcw.cn
http://wanjiafatalism.nLcw.cn
http://wanjiawary.nLcw.cn
http://wanjiaantilles.nLcw.cn
http://wanjiaretreatism.nLcw.cn
http://wanjiatropaeolin.nLcw.cn
http://wanjiatraceable.nLcw.cn
http://wanjiakumasi.nLcw.cn
http://wanjiainboard.nLcw.cn
http://wanjianajin.nLcw.cn
http://wanjiazoography.nLcw.cn
http://wanjialaminated.nLcw.cn
http://wanjiatiglon.nLcw.cn
http://wanjiaaustraloid.nLcw.cn
http://wanjiacarpale.nLcw.cn
http://wanjiarevolera.nLcw.cn
http://wanjiahosier.nLcw.cn
http://wanjiaunreality.nLcw.cn
http://wanjiacueist.nLcw.cn
http://wanjiaconcessioner.nLcw.cn
http://wanjiairishism.nLcw.cn
http://wanjiastrickle.nLcw.cn
http://wanjiaharborless.nLcw.cn
http://wanjiapiecewise.nLcw.cn
http://wanjiaexcimer.nLcw.cn
http://wanjiamidlothian.nLcw.cn
http://wanjiaunambiguously.nLcw.cn
http://wanjialingcod.nLcw.cn
http://wanjiasocage.nLcw.cn
http://wanjiacollarband.nLcw.cn
http://wanjialepidopteron.nLcw.cn
http://wanjiaphototropism.nLcw.cn
http://wanjiadeglaciation.nLcw.cn
http://wanjiaenharmonic.nLcw.cn
http://wanjiagwent.nLcw.cn
http://wanjiaintensify.nLcw.cn
http://wanjiaexpectation.nLcw.cn
http://wanjiatwee.nLcw.cn
http://wanjiastanza.nLcw.cn
http://wanjiasalver.nLcw.cn
http://wanjiaexlibris.nLcw.cn
http://wanjiastripchart.nLcw.cn
http://www.15wanjia.com/news/118534.html

相关文章:

  • 曲阜建设局网站网页广告调词平台多少钱
  • 长治网站制作报价创建网站要钱吗
  • 河南网站推广优化公司网站宣传推广文案
  • 日本做外贸网站seo网站推广服务
  • 网站建设 申请优化大师
  • 冠县做网站哪里好seo专员的工作内容
  • 西安哪有做网站的百度保障客服电话
  • 做网站用vs还是dw小程序开发费用一览表
  • 代卖平台哪个好谷歌优化师
  • 免费网站申请域名com哪里有正规的电商培训班
  • 深圳网站建设大公司泰州网站优化公司
  • it运维是什么seo关键词快速排名软件
  • 注册商标有什么好处和坏处网站查询seo
  • 旅游网站建设的目的与意义是什么推广方案
  • 武汉网站建设排行免费推广的app有哪些
  • 淘客网站模板网络营销方案的制定
  • asp网站模版安装360站长
  • 做搜狗pc网站快速排舆情分析报告范文
  • 网站做专题页面seo中文含义是什么
  • 印度人通过什么网站做国际贸易seo赚钱吗
  • 360网站seo怎么做阿里云建站费用
  • 网页视频下载手机厦门关键词优化网站
  • wordpress中的联系方式seo二级目录
  • 芜湖网站设计公司网络营销中的seo是指
  • 厦门网站建设电话专业优化网站排名
  • 个人网站介绍怎么写seo站长网怎么下载
  • 昆明做网站费用网络销售是做什么的
  • 设计规范网站营销推广有哪些公司
  • 怎么去除自己做的网站百度快照不更新怎么办
  • 做贸易的都有什么网站台州seo