- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构习题(有答案)
第1章 绪
1.1 有下列几种二元组表示的数据结构,试画出它们分别对应的图形表示,并指出它们分别属于何种结构。
(1) A= ( D,R ),其中,D = { a1,a2,a 3,a4 }, R={ }
(2) B= ( D,R ),其中,D = { a,b,c,d,e}, R={ a,b,b,c,c,d,d,e}
(3) C= ( D,R ),其中,D = { a,b,c,d,e,f,g}, R={ d,b,d,g,b,a,b,c,g,e,e,f}
(4) K= ( D,R ),其中,D = { 1,2,3,4,5,6}, R={ 1,2,2,3,2,4,3,4,3,5,3,6,4,5,4,6}
(3) 树 (4) 图 1.2 设n为正整数,求下列各程序段中的下划线语句的执行次数。 (1) i=1; k=0
while(i=n-1)
{
k+=10*i ;
i++;
}
(2) for (int i=1; i=n; i++)
for (int j=1; j=n; j++)
{ c[i][j]=0;
for (int k=1; k=n; k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j]
} 解:
(1) n-1
(2)
(3) x=0; y=0;
for (int i=1; i=n; i++)
for (int j=1; j=i; j++)
for (int k=1; k=j; k++)
x=x+y; (3) 1.3 指出下列个算法的功能,并求其时间复杂度。 (1) int sum1(int n)
{
int p=1,s=0;
for (int i=1;i=n; i++)
{ p*= i; s+=p;}
return s;
} (2) int sum2 (int n)
{ int s=0;
for ( int i=1; i=n; i++)
{ int p=1;
for (int j=1; j=i; j++) p*=j;
s+=p;
}
return s;
} 解:
(1) , T(n)=O(n)
(2) , T(n)=O(n2) 1.4 算法设计
有3枚硬币,其中有1枚是假的,伪币与真币重量略有不同。如何借用一架天平,找出伪币?以流程图表示算法。
上机练习题
要求:给出问题分析、算法描述、源程序及运行截图,在线提交。 1. 设 a, b, c为3个整数,求其中位于中间值的整数。 第2章 线性表
1. 设计算法:在顺序表中删除值为e的元素,删除成功,返回1;否则,返回0。
int SqlistT::DeleteElem( T e )
{ for (i=1; i=length; i++) // 按值顺序查找 if (elem[i-1]= =e) // 找到,进行删除操作
{ for ( j=i; jlength; j++) // ai至an依次移
Elem[j-1] = elem[j];
length - - ; // 表长减一
return 1 ; //删除成功,返回 1
}
return 0 ; // 未找到,删除不成功,返回 0
} 2. 分析顺序表中元素定位算法 int SqListT::Locate ( T e ) 的时间复杂度。
3.对于有头结点的单链表,分别写出下列语句序列。 (1) 定位到ai; p=head; j=0;
while ( p ji ) { p=p-next; j++;} (2) 定位到ai-1; p=head; j=0;
while ( p ji-1 ) { p=p-next; j++;} (3) 定位到尾; p=head;
while ( p -next ) p=p-next; (4) 定位到p=head;
while ( p-next-next ) p=p-next; 4.描述一下三个概念的区别:头指针,头结点,首元结点。并给予图示。 头指针:是一个指针变量,里面存储的是链表中首结点的地址,并以此来标识一个链表。
头结点:附加在第一个元素结点之前的一个结点,头指针指向头结点。
首元结点:指链表中的第一个元素结点。 5. 对于无头结点单链表, template calss T
T LinkListT::Delete(int i) template calss T
T LinkListT::Delete(int i) { // 在单链表上删除第i
您可能关注的文档
- 教案第一章第一节1.doc
- 教案 生活垃圾的分类处理.doc
- 教案 高中化学必修1 第二章化学物质及其分类 第二节离子反应.doc
- 教案-信息科学基础.doc
- 教案书写格式.doc
- 教科版 三上科学 第二单元动物.doc
- 教科版三年级科学第一二单元习题1.doc
- 教科版五年级上册科学期末试卷(附答案).doc
- 教科版五年级科学上册第三单元习题6.doc
- 教科版物理必修一匀变速直线运动速度与时间的关系学案带答案.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)