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

本文涵盖了数据结构和算法的多个经典问题,包括栈、队列、排序、哈希表、图论和查找算法等。通过分析题目和解答,帮助读者深入理解这些概念并提升解决实际问题的能力。
摘要由CSDN通过智能技术生成

一、对线性表进行折半查找时,要求线性表必须()

	A、以顺序方式存储
	B、以顺序方式存储,且数据元素有序
	C、以链接方式存储
	D、以链接方式存储,且数据元素有序
	答案:B
	解析:折半查找又称二分法查找,要求必须有序,一般是对顺序存储进行操作

二、最坏情况下,合并两个大小为n的已排序数组所需要的比较次数_____。

		A、2n
		B、2n-1
		C、2n+1
		D、2n-2
		答案:B
		解析:挖2n个坑,对每一个坑进行循环,比较两排带头的人,谁大谁先跳,总共比较2n-1次,最后一个不用比了,因为就剩你了。
		或者采用特殊例子法:假设n=1,带入选项即可求解

三、线性表是具有n个()的有限序列(n>0)

	A、表元素
	B、字符
	C、数据元素
	D、数据项
	E、信息项
	答案:C
	解析:
	数据:信息的载体,能够被计算机识别、存储、加工,包括整数、实数、字符串、图像、声音等
	数据元素:数据的基本单位,也称结点、元素、顶点、记录。一个数据元素可由若干个数据项组成
	数据项:是具有独立寒意的最小标识单元,也称字段、域、属性等
	数据结构:指数据之间的相互关系,即组织形式,有逻辑结构(一般程序中出现的形式)和物理结构之分(内存中的连续存储形式);
	逻辑结构又有线性(非空,仅由一个开始结点和一个终端结点,除首尾结点之外,所有节点均只有一个直接前区和一个直接后继,
	如一维数组、栈、队列、链表、串等)和非线性之分(一个结点可以有多个直接前区和多个直接后继,如多维数组、广义表、树、图等)

四、对两个数组 a 和 b 进行如下初始化

	char a[] = "ABCDEF";
	char b[] = {'A','B','C','D','E','F'};
	以下叙述正确的是(    )
	A、a 与 b 数组完全相同
	B、a 与 b 长度相同
	C、a 和 b 中都存放了字符串
	D、a 数组比 b 数组长
	答案:D
	解析:你首先要明白的是什么是长度:数组元素的个数称之为数组的长度。
	 现在再看问题 第一个是 字符串,第二个是字符数组 ,字符串以'\0'为结束符号,字符数组不用。
	 所以B 对。 要说明的是,虽然他们长度相同,不过占的内存字节数是不一样的,
	 第一个占7个字节(后面的'\0'占一个。)第二个占6个字节。

五、以下程序段的运行结果是( )。

	char str[10] = "output";
	printf("\"%s\"\n", str);
	A、output
	B、"output"
	C、\"output\"
	D、编译错误
	答案:B
   解析:\n     换行
		\r     回车
		\f     换页符
		\b     退格
		\0     空格
		\s     字符串
		\t     制表符
		\”     双引号
		\’     单引号
		\ddd     八进制字符串(ddd)
		\uxxxx     16进制unicode字符串(xxxx)
		\" 这里的\为转义字符 ,第一个和第二个一样。 第三个就不解释了。

六、一个栈的进栈序列是 a , b , c , d , e ,则栈的不可能的输出序列是 ()

	A、edcba
	B、decba
	C、dceab
	D、abcde
	答案:C
	解析:
A:push push push push push pop pop pop pop pop 
B:push push push push pop push pop pop pop pop
C:错
D:push pop push pop push pop push pop push pop
我的理解:
网上查到的资料是
对于出栈序列的每一个元素,该元素后比该元素先入栈的一定按照降序排列。
A.比如说第一个是eÿ
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N1314N

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值