- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》复习题
第1部分弓I论
二、选择
?链式存储结构中,每个数据的存储结点里 指向邻接存储结点的指针, 用以反
映数据间的逻辑关系。
A .只能有1个 B .只能有2个 C .只能有3个 D .可以有多个
?有下面的算法段:
for (i=0; in; i++)
k++;
其时间复杂度为 。
A . O(1) B . 0(n) C. O(log2n) D. 0(n2)
四、应用
给出下面3个算法段的时间复杂度:
x++ ;
for (j=1; jn; j++)
x++;
for (j=1; j=n; j++)
for (k=1; k=m; k++)
x++;
答: (1)
(2)
(3)
第2部分线性表
一、填空
1?以顺序存储结构实现的线性表,被称为 。
2?以链式存储结构实现的线性表,被称为 。
3?不带表头结点的链表,是指该链表的表头指针直接指向该链表的
4.顺序表Sq = (ai, a2,出,…,an) (n》1)中,每个数据元素需要占用 w个存储单元。 若m为元素$的起始地址,那么元素 an的存储地址是 。
5?当线性表的数据元素个数基本稳定、很少进行插入和删除操作,但却要求以最快的
速度存取表中的元素时,我们应该对该表采用 存储结构。
二、选择
下面,对非空线性表特点的论述, 是正确的。
A ?所有结点有且只有一个直接前驱
B .所有结点有且只有一个直接后继
C ?每个结点至多只有一个直接前驱,至多只有一个直接后继 D ?结点间是按照1对多的邻接关系来维系其逻辑关系的
带表头结点的单链表 Lk_h为空的判定条件是 。
A . Lk_h == NULL B . Lk_h-Next == NULL
C. Lk_h-Next == Lk_h D. Lk_h != NULL
3?往一个顺序表的任一结点前插入一个新数据结点时,平均而言,需要移动 结点。
A . n B . n/2 C . n+1 D . (n +1)/2
在一个单链表中,已知 qtr所指结点是ptr所指结点的直接前驱。现要在 qtr所指结
点和ptr所指结点之间插入一个 rtr所指的结点,要执行的操作应该是 。
A . rtr-Next = ptr-Next; ptr-Next = rtr;
B . ptr-Next = rtr-Next;
C . qtr-Next = rtr; rtr-Next = ptr;
D . ptr-Next = rtr; rtr-Next = qtr-Next;
在一个单链表中,若现在要删除 ptr指针所指结点的直接后继结点,则需要执行的
A .
ptr-Next = ptr-Next-Next ;
B .
ptr =
:ptr-Next; ptr-Next =
C .
ptr =
:ptr-Next-Next ;
D .
ptr-Next= ptr ;
6.在长度为
n的顺序表中,往其第
要往后移动
个兀素。
A .
n-i
B . n-i+1 C .
7.在长度为
n的顺序表中,删除第
丿元糸。
A .
n-i
B . n-i+1 C .
ptr-Next-Next ; TOC \o 1-5 \h \z 操作是 。
ptr-Next-Next ;
i个元素(K i w n)之前插入一个新的元素时,需
n-i-1 D . i
i个元素(1w i w n)时,需要往前移动 个
n-i-1 D . i
设tail是指向一个非空带表头结点的循环单链表的尾指针。那么,删除链表起始结 点的操作应该是 。
A . ptr
A . ptr = tail ;
tail = tail-Next ;
B . tail = tail-Next ; free (tail);
free (ptr);
C. tail = tail-Next-Next ; D. ptr = tail-Next-Next ;
free (tail); tail-Next-Next = ptr-Next ;
free (ptr); free (ptr);
在单链表中,如果指针 ptr所指结点不是链表的尾结点,那么在 ptr之后插入由指针
qtr所指结点的操作应该是
。
A . qtr-Next =
ptr ;
B. qtr-Next =
=ptr-Next ;
ptr-Next =
qtr ;
ptr-Next =
:qtr ;
C. qtr-Next =
ptr-Next ;
D. ptr-Next :
=qtr ;
ptr = qtr ;
qtr-Next =
:ptr ;
四、应用
L的长度(即结点个数)的算法。eleme nt ;
L的长度(即结点个数)的算法。
eleme nt ;
typedef struct no de{
文档评论(0)