1.非线性结构
【网易2016内推笔试题】
以下哪个是非线性结构? D
A.队列
B.栈
C.线性表
D.二叉树
线性结构:
结构中的数据元素之间存在一对一的关系。
如:堆、栈、队列、列表。
非线性结构:
树形:结构中的数据元素之间存在一对多的关系。
图形:结构中的数据元素之间存在多对多的关系。
2.非递归
【网易2016内推笔试题】
以非递归方式,实现深度优先搜索,用什么数据结构? B
A.队列
B.栈
C.堆
D.散列表
3.排序算法的时间复杂度和稳定性
【京东2016实习笔试题】
下列排序算法中稳定且时间复杂度为O(n^2)? B
A.直接选择排序 //不稳定 O(n^2)
B.冒泡排序 //稳定 O(n^2)
C.归并排序 //稳定 log2(n)*n
D.快速排序 //不稳定 log2(n)*n,所有内部排序方法中最高好的,大多数情况下总是最好的。
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,
冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
4.后缀表达式
【京东2016实习笔试题】
后缀表达式:5 3 2 + * 8 2 / -,计算结果为多少?
21。
规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。
后缀表达式:9 3 1-3*+ 10 2/+
下面是详细的步骤:
1. 初始化一个空栈。此桟用来对要运算的数字进出使用。
2.后缀表达式中前三个都是数字,所以9、3、1进栈。
3.接下来是减号“-”,所以将栈中的1出栈作为减数,3出栈作为被减数,并运算3-1得到2,再将2进栈。
4. 接着是数字3进栈。
5.后面是乘法“*”,也就意味着栈中3和2出栈,2与3相乘,得到6,并将6进栈。
6.下面是加法“+”,所以找中6和9出找,9与6相加,得到15,将15进栈。
7.接着是10与2两数字进栈。
8. 接下来是符号因此,栈顶的2与10出栈,10与2相除,得到5,将5进栈。
9.最后一个是符号“+”,所以15与5出找并相加,得到20,将20进栈。
10. 结果是20出栈,栈变为空。
5.分块查找 ?
【京东2016实习笔试题】
在分块查找中,若索引表各块内均用顺序查找,则有324个元素线性表若分成9块,其平均查找长度为?
A.19
B.32.5
C.33.5
D.18