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

网站建设贵州培训机构连锁加盟

网站建设贵州,培训机构连锁加盟,设计一个好的wordpress主题的10个准则_,一起合伙做项目的网站二叉树: 满二叉树:每一层的节点都达到最大值,如果树高h,节点总数有2^h-1。 完全二叉树:树高为h,前h-1层节点都是最大值,最后一层h不满且从左到右连续。 存储方式:顺序存储&#xf…

二叉树:

满二叉树:每一层的节点都达到最大值,如果树高h,节点总数有2^h-1。
完全二叉树:树高为h,前h-1层节点都是最大值,最后一层h不满且从左到右连续。

存储方式:顺序存储(数组)和链式存储(链表)。

二叉搜索树

特点:左节点值<跟节点的值,右节点值>跟节点的值,左右子树都是二叉搜索树,中序遍历是升序。

增删改查效率:因为增删改前都需要查询节点值,所以查询的时间复杂度就是增删改的时间复杂度,最好时间复杂度是O(logn),最坏时间复杂度是O(n)是因为退化成链表了。

删除操作(ps:删除情况多较重要,而增删改都是递归操作):

  • 删除根节点:特判一下是根节点,然后找寻左子树的最大节点,或者右子树的最小节点进行替换删除。
  • 删除孩子节点:该孩子节点的父节点指向nullptr即可。
  • 删除中间节点:托孤,该中间节点的父亲领养一个或两个孙子。

平衡二叉树AVL

特点:首先平衡二叉树的前提是二叉搜索树(中序遍历有序说明是二叉搜索树),且每个节点的左右子树的高度差绝对值(平衡因子)不超过1。

优点:时间复杂度为O(logN),解决了二叉搜索树成为链表的缺点,因为平衡因子使节点均匀分布,降低了树的高度,提高查询效率。

缺点:如果对AVL树做一些结构修改,插入删除等操作,性能是十分低下的,因为保证平衡因子需要多次旋转,最差的情况是可能一直要旋转持续到根的位置。

ps:旋转分四种情况:左旋,右旋、左右双旋、右左双旋。

红黑树

是一个自平衡的二叉搜索树,在插入和删除后能够通过左旋和右旋以及重新着色保持树的平衡,增删查的时间复杂度是O(logn)

特点:

  • 每个节点都有颜色,黑色或者红色。
  • 跟节点和叶子节点都为黑色。
  • 红色节点的左右孩子节点都为黑色。
  • 跟节点到叶子节点上黑色节点的个数一致。

红黑树和平衡二叉树的比较?

查询:选平衡二叉树

插删:选红黑树

  • 平衡二叉树的平衡规则相比于红黑树要严格,所以红黑树的高度会略高于平衡二叉树,所以平衡二叉树查询的时间复杂度要快一些
  • 当插入和删除操作进行时,平衡二叉树需要多次旋转达到严格的平衡规则,而红黑树的平衡规则不算严格所以最多需要两次旋转就可以达到平衡状态,所以黑红树插入和删除的时间复杂度要快一些。

前缀树:

特点:

  • 除了根节点外每个节点都包含一个字符
  • 每个节点的所有子节点,包含的字符不同
  • 从根节点到某节点:字符连接起来可以形成该节点的字符串

应用:利用字符串的公共前缀来减少查询时间,减少无所谓的字符比较,从而提高查询效率

B树:

B树是一个平衡多叉树,为什么不采用AVL树存储MySQL的索引文件呢,是因为随着索引文件增多,AVL树的树高会逐渐变高,那么根据索引读取数据的速度取决于磁盘IO次数,也就是树的高度(一次磁盘IO读取一个节点),采用B树也就是平衡多叉树可以降低树的高度,减少磁盘IO的次数,提高效率。

特点:

叶子节点和非叶子节点都存储着索引键值key和数据data。

B树的范围查询是中序遍历,没B+树好。

B+树:

B+树是MySQL关系型数据库innodb存储引擎下的存储索引文件的数据结构。首先它也是一个平衡多叉树,那为什么选择它呢?因为B+只有叶子节点存储索引键值key和数据data,非叶子节点存储的都是键值key,所以B+树的高度要比B树还要矮,磁盘IO次数更少,查询效率更高。

特点:

叶子节点存储键值和数据,非叶子节点只存储键值。

B+树的范围查询依靠叶子节点之间形成的双向链表。

ps:

所以B+树的范围查询比B树的中序遍历效率高太多,B+树用于MySQL的innodb存储引擎,而B树可以考虑单个索引的查询,用于nosql的MongoDB存储引擎。

http://www.hkea.cn/news/254070/

相关文章:

  • 福田附近公司做网站建设哪家效益快奶糖 seo 博客
  • 临沂免费自助建站模板品牌整合营销
  • iis做本地视频网站找客户资源的网站
  • 做调查用哪个网站网络推广有多少种方法
  • 开发一个交易网站多少钱在线工具
  • 网站平台怎么建立的软文范例
  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震
  • 绵阳住房和城市建设局网站官网seo排名优化联系13火星软件
  • 网站开发建设费用关键词异地排名查询
  • 网站建设企业电话广州优化疫情防控举措
  • 重庆模板网站建设百度网站域名注册
  • 安徽建设厅网站地址网络广告推广方式
  • 门户网站内容管理建设方案企业关键词优化推荐
  • 北京网站建设公司飞沐小学生一分钟新闻播报