链表的题目
1.广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表()//错的
解析:
非空的广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表
2.利用二叉链表存储树,则根结点的右指针是()//不明白
3.设某散列表的当前状态如下:
答案是0.37
解释:散列表的一个重要参数是负载因子a,a=散列表中结点的数目/基本区域能容纳的结点数。
负载因子的大小体现散列表的装满程度。a越大,发生碰撞的可能性越大,一般取a<1。
题目中的散列表结点的数目为7,基本区域能容纳的结点数为19,因此a=7/19≈0.37。
正确答案为选项A。
4.10个数放入模10hash链表,最大长度是多少?//10,不明白
5.线性表的长度是线性表所占用的存储空间的大小。 //错误
解释:线性表长度的定义是它所包含的元素的个数。
元素的类型决定了元素所占用存储空间的大小,但元素的个数不等价于元素的类型。
因此本题答案为F。
6.在顺序表中,只要知道_______,就可在相同时间内求出任一结点的存储地址。//基地址和结点大小
7.HashMap的数据结构是怎样的?//数组+链表
8.在一个单链表 HL 中,若要在当前由指针 p 指向的结点后面插入一个由 q 指向的结点,则执行如下 ( ) 语句序列。
9.如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。( )//正确
10.广义表A=((x, (a ,b)), (x,(a,b),y)), 则运算Head(Head(Tail(A)))结果为( )//X
11.单链表的每个节点中包括一个指针next,它指向该节点的后继节点。现要将指针q指向的新节点插入到指针p指向的单链表节点之后,下面的操作序列中哪一个是正确的?
12.对n个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是()//每次分区后,先处理较短的部分
13.线性表的顺序存储方式具有哪些优点?
1.可以用结点的物理次序反映结点之间的逻辑关系
2.存储密度高,节省存储空间
3.在结点等长时可以随机存取
14.字符 A 、 B 、 C 依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成 ( ) 个不同的字符串?
解析:组合数学中的Catalan数, C(2n,n)/(n+1) (C(2n,n)表示2n里取n) 。
C(n,m)=n!/[m!*(n-m)!]