码迷,mamicode.com
首页 > 其他好文 > 详细

大一第九周学习体会

时间:2019-09-01 14:56:52      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:不可   list   体会   随机化   顺序   位置   范围   分布   b+tree   

二分查找:又称为折半查找,适用于排好序的顺序表。
基本思路:首先将给定的查找值K,与表中的中间位置的元素的关键字进行比较,若相等,则返回该元素的位置;若不等,表明所需查找的元素只能在中间元素的前半部分或者后半部分中;然后在缩小的范围中继续同样的查找,如此反复直到找到为止。
实现方式:递归实现和非递归实现
1、二叉查找树
    特点:左子树上所有结点的值均小于或等于它的根结点的值。右子树上所有结点的值均大于或等于它的根结点的值。左、右子树也分别为二叉排序树。
2、B-tree:
B-tree树即B树,B即Balanced,平衡的意思。B-树是一种多路搜索树(并不一定是二叉的)---平衡多叉树
一个m阶的B树具有如下几个特征:
    1.根结点至少有两个子女。
    2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m
    3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m
    4.所有的叶子结点都位于同一层。
    5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。
    优点:
    B树比二叉树强的地方就在于,同样的数据,B树更矮胖,以及B树可以达到自平衡结构。
3、B+tree
概述:B+ 树是一种树数据结构,是一个n叉排序树,每个节点通常有多个孩子,一棵B+树包含根节点、内部节点和叶子节点。根节点可能是一个叶子节点,也可能是一个包含两个或两个以上孩子节点的节点。
特点:
  1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。
  2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。
  3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。
4、红黑树
概述:红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构
特点:
  1.节点是红色或黑色。
  2.根节点是黑色。
  3.每个叶子节点都是黑色的空节点(NIL节点)。
  4.每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
  5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
5、跳跃表
概念:是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间),并且对并发算法友好。
应用:Skip list(跳表)是一种可以代替平衡树的数据结构,默认是按照Key值升序的。Skip list让已排序的数据分布在多层链表中,以0-1随机数决定一个数据的向上攀升与否,通过“空间来换取时间”的一个算法,在每个节点中增加了向前的指针,在插入、删除、查找时可以忽略一些不可能涉及到的结点,从而提高了效率。
 

大一第九周学习体会

标签:不可   list   体会   随机化   顺序   位置   范围   分布   b+tree   

原文地址:https://www.cnblogs.com/vvxvv/p/11441915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!