资源描述
数据结构与算法分析
任课教师: 熊太松
学院:应用数学学院
专业:
学号:
姓名:
第一章 绪论
名词解释
1、 算法得定义
2 数据结构得定义
简答题
算法得特性
有限性 确定性 可行性
1 简述数据元素得关系得表示方法与存储结构。
方法: 顺序映像
链非顺序映像
储存结构: 顺序存储
链式存储
第二章 线性表
简答题
1 线性结构得特点:
在数据元素得非空有限集中:
1存在唯一得一个被称作第一个得数据元素
2存在唯一得一个被称作最后一个得数据元素
3除第一个元素外,其她元素只有一个前驱
4除最后一个元素外,其她元素只有一个后继
2 线性表得特点
均匀性 有序性
3 描述线性表得顺序表示与链式表示得特点
顺序表:逻辑上相邻数据元素,物理存储位置相邻,需要先分配在、再使用
链式表:逻辑上相邻数据元素,物理存储不一定相邻,它就是前一个元素记录下下一个元素得地址,然后指向下一个,所以不连续,也就是动态分配得
选择题
1. 线性表就是( A )。
2. A.一个有序序列,可以为空
B. 一个有序序列,不能为空
C. 一个无限序列,可以为空
D. 一个无限序列,不能为空
2、
已知一维数组 A 采用顺序存储结构,每个元素占用 4
个存储单元,第 9 个元
素得地址为 144,则第一个元素得地址就是( D
)。
A、 108
B、 180
C、 176
D、 112
3、
在单链表中删除指针 p 所指结点得后继结点,则执行( A
)。
A. p->next= p->next->next
B. p->next= p->next
C. p= p->next->next
D. p= p->next; p->next= p->next->next
在顺序表 L 中第 i 个位置上插入一个新得元素 e:
Status ListInsert_Sq(SqList &L , int i , ET e)
{
if ( i<1 || i>L、length+1)
return ERROR;
if(L、length >= L、listsize)
{
p=(ET*)realloc(L、elem,(L、listsize+10)*sizeof(ET));
if (p==NULL)
exit(OVERFLOW);
L、elem=p;
}
for( j=L、length ; j>=i ; --j )
L、elem[j] = L、elem[j-1];
L、elem[j]=e ;
++L、length;
return OK;
}
程序题
1 用 C 语言实现用顺序表示得线性表得插入算法(算法 2、4)、删除算法(算法
2、5)及合并算法(算法 2、7),并分析这三个算法得时间复杂度。
2 用 C 语言实现用链式表示得线性表得插入算法(算法 2、9)、删除算法(算法
2、10)及合并算法(算法 2、12),并分析这三个算法得时间复杂度。
展开阅读全文