数据结构练习1 09答案

发布 2022-09-02 13:39:28 阅读 1857

一、填空题:

直接前驱。

直接后继。元素个数。

一个指针域。

前驱。后继。指针域。

next(指针域)

头结点。

相互间存在一种或多种特定关系。

结构。集合线性结构树形结构图形结构。

逻辑结构 -

09数据结构练习一参考。

一、填空题:

二、选择题。

三、判断题。

五、算法设计。

1.设有一个顺序表l,其元素为整形数据,设计一个算法将l中所有小于0的整数放在前半部分,大于等于0的整数放在后半部分。

void tiaozheng(sqlist &l)

i=1; j=

while(i //找到左边第一个大于0的元素。

getelem(l,j,righte);

if(righte>0) 找到右边第一个小于0的元素。

e= 2.设计一个算法从顺序表中删除重复的元素,并使剩余元素间的相对次序保持不变。

/思路:设a[0]..a[j]是没有重复元素的顺序表,检查a[i]是否在这个顺序表中,不在就存入a[j+1]

void shanchu(sqlist &a)

j=0;

for(i=1; i< i++)

//注意j是从0开始的。

3.用顺序表a和b表示的两个线性表,元素的个数分别为m和n,若表中数据都是由小到大顺序排列的,且这(m+n)个数据中没有重复的。

1)设计一个算法将此两个线性表合并成一个,仍是数据由小到大排列的线性表,存储到另一个顺序表c中。

2)如果顺序表b的大小为(m+n)个单元,是否可不利用顺序表c而合并成的线性表存放于顺序表b中?试设计此算法。

3)设顺序表a有m+n个元素,且前m个有序,后n个有序,设计一个算法,使得整个顺序表有序。

void merge1(sqlist a,sqlist b,sqlist &c)

initlist_sq(c);

i=j=1;k=0;

a_len=listlength_sq(a);

b_len=listlength_sq(b);

while((i<=a_len)&&j<=b_lena和a均为非空。else

while(i<=a_len)

while(j<=lb_len)

∥merge1

void merge2(sqlist a,sqlist &b)

for(i=1; i<= i

void merge3(sqlist &a)

j =1;

for(i=m; i< i

4.有一个递增单链表(允许出现值域重复的结点),设计一个算法删除值域重复的结点。并分析算法的时间复杂度。

void dellist(linklist &l)

p=l->next;

while(p->next)

if(p->data==p->next->data)

else p=p->next;

5.设计一个带头结点的单链表l中删除一个最小值结点的算法。

status delmin(linklist &l)

if(l->next) return error;

minpre=ppre=l; minp=p=l->next;

while(p)

if(p->datadata)

ppre=p; p=p->next;

minpre->next=minp->next;

free(minp);

6.已知3个单链表a、b、c中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),设计一个算法使链表a中仅留下3个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为o(m+n+p),其中m、n、和p分别为3个表的长度。

7.两个整数序列a=(a1,a2,…,am)和b=(b1,b2,…,bn)用两个单链表存储,设计一个算法,判断序列b是否是序列a的子序列。

status sublist(linklist a,linklist b)

数据结构练习答案

数据结构测验。一 填空题。1 数据结构一般包括逻辑结构 物理结构和数据操作三个方面的内容。2 无向图的三种常存储表示方法邻接矩阵 邻接表 邻接多重表 3 广义表 a b j,d 的表头是 a 表尾是 b j,d 4 由一棵二叉树的前序序列和中序序列可唯一确定这棵二叉树。5 栈顶的位置是随着入栈和出栈...

数据结构练习3答案

数据结构练习 三 参考。一 选择题。1.顺序查找法适合于存储结构为的线性表。a 哈希存储t span c b r r 8 顺序存储或链式存储。c 压缩存储d 索引存储。2.一个长度为100的已排好序的表,用二分查找法进行查找,若查找不成功,至少比较 次。a 9b 8c 7t span c d r r...

数据结构练习3答案

数据结构练习 三 参考。一 选择题。1.顺序查找法适合于存储结构为的线性表。a 哈希存储t span c b r r 8 顺序存储或链式存储。c 压缩存储d 索引存储。2.一个长度为100的已排好序的表,用二分查找法进行查找,若查找不成功,至少比较 次。a 9b 8c 7t span c d r r...