一棵M阶(M>2)的B树,是一棵平衡的M路平衡搜索树,可以是空树或者满足一下性质:1.根节点至少有两个孩子2.每个非根节点有[,M]个孩子3.每个非根节点有[-1,M-1]个关键字,并且以升序排列4.key[i]和key[i+1]之间的孩子节点的值介于key[i]、key[i+1]之间5.所有的叶子节点都在同一..
分类:
编程语言 时间:
2016-05-07 16:46:36
阅读次数:
569
在我们理解了隐藏在时间复杂度和排序后面的思想之后,我必须再谈谈3种数据结构了。它们极其重要,因为它们是现代数据库的基石。我也会顺便介绍下索引的概念。
数组
二维数组是最简单的数据结构,一张数据库表就可以看做一个二维数组,例如:
二维数组就是一个既有行又有列的表:
一行就表示一个主题(记录)
一列就是描述主题(记录)的一个特性
每一列存储同一个类型的数据(integer, string...
分类:
数据库 时间:
2016-05-07 07:11:06
阅读次数:
212
【题目】输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是,返回true,否则输出false。假设输入的数组的任意两个数字都互不相同。 【思路】首先我们得知道什么是二叉搜索树,二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者... ...
分类:
其他好文 时间:
2016-05-05 17:13:57
阅读次数:
151
本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 二叉搜索树简介 顾名思义,二叉搜索树是以一棵二叉树来组织的,这样的一棵树可以用一个链表数据结构来表示,每个节点除了key和卫星数据(除了二叉树节点的基本数据以外人为添加的数据,这些数据和树的基本结 ...
分类:
其他好文 时间:
2016-05-05 00:37:28
阅读次数:
223
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 把一个有序的数组转换为一颗平衡二叉搜索树。每次找到中间节点作为根节点,根节点左边部分转换为左子树,右边部 ...
分类:
其他好文 时间:
2016-05-04 19:05:12
阅读次数:
131
二叉搜索树即左孩子的值小于根节点,右孩子的值大于根节点。 二叉搜索树的插入: 即检查要插入的数(key,下文都用它表示)是否存在,若存在返回false,不存在即插入,在插入时,若key大于根节点,则插入到右子树中,更新根节点,依次类推;若key小于根节点,则插入到左子树中,更新根节点,以此类推。下面 ...
分类:
编程语言 时间:
2016-05-04 18:53:25
阅读次数:
265
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路:二叉搜索树中序遍历就是有序序列,把整个树拆成3部分,根,左子树,右子树。连接起来应该是,左子树的最右叶子节点的右指针指向根,根的左指针指向左子树最右节点,根的右指针指向右子 ...
分类:
其他好文 时间:
2016-05-03 22:16:08
阅读次数:
183
题目:输入一个整数数组,判断该数组是不是某二叉树的后序遍历的结果.如果是则返回true,否则返回false.假设输入的数组的任意两个数字互不相同. 例如输入数组{5,7,6,9,11,10,8},则返回true,因为这个整数序列是下图二叉树的后序遍历的结果.如果输入的数组是{7,4,6,5},由于没 ...
分类:
其他好文 时间:
2016-05-02 10:29:13
阅读次数:
209
B树的简介 B 树是为了磁盘或其它存储设备而设计的一种多叉平衡查找树。与红黑树很相似,但在降低磁盘I/0操作方面要更好一些(树的深度较低)。许多数据库系统都一般使用B树或者B树的各种变形结构。B树与红黑树最大的不同在于,B树的结点可以有许多子女,从几个到几千个。那为什么又说B树与红黑树很相似呢?因为 ...
分类:
其他好文 时间:
2016-04-29 21:59:43
阅读次数:
246