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

网站需要做实名认证如何做关键词排名优化系统

网站需要做实名认证如何做,关键词排名优化系统,美国一个分享怎么做的网站叫什么,什么网站做简历好目录 一、平衡树 1、2-3查找树 1.1、定义 1.2、查找 1.3、插入 1.3.1、向2-结点中插入新键 1.3.2、向一棵只含有一个3-结点的树中插入新键 1.3.3、向一个父结点为2-结点的3-结点中插入新键 1.3.4、向一个父结点为3-结点的3-结点中插入新键 1.3.5、分解根结点 1.4、2…

目录

一、平衡树

1、2-3查找树

1.1、定义

1.2、查找

1.3、插入

1.3.1、向2-结点中插入新键

1.3.2、向一棵只含有一个3-结点的树中插入新键

1.3.3、向一个父结点为2-结点的3-结点中插入新键

1.3.4、向一个父结点为3-结点的3-结点中插入新键

1.3.5、分解根结点

1.4、2-3树的性质

1.5、2-3树的实现


一、平衡树

    二叉查找树,它的查询效率比单纯的链表和数组的查询效率要高很多,大部分情况下,确实是这样的,但不幸的是,在最坏情况下,二叉查找树的性能还是很糟糕。

    例如,我们依次往二叉查找树中插入9,8,7,6,5,4,3,2,1这9个数据,那么最终构造出来的树是长得下面这个样子:

    我们会发现,如果我们要查找1这个元素,查找的效率依旧会很低。效率低的原因在于这个树并不平衡,全部是向左边分支,如果我们有一种方法,能够不受插入数据的影响,让生成的树都像完全二叉树那样,那么即使在最坏情况下,查找的效率依旧会很好。

1、2-3查找树

    为了保证查找树的平衡性,我们需要一些灵活性,因此在这里我们允许树中的一个结点保存多个键。确切的说,我们将一棵标准的叉查找树中的结点称为2-结点(含有一个键和两条链),而现在我们引入3-结点,它含有两个键和三条链。2-结点和3结点中的每条链都对应着其中保存的键所分割产生的一个区间。

1.1、定义

一棵2-3查找树要么为空,要么满足满足下面两个要求:

  1、2-结点:含有一个键(及其对应的值)和两条链,左链接指向2-3树中的键都小于该结点,右链接指向的2-3树中的键都大于该结点。
  2、3-结点:含有两个键(及其对应的值)和三条链,左链接指向的2-3树中的键都小于该结点,中链接指向的2-3树中的键都位于该结点的两个键之间,右链接指向的2-3树中的键都大于该结点。

1.2、查找

    将二叉查找树的查找算法一般化我们就能够直接得到2-3树的查找算法。要判断一个键是否在树中,我们先将它和根结点中的键比较如果它和其中任意一个相等,查找命中;否则我们就根据比较的结果找到指向相应区间的连接,并在其指向的子树中递归地继续查找。如果这个是空链接,查找未命中。

对于H的命中查找

1.3、插入

1.3.1、向2-结点中插入新键

    往2-3树中插入元素和往二叉查找树中插入元素一样,首先要进行查找,然后将节点挂到未找到的节点上。2-3树之所以能够保证在最差的情况下的效率的原因在于其插入之后仍然能够保持平衡状态。如果查找后未找到的节点是一个2-结点,那么很容易,我们只需要将新的元素放到这个2-结点里面使其变成一个3-结点即可。但是如果查找的节点结束于一个3-结点,那么可能有点麻烦。

1.3.2、向一棵只含有一个3-结点的树中插入新键

    假设2-3树只包含一个3-结点,这个结点有两个键,没有空间来插入第三个键了,最自然的方式是我们假设这个结点能存放三个元素暂时使其变成一个4.结点,同时他包含四条链接。然后,我们将这个4.结点的中间元素提升,左边的键作为其左子结点,右边的键作为其右子结点。插入完成,变为平衡2-3查找树,树的高度从0变为1。

1.3.3、向一个父结点为2-结点的3-结点中插入新键

    和上面的情况一样一样,我们也可以将新的元素插入到3-结点中,使其成为一个临时的4-结点,然后,将该结点中的中间元素提升到父结点即2-结点中,使其父结点成为一个3-结点,然后将左右结点分别挂在这个3-结点的恰当位置。

1.3.4、向一个父结点为3-结点的3-结点中插入新键

    当我们插入的结点是3-结点的时候,我们将该结点拆分,中间元素提升至父结点,但是此时父结点是一个3-结点,插入之后,父结点变成了4结点,然后继续将中间元素提升至其父结点,直至遇到一个父结点是2-结点,然后将其变为3-结点,不需要继续进行拆分。

1.3.5、分解根结点

    当插入结点到根结点的路径上全部是3-结点的时候,最终我们的根结点会编程一个临时的4-结点,此时,就需要将根结点拆分为两个2-结点,树的高度加1。

1.4、2-3树的性质

    通过对2-3树插入操作的分析,我们发现在插入的时候,2-3树需要做一些局部的变换来保持2-3树的平衡。
一棵完全平衡的2-3树具有以下性质:
    1、任意空链接根结点的路径长度都是相等的。
    2、4-结点变换为3-结点时,树的高度不会发生变化,只有当根结点是临时的4-结点,分解根结点时,树高+1。
    3、2-3树与普通二叉查找树最大的区别在于,普通的二叉查找树是自顶向下生长,而2-3树是自底向上生长

1.5、2-3树的实现

    直接实现2-3树比较复杂,因为:

  • 需要处理不同的结点类型,非常繁琐
  • 需要多次比较操作来将结点下移;
  • 需要上移来拆分4-结点;
  • 拆分4-结点的情况有很多种;

    2-3查找树实现起来比较复杂,在某些情况插入后的平衡操作可能会使得效率降低。但是2-3查找树作为一种比较重要的概念和思路对于我们后面要讲到的红黑树、B树和B+树非常重要。

数据结构和算法(一)

数据结构--栈、队列、链表、散列表、排序二叉树

再小的努力,乘以365都很明显!
每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!
一个程序员最重要的能力是:写出高质量的代码!!
有道无术,术尚可求也,有术无道,止于术。
无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!

http://www.dtcms.com/wzjs/385594.html

相关文章:

  • 怎么做有声小说网站播音员免费发广告的网站大全
  • 电子商务网站业务流程分析seo网站优化经理
  • 中国建设部网站失信名单西安竞价托管公司
  • 网站速度慢wordpress外包公司有哪些
  • 福田网站建设深圳信科搜什么关键词能搜到好片
  • 山东网站开发工作室seo咨询师招聘
  • 惠州企业建站系统云南优化公司
  • 网站内容页怎么做的台州专业关键词优化
  • 全国网站设计公司海淀seo搜索优化多少钱
  • 建网站怎么年赚最近一周的国内新闻
  • 创建网站时可使用的数据库有福建seo学校
  • 网站通知做文献的格式北京如何优化搜索引擎
  • 广东手机网站制作电话照片查询百度图片搜索
  • 东莞企业免费模版网站建设流量主广告点击自助平台
  • wordpress全站静态cdn搜索引擎优化的方法
  • 广州天极营销型网站百度关键词排名点击
  • 北京市建设工程招标网站互联网推广营销方案
  • 中国著名的个人网站网站大全
  • 做网站怎么加水平线广告推广方式有哪几种
  • 网络营销的七种方法信息流优化师培训机构
  • 武汉建设公司的网站怎么联系百度人工客服
  • 常州建站程序今日网站收录查询
  • 各大搜索引擎网站登录入口软文写作技巧有哪些
  • 东莞做网站it s谷歌 翻墙入口
  • 杭州网站制作报价怎么推广自己的网站
  • 绵阳市住房和建设委员会网站上海百度公司地址在哪里
  • 微信学校网站模板评论优化
  • 建站的步骤有哪些seo关键词排名优化系统源码
  • 03340网站建设与管理seo臻系统
  • 深圳营销型网站建设-龙华信科百度云网盘资源链接