免费智能真题库 > 历年试卷 > 软件设计师 > 2012年下半年 软件设计师 上午试卷 综合知识
  第61题      
  知识点:   B-树
  章/节:   计算机软件知识       

 
下图所示为一棵M阶B-树,M最有可能的值为(61).
 
 
  A.  1
 
  B.  2
 
  C.  3
 
  D.  4
 
 
 

 
  第58题    2016年上半年  
   40%
设有二叉排序树(或二叉查找树)如下图所示,建立该二叉树的关键码序列不可能是(58)。
  第57题    2009年上半年  
   45%
下面关于查找运算及查找表的叙述,错误的是(57) 。
  第63题    2010年上半年  
   52%
用关键字序列10、20、30、40、50构造的二叉排序树(二叉査找树)为(63)。
   知识点讲解    
   · B-树
 
       B-树
        B-树的定义:一棵m阶的B-树,或为空树,或为满足下列特性的m叉树。
        (1)树中每个节点至多有m棵子树。
        (2)若根节点不是叶子节点,则至少有两棵子树。
        (3)除根之外的所有非终端节点至少有棵子树。
        (4)所有的非终端节点中包含下列数据信息,即
        (n,A0,K1,A1,K2A2,…,Kn,An)
        式中,Ki(i=1,2,…,n)为关键字,且Ki<Ki+1(i=1,2,…,n-1);Ai(i=1,2,…,n)为指向子树根节点的指针,且指针Ai-1,所指子树中所有节点的关键字均小于Ki(i=1,2,…,n),An所指子树中所有节点的关键字均大于Kn为节点中关键字的个数。
        (5)所有的叶子节点都出现在同一层次上,并且不带信息(可以看作外部节点或查找失败的节点,实际上这些节点不存在,指向这些节点的指针为空)。
        B-树上进行查找的过程是:首先在根节点所包含的关键字中查找给定的关键字,若找到则成功返回;否则确定待查找的关键字所在的子树并继续进行查找,直到查找成功或查找失败(指针为空)时为止。
        B-树上的插入和删除运算较为复杂,因为要保证运算后节点中关键字的个数大于等于,因此涉及节点的"分裂"及"合并"问题。
        在B-树中插入一个关键字时,不是在树中加一个叶子节点,而是首先在低层的某个终端节点添加一个关键字,若该节点中关键字的个数不超过m-1,则完成插入;否则,要进行节点的"分裂"处理。"分裂"就是把节点中处于中间位置上的关键字取出来插入到其父节点中,并以该关键字为分界线,把原节点分成两个节点,"分裂"过程可能会一直持续到树根。
        在B-树中删除一个节点时,首先找到关键字所在的节点,若该节点在含有信息的最后一层,且其中关键字的数目不少于,则完成删除;否则需进行节点的"合并"运算。若待删除的关键字所在节点不在含有信息的最后一层上,则将该关键字用其在B-树中的后继替代,然后再删除其后继元素,即将需要处理的情况统一转化为在含有信息的最后一层再进行删除运算。
   题号导航      2012年下半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第61题    在手机中做本题