- 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}
(1) 集合
(2) 线性表
(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++) // 按值顺序查找 * i可从0开始
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 ) 的时间复杂度。
解:设表长为n,等概率下,每个元素被定位的概率为:p=1/n
定位成功第i个元素,需比较i次
3.对于有头结点的单链表,分别写出定位成功时,实现下列定位语句序列。
(1) 定位到第i个结点ai;
p=head; j=0;
while ( p ji ) { p=p-next; j++;}
(2) 定位到第i个结点的前驱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. 对于无头结点单链表,给出删除第i个结点
您可能关注的文档
- 一年级口算练练习题一天50道.docx
- 第一至十期全国BIM技能等级考试一级试题.pdf
- 收入分配与社会公平练练习题.docx
- 薪酬管理(高起专)学习指南.docx
- 信息安全复练习题.docx
- 考研英语小作文模板总结书信篇(定稿版).docx
- 视防知识题库(全).docx
- 每天2篇小故事记住初中英语1600词(130篇).docx
- 往届生考研现场确认需要带的材料如下.docx
- 素材——关于荆轲刺秦王的价值评价.docx
- 2025年中国玻璃杯行业市场调研分析及投资战略咨询报告.docx
- 2025年中国毛线行业市场发展现状及投资规划建议报告.docx
- 2025年中国北京体育用品市场供需现状及投资战略研究报告.docx
- 2025年中国智能水杯市场发展前景预测及投资战略咨询报告.docx
- 2025年中国合成革行业发展趋势预测及投资战略咨询报告.docx
- 2025年中国垃圾桶行业市场深度分析及发展前景预测报告.docx
- 2025年中国哑膜水晶油墨市场供需现状及投资战略研究报告.docx
- 某县委书记年度述责述廉报告.docx
- web选择题复习测试有答案.docx
- 2025年中国木制餐具行业市场全景评估及投资前景展望报告.docx
最近下载
- 电动脱轨器技术说明书(经典).docx
- 比亚迪-宋MAX-产品使用说明书-1.5TI智联睿逸型-BYD6470MT6B-宋MAX201902.pdf
- 小灵通漫游未来课外试题及答案.doc
- 钱江生化公司2021年财务分析研究报告.doc
- 四大名著《西游记》精品课件中小学生西游记读书分享主题班会课件模板.pptx VIP
- DB65T4601-2022精神卫生福利机构 护理风险评估规范.docx VIP
- 2023年北京科技大学天津学院公共课《马克思主义基本原理概论》期末试卷B(有答案).docx VIP
- 盘古气象大模型.docx VIP
- 2023年北京科技大学天津学院公共课《马克思主义基本原理概论》期末试卷A(有答案).docx VIP
- 小松鼠的大尾巴-课件.ppt VIP
文档评论(0)