精品文档
第二章
线性表
一.名词解释
1.
线性结构
2.
数据结构的顺序实现
3.
顺序表
4.
链表
5.
数据结构的链接实现
6.
建表
7.
字符串
8.
串
9.
顺序串
10.
链串
二、填空题
1.
为了便于讨论,有时将含
n(n>=0)
个结点的线性结构表示成
(a
,
a,
……
a)
,其中每
n12
个
a
代表
一个
______
。
a
称为
______
结点,
a
称为
______
结点,
i
称为
a
在线性表中的
________
ii1n
或
______
。
对任意一对相邻结点
a
、
a(1<=i
称为
a
的直接
______a
称为
a
的直
iii
┼
1i
┼
1
┼
i1i
接
______
。
2.
为了满足运算的封闭性,
通常允许一种逻辑结构出现不含任何结点的情况。
不含任何结点的线
性结构记为
______
或
______
。
3.
线性结构的基本特征是
:
若至少含有一个结点,则除起始结点没有直接
______
外,其他结点有
且仅有一个直接
______;
除终端结点没有直接
______
外,其它结点有且仅有一个直接
______.
4.
所有结点按
1
对
1
的邻接关系构成的整体就是
______
结构。
5.
线性表的逻辑结构是
______
结构。其所含结点的个数称为线性表的
______
,简称
______.
6.
表长为
O
的线性表称为
______
7.
线性表典型的基本运算包括
:______
、
______
、
______
、
______
、
______
、
______
等六种。
8.
顺序表的特点是
______
。
9.
顺序表的类型定义可经编译转换为机器级。假定每个
datatype
类型的变量占用
k(k>=1)
个内
存单元,其中,
b
是顺序表的第一个存储结点的第一个单元的内存地址,那么,第
i
个结点
a
的
存储地址为
______
。
i
10.
以下为顺序表的插入运算,
分析算法,
请在
______
处填上正确的语句。
Void insert_sqlist(sqlist L
,
datatype x
,
int i)
/*
将
X
插入到顺序表
L
的第
i-1
个位置
*/
{ if( L.last == maxsize) error(
“表满”
)
;
if((i<1)||(i>L.last+1))error(
“非法位置”
);
for(j=L.last;j>=i;j--)______;
L.data[i-1]=x;
L.last=L.last+1;
}
11.
对于顺序表的插入算法
insert_sqlist
来说,若以结点移动为标准操作,则插入算法的最坏
时间复杂性为
________
,
量级是
________
。
插入算法的平均时间复杂性为
________
,
平均时间复
杂性量级是
________
。
12.
以下为顺序表的删除运算,分析算法,请在
________
处填上正确的语句。
void delete_sqlist(sqlist L,int i) /*
删除顺序表
L
中的第
i-1
个位置上的结点
*/
{if((i<1)||(i>L.last))error(
“非法位置”
)
;
for(j=i+1;j=L.last;j++)________;
L.last=L.last-1;
}
13.
对于顺序表的删除算法
delete_sqlist
来说,若以结点移动为标准操作,最坏情况时间复杂
性及其量级分别是
________
和
________,
其平均时间复杂性及其量级分别为
________
.
精品文档