
算法
yyyou_1
这个作者很懒,什么都没留下…
展开
-
什么是B-树(balance tree)
————————————————————————————————————————————————————————————————————————————————————————————————————————————————二叉树的结构第一次磁盘IO构第二次磁盘IO第三次磁盘IO第四次磁盘IO下面来具体介绍一下B-...转载 2019-05-15 15:56:31 · 2200 阅读 · 0 评论 -
什么是B+树
一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。一个m阶的B+树具有如下几...转载 2019-05-15 16:49:58 · 164 阅读 · 0 评论 -
找出没有重复的数
给你一组整型数据,这些数据中,其中有一个数只出现了一次,其他的数都出现了两次,让你来找出一个数。这道题可能很多人会用一个哈希表来存储,每次存储的时候,记录 某个数出现的次数,最后再遍历哈希表,看看哪个数只出现了一次。这种方法的时间复杂度为 O(n),空间复杂度也为 O(n)了。然而我想告诉你的是,采用位运算来做,绝对高逼格!我们刚才说过,两个相同的数异或的结果是 0,一个数和 0 异或的结果...原创 2019-06-10 14:10:09 · 446 阅读 · 0 评论 -
在不允许使用额外辅助变量的情况下置换两个数
交换两个数相信很多人天天写过,我也相信你每次都会使用一个额外来变量来辅助交换,例如,我们要交换 x 与 y 值,传统代码如下:int tmp = x;x = y;y = tmp;这样写有问题吗?没问题,通俗易懂,万一哪天有人要为难你,不允许你使用额外的辅助变量来完成交换呢?你还别说,有人面试确实被问过,这个时候,位运算装逼大法就来了。代码如下:x = x ^ y // (1)y ...原创 2019-06-10 14:39:07 · 175 阅读 · 0 评论