1、1. 非空线性链表中,若要在由 p 所指的链结点后面插入新结点 q,则应执行语句_q-link=p-link; _和_p-link=q; _。结点结构为typedef struct Nodeint value;node* link;node;2. 线性表中的插入、删除操作,在顺序存储方式平均移动近一半的元素,时间复杂度为O(n) ;而在链式存储方式下,插入和删除时间复杂度都是 O(1)。3. 设 n 为大于 1 的正整数, 计算机执行下面的语句时,带#语句的执行次数为 n 。i=1;j=0;while(i+jj)j+;elsei+;4. 在具有 n 个链结点的链表中查找一个链结点的时间复杂度为
2、 O(n)。5. 下面程序段的时间复杂度为 O(mn) 。for ( i = 0; i j ) ? ( i*i*i ) : ( j*j*j );6. 假设 n 为 2 的乘幂,并且 n2,试求下列算法的时间复杂度及变量 count 的值(以 n 的函数形式表示,计算机科学中,除非特别声明,对数都是以 2 为底,即 log2X 可表示为:log X 或者 log(X)) 。int time (int n) int count=0, x=2;while ( x A j + 1 THEN A j 与 A j + 1 对换;其中 n 为正整数,则最后一行的语句频度在最坏的情况下是(D)A. O(n)B
3、.O(nlogn)C.O(n3)D.O(n2)2. 下面关于算法说法错误的是(D)A. 算法最终必须由计算机程序实现B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的3. 数据的存储结构通常有 D。A顺序存储结构和链式存储结构B顺序存储结构、链式存储结构和索引结构C顺序存储结构、链式存储结构和散列结构 D顺序存储结构、链式存储结构、索引结构和散列结构4. 在一个具有 n 个链结点的线性链表中查找某一个链结点,若查找成功,需要平均比较 C.个链结点。A. n B. n/2 C. (n+1)/2 D. (n-1)/25. 在非空
4、双向循环链表中由 q 所指的那个链结点前面插入一个由 p 所指的链结点的动作所对应的语句依次为:p 一rlink=q; p 一llink=q 一llink; q 一llink=p; D.。( 空白处为一条赋值语句)A. q 一rlink= p; B. q 一llink 一rlink=p; C. p 一rlink 一rlink= p; D. p 一llink 一rlink=p; 6. 在包含 1000 个数据元素的线性表中,实现如下 4 个操作所需要的执行时间最长的是 A 。A. 线性表采用顺序存储结构,在第 10 个元素后面插入一个新的元素B. 线性表采用链式存储结构,在第 10 个元素后面插
5、入一个新的元素C. 线性表采用顺序存储结构,删除第 990 个元素D. 线性表采用链式存储结构,删除 p 所指的链结点7. 数据采用链式存储结构,要求 A。A. 每个链结点占用一片地址连续的存储空间B. 所有链结点占用一片地址连续的存储空间C. 链结点的最后那个域一定为指针域D. 每个链结点有多少个直接后继结点,它就应该设置多少个指针域8. 将长度为 m 的线性链表链接在长度为 n 的线性链表之后的过程的时间复杂度若采用大O 形式表示,则应该是 B。AO(m) BO(n) CO(m+n) DO(m-n)9. 在一个单链表中,若要在 p 所指向的结点之后插入一个新结点,则需要相继修改_个指针域A
6、. 1B. 2C. 3D. 410. 以下程序段的时间复杂度是 Cint i=0;for (int j=1;j2-3 和 2-3-5 并为 1-2-3-5,只能输出结果,不能修改两个链表的数据。【输入形式】第一行为第一个链表的各结点值,以空格分隔。第二行为第二个链表的各结点值,以空格分隔。【输出形式】合并好的链表,以非降序排列,值与值之间以空格分隔。【样例输入】4 7 10 341 4 6 29 34 34 52【样例输出】 1 4 6 7 10 29 34 52【评分标准】要使用链表实现,否则不能得分。2. 数字统计【问题描述】对于 1 到 n 的所有自然数,计算 0 到 n 所有数字(0-9 之间的数字)出现的次数分布。【输入形式】一个整数 n(n = 100000)【输出形式】10 个数字,空格隔开,对应 0-9 数字在 1n 这个序列中出现的次数总和。【样例输入】11【样例输出】1 4 1 1 1 1 1 1 1 1【样例输入】10000【样例输出】2893 4001 4000 4000 4000 4000 4000 4000 4000 4000【评分标准】输出的 10 个数之间用空格区分。