Java编程

牛客网左算法

A、从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止

B、常采用先进后出的栈来实现算法

C、空间的复杂度为O(V+E),因为所有节点都必须被储存,其中V是节点的数量,E是边的数量

牛客网左算法

D、时间复杂度为O(V+E),因为必须寻找所有到可能节点的所有路径,其中V是节点的数量,E是边的数量

选B。为了让先搜索结点的邻结点也先搜索,只能使用先进先出的队列的思想。宽度优先搜索算法常用于图。

3、在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数是多少?

A、1 B、2 C、3 D、4

选B。正确的二分查找应该是一次折半后,high=middle-1 或者 low=middle+1;所以第一次查找时 high=6,low=0; middle= 0+6/2 = 3,即48;第二次查找时 high=6, low =3+1; middle = 4+(6-4)/2 =  5,即72,查出所找关键字,故答案为B、2次

4、下面关于B-和B+树的叙述中,不正确的是

A、B-树和B+树都是平衡的多叉树

B、B-树和B+树都可用于文件的索引结构

C、B-树和B+树都能有效地支持顺序检索

D、B-树和B+树都能有效地支持随机检索

选C。B树的定义是这样的,一棵m阶的B树满足下列条件:(1)每个结点至多有m棵子树;(2)除根结点外,其他每个非叶子结点至少有m/2棵子树;(3)若根结点不是叶子结点,则至少有两棵子树;(4)所有叶结点在同一层上。B树的叶结点可以看成一种外部结点,不包含任何信息;(5)所有的非叶子结点中包含的信息数据为:(n,p0,k1,p1,k2,P2,…,kj-1,Pj-1)其中,ki为关键字,且满足kiki+1;pi为指向子树根结点的指针,并且Pi-1所指的子树中的所有结点的关键字均小于ki,Pj-1所指的子树中的所有结点的关键字均大于kj-1。B+树是应文件系统所需而出现的一种B树的变型树,其主要区别是一棵非叶子结点有n个子树就有n个关键字,这些关键字的作用是索引;所有的叶子结点包含了全部关键字的信息,以及指向这些关键字记录的指针,且叶子结点本身的关键字的大小自小而大顺序链接。从上述的特点中我们知道,这两种树都是平衡的多分树,它们都可以用于文件的索引结构,但B树只能支持随机检索,而B+树是有序的树,既能支持随机检索,又能支持顺序检索。

5、具有3个结点的二叉树有几种形态?

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注