- 1、本文档共30页,可阅读全部内容。
- 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.为了便于讨论,有时将含n(n=0)个结点的线性结构表示成(a1,a2,……an),其中每个ai代表一个结点。a1称为起始结点,an称为终端结点,i称为ai在线性表中的位置或序号。对任意一对相邻结点ai、ai┼1(1=in),ai称为ai┼1的直接前趋ai┼1称为ai的直接后趋。
2.为了满足运算的封闭性,通常允许一种逻辑结构出现不含任何结点的情况。不含任何结点的线性结构记为()或?。
3.线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接前趋外,其他结点有且仅有一个直接前趋;除终端结点没有直接后趋外,其它结点有且仅有一个直接后趋.
4.所有结点按1对1的邻接关系构成的整体就是线性结构。
5.线性表的逻辑结构是线性结构。其所含结点的个数称为线性表的长度,简称表长.
6.表长为O的线性表称为空表
7.线性表典型的基本运算包括:初始化INITLATE(L)、求表长LENGTH(L)、读表长GET(L,i)、定位LOCATE(L,X),插入INSERT(L,X,i)、删除DELETE(L,i)等六种。
8.顺序表的特点是逻辑结构中相邻的结点在存储结构中仍相邻。
9.顺序表的类型定义可经编译转换为机器级。假定每个datatype类型的变量占用k(k=1)个内存单元,其中,b是顺序表的第一个存储结点的第一个单元的内存地址,那么,第i个结点ai的存储地址为b+(i-1)Xk。
10.以下为顺序表的插入运算,分析算法,请在______处填上正确的语句。
Void insert_sqlist(sqlist L,datatype x,int i)
/*将X插入到顺序表L的第i-1个位置*/
{ if( L.last == maxsize) error(“表满”);
if((i1)||(iL.last+1))error(“非法位置”);
for(j=L.last;j=i;j--)L.data[j]=l.data[j-1];
L.data[i-1]=x;
L.last=L.last+1;
}
11.对于顺序表的插入算法insert_sqlist来说,若以结点移动为标准操作,则插入算法的最坏时间复杂性为___n_____,量级是__O(n)_。插入算法的平均时间复杂性为n/2,平均时间复杂性量级是O(n)。
12.以下为顺序表的删除运算,分析算法,请在________处填上正确的语句。
void delete_sqlist(sqlist L,int i) /*删除顺序表L中的第i-1个位置上的结点*/
{if((i1)||(iL.last))error(“非法位置”);
for(j=i+1;j=L.last;j++)_____L.data[j-2]=L.data[j-1]___;
L.last=L.last-1;
}
13.对于顺序表的删除算法delete_sqlist来说,若以结点移动为标准操作,最坏情况时间复杂性及其量级分别是__n-1______和__O(n)______,其平均时间复杂性及其量级分别为__(n-1)/2______和__O(n)______。
14.以下为顺序表的定位运算,分析算法,请在________处填上正确的语句。
int locate_sqlist(sqlist L,datatype X)
/*在顺序表L中查找第一值等于X的结点。若找到回传该结点序号;否则回传0*/
{________;
while((i≤L.last)(L.data[i-1]!=X))i++;
if(__i=1 i=L.last______)return(i);
else return(0);
}
15.对于顺序表的定位算法,若以取结点值与参数X的比较为标准操作,平均时间复杂性量级为__O(n)______。求表长和读表元算法的时间复杂性为___O(1)_____。
16.在顺序表上,求表长运算LENGTH(L)可通过输出___L.last_____实现,读表元运算
GET(L,i)可通过输出__L.data[i-1]______实现。
17.线性表的常见链式存储结构有_单链表_______、_循环链表_______和___双链表_____。
18.单链表表示法的基本思想是用__指针______表示结点间的逻辑关系。
19.所有结点通过指针的链接而组织成_单链表_______。
20.为了便于实现各种运算,通常在单链表的第一个结点之前增设一个类型相同的结点,称为___头结点_____,其它结点称为___表结点_____。
21.在单链表中,表结点中的第一个和最后一个分别称为__首结点______和_尾结点_______。头结点的数据域可以不存储___任何信息_____,也可
文档评论(0)