牛客网试题+答案分析+大牛面试经验(9)

(1)对线性表采用折半查找,该线性表必须_______。

A、元素按值有序排列
B、采用顺序结构
C、元素按值有序排列,并且采用顺序存储结构
D、元素按值有序排列,并且采用链式存储结构
答案:C

(2)有个长度为12的无重复有序表,按折半查找法进行查找,在表内各元素等概率情况下,查找成功所需的平均比较(三元比较)的次数为()

A、35/12
B、37/12
C、39/12
D、43/12
答案:B
解析:此题按照一颗完全二叉树来考虑,12个结点是4层,所以为(1*1+2*2+4*3+5*4)/12
按照完全二叉树进行层次历遍,总共分为四层,分为12个节点,公式括号内的乘号的后面的数字代表的层数,前面的数字
代表每层节点的个数。

(3)下列有关图的遍历说法中,不正确的是()

	A、有向图和无向图都可以进行遍历操作
	B、基本遍历算法两种:深度遍历和广度遍历
	C、图的遍历必须用递归实现
	D、图的遍历算法可以执行在有回路的图中
	答案:C
	解析:,图的遍历分为递归和非递归实现,即为深度遍历和广度遍历

(4)执行()操作时,需要使用队列做辅助存储空间

	A、查找哈希(Hash)表
	B、广度优先搜索网
	C、前序(根)遍历二叉树
	D、深度优先搜索网
	答案:B
	解析:	深度优先搜索要借助栈;
			广度优先搜索要借助队列;

(5)在一个有8个int数据的数组中,随机给出数组的数据,找出最大和第二大元素一定需要进行()次比较:

	A、8
	B、9
	C、10
	D、11
	答案:B
	解析:
	这是一个考最优算法的下界问题。
	选择问题的复杂度下界,已经有证明,可参考算法导论或屈婉玲的算法设计与分析技术这本书。
	对于选择问题,找最大问题的下界是:n-1
	找第二大问题的下界是:n+logn-2
	因此,本题,n=8,代入下界公式:8+3-2 = 9,所以选择B、

(6)在Windows中,下列关于堆和栈的说法中错误的是?

A、堆都是动态分配的,没有静态分配的堆;栈有静态分配和动态分配2种分配方式。
B、堆的生长方向是向下的,即向着内存地址减小的方向增长;栈的生长方向是向上的,即向着内存地址增加的方向增长。
C、对堆的频繁new/delete会造成内存空间的不连续,从而造成大量的碎片;栈则不会存在这个问题
D、栈是由编译器自动治理;堆的释放工作由程序员控制,轻易产生内存泄露。
答案:B
解析:
1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。  
2、堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事。  
区别:  
1. 管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生内存溢出。  
2. 空间大小:堆内存几乎是没有什么限制。栈一般都是有一定的空间大小。 
3. 碎片问题:对于堆来讲,频繁的new/delete会造成内存空间的不连续,从而造成大量的碎片,使程序效率降低。
4. 对于栈来讲,则不会存在这个问题。  
5. 分配方式:堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。  
6. 分配效率:栈的效率比较高。堆的效率比栈要低得多。
7. 增长方向:堆的增长方向是从程序低地址到高地址向上增长,而栈的增长方向刚好相反(实际情况可能不是这样的,与CPU的体系结构有关)

(7)下列数据结构不是多型数据类型的是()

	A、堆
	B、栈
	C、字符串
	D、有向图
	答案:C
	解析:多型数据类型是指包含的数据元素的类型并不确定。
	比如栈可以是整数栈、字符栈、对象栈等等。
	但是字符串,它的元素必然是字符。

(8)堆是

	A、完全二叉树
	B、线性表
	C、二叉排序树
	D、平衡二叉树
	答案: A  

(9)最坏情况下 insert sort, quick sort ,merge sort 的复杂度分别是多少?

A、O(n*n),O(nlogn),O(n*n)
B、O(n*n),O(n*n),O(nlogn)
C、O(n*n),O(nlogn),O(nlogn)
D、O(nlogn),O(nlogn),O(nlogn)
答案:B
解析:	1:简单选择  最好时间 O(n^2)      平均时间O(n^2)      最坏时间 O(n^2)
		2:直接插入  最好时间 O(n)         平均时间O(n^2)      最坏时间 O(n^2)
		3:冒泡排序  最好时间 O(n)         平均时间O(n^2)      最坏时间 O(n^2)
		4:希尔排序  最好时间 O(n)         平均时间O(logn)     最坏时间 O(n^s) 1

(10)静态变量static在不同的实例中地址是否一样?他们储存在什么区域?()

A、地址一样,在堆栈区。
B、地址不一样,在堆栈区。
C、地址一样,在全局区
D、地址不一样,在全局区。
答案:C  

(11)哈希函数的选取平方取中法最好。 ()

A、正确
B、错误
答案:B
解析:不能说哪种哈希函数的选取方法最好,各种选取方法有自己的适用范围。

(12)散列文件使用散列函数将记录的关键字值计算转

你可能感兴趣的:(牛客专题)