常用公式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

������ + ������
������
=
������ =0
������ ������−������ ������ ������ ������ ������
四、 因式分解 a3+b3=(a+b)(a2-ab+b2)
a3-b3=(a-b)(a2+ab+b2) a3+b3+c3=(a+b+c)(a2+b2+c2-ab-bc-ac)+3abc
∞ i i=0 x
=
1
1−x
n +1 n i 1−x x = i=0 1−x
1+2X+3X2+4X3+……= X+X2+X3+X4+……= 1+Xr+X2r+X3r+……=
������
∞ k=0(k
+ 1)x i =
1
(1−x)2
∞ x(1+x) i=1 (1−x)3
r ∞ ir i=0 x =1/(1-X )
B-树的插入
B-树插入算法分析: B-树的生成从空树开始,逐个插入关键字而得。关键字的个数必须至少为[m/2]-1,每次插入总在最底层某个终端结点添加一 个关键字,如果该结点关键字个数小于 m-1 则直接插入,如果发现新插入关键字后,关键字总数超过 m-1 个则结点需要分裂,做 法如下: (a)假设结点 p 中已经含有 m-1 个关键字,再插入一个关键字之后(插入总要保持关键字数组的大小有序,从小到大排好序), 可以将 p 分裂为 p 和 p’,其中 p 含有的信息为[m/2]-1([m]表示大于 m 的最小整数),p’含有的信息为 m-[m/2] ([m]表示大于 m 的最 小整数)。然后将关键字 K[m/2]和指向 p’的指针则一起插入到 p 的双亲结点中去。 (b)检查双亲结点,如果双亲结点出现(a)的情况,则回到步骤 a 继续执行。直到插入满足条件为止,树的深度增加过程是随着 插入而自下而上生长的过程。
〔cos ������ +������ −cos ������−������ 〕 2
〔������������������ ������ + ������ +������������������ ������ − ������ 〕 ������
〔sin ������ + ������ + sin ������ − ������ 〕 2 〔sin ������ + ������ − sin ������ − ������ 〕 2
cos ������ + cos ������ = 2 cos
cos ������ − cos ������ = −2 sin tan ������ ± tan ������=
sin ⁡ (α ± β ) cos ⁡ α cos β
积化和差: sin ������ sin ������=− cos ������ cos ������ = sin ������ cos ������ = cos ������ sin ������ =
Hale Waihona Puke Baidu常用公式
一、 三角函数 平方关系: Sin2 ������ +cos2 ������ =1 sec2 ������-tan2 ������ = 1 csc2x -cot2x=1 倒数关系: tanx cot=1 sinx cscx=1 cosx secx=1 倍角公式 sin 2������=2sin ������ cos ������ cos 2������= cos2 ������-Sin2 ������ 和角公式: Sin(������± ������)= sin ������ cos ������ ± cos ������ sin ������ cos(������ ± ������)= cos ������ cos ������ ∓ sin ������ sin ������ 和差化积: sin ������ ± sin ������ = 2 sin 1 1 ������ ± ������ cos ������ ∓ ������ 2 2 1 1 ������ + ������ cos ������ − ������ 2 2 1 1 ������ + ������ sin ������ − ������ 2 2 = 2cos2 ������-1 = 1-2Sin2 ������ 1+tan2x=sec2x 1+cot2x=csc2x
B-树是一种平衡的多路查找树,在文件系统中有所应用。主要用作文件的索引。 B-树结构特性:一棵 m 阶 B-树,或为空树,或为满足下列特性的 m 叉树:(m≥3) (1)根结点只有 1 个,关键字字数的范围[1,m-1],分支数量范围[2,m]; (2)除根以外的非叶结点,每个结点包含分支数范围[[m/2],m],即关键字字数的范围是[[m/2]-1,m-1],其中[m/2]表示取大于等 于 m/2 的最小整数; (3)叶结点是由非叶结点分裂而来的,所以叶结点关键字个数也满足[[m/2]-1,m-1]; (4)所有的非终端结点包含信息:(n,A0,K1,A1,K2,A2,……,Kn,An),其中 Ki 为关键字,Ai 为指向子树根结点的 指针,并且 Ai-1 所指子树中的关键字均小于 Ki,而 Ai 所指的关键字均大于 Ki(i=1,2,……,n)。n+1 表示 B-树的阶,n 表示 关键字个数; (5)所有叶子结点都在同一层,并且指针域为空,具有如下性质: 根据 B 树定义,第一层为根有一个结点,至少两个分支,第二层至少 2 个结点,i≥3 时,每一层至少有 2 乘以([m/2])的 i-2 次 方个结点([m/2]表示取大于 m/2 的最小整数)。若 m 阶树中共有 N 个结点,那么可以推导出 N 必然满足 N≥2*(([m/2])的 h-1 次方)-1 (h≥1),因此若查找成功,则高度 h≤1+log[m/2](N+1)/2,h 也是磁盘访问次数(h≥1),保证了查找算法的高效率。
二、 方程解 方程:X2-X-1=0 方程 aX2-bX-c=0 X1= X1=
(1+ 5) 2 2������
X2=(
(1− 5) 2 −������− ������ 2 −4������������ 2������
−������ + ������ 2 −4������������
X2=
三、 和 n+(n-1)+(n-2)+(n-3)+…+1=n(n+1)/2 12+22+32+42+…+n2=n(n+1)(2n+1)/6 13+23+33+43+…+n3=〔n(n+1)/2〕2 1+X+X2+X3+……= 1+X+X2+X3+…+Xn=
B+树
B+树的定义
B+树是应文件系统所需而出的一种 B-树的变型树。一棵 m 阶的 B+树和 m 阶的 B-树的差异在于: 1.有 n 棵子树的结点中含有 n 个关键字,每个关键字不保存数据,只用来索引,所有数据都保存在叶子节点。 2.所有的叶子结点中包含了全部关键字的信息,及指向含这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大 顺序链接。 3.所有的非终端结点可以看成是索引部分,结点中仅含其子树(根结点)中的最大(或最小)关键字。 通常在 B+树上有两个头指针,一个指向根结点,一个指向关键字最小的叶子结点。 B+Tree 的特性

所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; 不可能在非叶子结点命中; 非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层; 更适合文件索引系统
B+树的查找
对 B+树可以进行两种查找运算: 1.从最小关键字起顺序查找; 2.从根结点开始,进行随机查找。 在查找时,若非终端结点上的关键值等于给定值,并不终止,而是继续向下直到叶子结点。因此,在 B+树中,不管查找成功 与否,每次查找都是走了一条从根到叶子结点的路径。其余同 B-树的查找类似。
B-树的查找
在 B 树中查找给定关键字的方法是,首先把根结点取来,在根结点所包含的关键字 K1,…,kj 查找给定的关键字(可用顺序查 找或二分查找法),若找到等于给定值的关键字,则查找成功;否则,一定可以确定要查的关键字在某个 Ki 或 Ki+1 之间,于是取 Pi 所指的结点继续查找,直到找到,或指针 Pi 为空时查找失败。
B-树的删除
B-树删除算法分析,分以下 5 种情况讨论: (a)被删除关键字所在的结点为叶结点,关键字数目大于或等于[m/2],则只需要直接删去 Ai 和 Ki 即可;
(b)被删除关键字所在的结点为叶结点, 关键字数目等于[m/2]-1, 相邻的左右兄弟关键字数目至少有一方大于或者等于[m/2], 此时,如果右兄弟关键字数目大于或者等于[m/2],则将右兄弟中最小的关键字上移到双亲结点中,然后将其中紧靠在上移关键字 左边的一个关键字移动到被删除关键字所在的结点的最右边;否则,如果左兄弟的关键字数目大于或者等于[m/2],则左兄弟中最 大的关键字上移到双亲结点中,将紧靠在该上移关键字右边的一个关键字移动到被删除关键字所在的结点的最左边。这些做法类似 于减法的借位运算。 (c)被删除关键字所在的结点为叶结点,关键字数目等于[m/2]-1,相邻的左右兄弟关键字数目均等于[m/2]-1,则从双亲借关键 字补充,然后算法进入非叶结点的删除判断; (d)被删除关键字所在的结点为非叶结点,并且关键字数目大于或等于[m/2],则删去 Ai 和 Ki 后,原来关键字的左右孩子进行 合并,若合并后的结点的关键字数目满足 B-树性质,则结束,而对于关键字数目大于 m-1,则进行一次分裂,将其中一个结点移 到当前结点中。 (e)被删除关键字所在的结点为非叶结点,关键字数目等于[m/2]-1,相邻的左右兄弟关键字数目均等于[m/2]-1,则删除该关键 字之后优先判断能否从被删除的关键字的左右孩子中寻找关键字补充, 如果左右孩子的关键字数目均为[m/2]-1, 如果此结点已经是 树的根,则直接将被删除关键字的左右孩子结点合并即可,如果不是树的根,则从自己的双亲补充关键字,然后重复上述判断算法 (d)或者(e)。
B树
B 树又叫平衡多路查找树。一棵 m 阶的 B 树 (m 叉树)的特性如下:树中每个结点最多含有 m 个孩子(m>=2);除根结点和叶子 结点外,其它每个结点至少有[ceil(m / 2)]个孩子(其中 ceil(x)是一个取上限的函数);若根结点不是叶子结点,则至少有 2 个孩子 (特殊情况:没有孩子的根结点,即根结点为叶子结点,整棵树只有一个根节点);所有叶子结点都出现在同一层,叶子结点不包 含任何关键字信息(可以看做是外部接点或查询失败的接点,实际上这些结点不存在,指向这些结点的指针都为 null);每个非终端 结点中包含有 n 个关键字信息: (n,P0,K1,P1,K2,P2,......,Kn,Pn)。其中: a) b) c) Ki (i=1...n)为关键字,且关键字按顺序升序排序 K(i-1)< Ki。 Pi 为指向子树根的接点,且指针 P(i-1)指向子树种所有结点的关键字均小于 Ki,但都大于 K(i-1)。 关键字的个数 n 必须满足: [ceil(m / 2)-1]<= n <= m-1。
B+树的插入
m 阶 B 树的插入操作在叶子结点上进行,假设要插入关键值 a,找到叶子结点后插入 a,做如下算法判别:
①如果当前结点是根结点并且插入后结点关键字数目小于等于 m,则算法结束; ②如果当前结点是非根结点并且插入后结点关键字数目小于等于 m,则判断若 a 是新索引值时转步骤④后结束,若 a 不是新 索引值则直接结束; ③如果插入后关键字数目大于 m(阶数),则结点先分裂成两个结点 X 和 Y,并且他们各自所含的关键字个数分别为:u=大于 (m+1)/2 的最小整数,v=小于(m+1)/2 的最大整数; 由于索引值位于结点的最左端或者最右端,不妨假设索引值位于结点最右端,有如下操作: 如果当前分裂成的 X 和 Y 结点原来所属的结点是根结点,则从 X 和 Y 中取出索引的关键字,将这两个关键字组成新的根结 点,并且这个根结点指向 X 和 Y,算法结束; 如果当前分裂成的 X 和 Y 结点原来所属的结点是非根结点,依据假设条件判断,如果 a 成为 Y 的新索引值,则转步骤④得 到 Y 的双亲结点 P,如果 a 不是 Y 结点的新索引值,则求出 X 和 Y 结点的双亲结点 P;然后提取 X 结点中的新索引值 a’,在 P 中 插入关键字 a’,从 P 开始,继续进行插入算法; ④提取结点原来的索引值 b,自顶向下,先判断根是否含有 b,是则需要先将 b 替换为 a,然后从根结点开始,记录结点地址 P,判断 P 的孩子是否含有索引值 b 而不含有索引值 a,是则先将孩子结点中的 b 替换为 a,然后将 P 的孩子的地址赋值给 P,继 续搜索,直到发现 P 的孩子中已经含有 a 值时,停止搜索,返回地址 P。
相关文档
最新文档