没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论





















1 / 11
第1章 概论 习题参考答案
一、基础知识题
1. 简述下列概念
数据,数据元素,数据类型,数据结构,逻辑结构,存储结构,算法。
【解答】数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计
算机中并被计算机程序识别和处理的符号的集合。数据元素是数据的基本单位。
在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。
数据类型是对数据的取值范围、数据元素之间的结构以及允许施加操作的一种总
体描述。每一种计算机程序设计语言都定义有自己的数据类型。
“数据结构”这一术语有两种含义,一是作为一门课程的名称;二是作为一个科
学的概念。作为科学概念,目前尚无公认定义,一般认为,讨论数据结构要包括
三个方面,一是数据的逻辑结构,二是数据的存储结构,三是对数据进行的操作
(运算)。而数据类型是值的集合和操作的集合,可以看作是已实现了的数据结
构,后者是前者的一种简化情况。
数据的逻辑结构反映数据元素之间的逻辑关系(即数据元素之间的关联方式或
“邻接关系”),数据的存储结构是数据结构在计算机中的表示,包括数据元素
的表示及其关系的表示。数据的运算是对数据定义的一组操作,运算是定义在逻
辑结构上的,和存储结构无关,而运算的实现则依赖于存储结构。
数据结构在计算机中的表示称为物理结构,又称存储结构。是逻辑结构在存储器
中的映像,包括数据元素的表示和关系的表示。逻辑结构与计算机无关。
算法是对特定问题求解步骤的一种描述,是指令的有限序列。其中每一条指令表
示一个或多个操作。一个算法应该具有下列特性:有穷性、确定性、可行性、输
入和输出。
2. 数据的逻辑结构分哪几种,为什么说逻辑结构是数据组织的主要方面?
【解答】数据的逻辑结构分为线性结构和非线性结构。(也可以分为集合、
线性结构、树形结构和图形即网状结构)。
逻辑结构是数据组织的某种“本质性”的东西:
(1)逻辑结构与数据元素本身的形式、内容无关。
(2)逻辑结构与数据元素的相对位置无关。
(3)逻辑结构与所含数据元素的个数无关。
3. 试举一个数据结构的例子,叙述其逻辑结构、存储结构、运算三方面的内容。
【解答】如学生成绩表,逻辑结构是线性结构,可以顺序存储(也可以链式存
储),运算可以有插入、删除、查询、等等。
4. 简述算法的五个特性,对算法设计的要求。
【解答】算法的五个特性是:有穷性、确定性、可行性、零至多个输入和一
至多个输出。

2 / 11
对算法设计的要求:正确性,易读性,健壮性,和高的时空间效率(运算速度快,
存储空间小)。
5. 设 n 是正整数,求下列程序段中带@记号的语句的执行次数。
(1)i=1;k=0; (2) i=1;j=0;
while(i<n) while(i+j<=n)
{k=k+50*i; i++; @ {if(i>j)j++; @
} else i++; } @
(3)x=y=0; (4)x=91;y=100;
for(i=0;i<n;i++) @ while(y>0)
for(j=0;j<n;j++) @ if(x>100)
{x++; @ {x=x-10; y--; @
for(k=0;k<n;k++) @ }
y++; @ else x++; @
}
【解答】(1)n-1
(2)n 为偶数时,均为 n div 2;
你为奇数时,分别为:(n div 2)+1 和 n div 2
(3)n+1, n(n+1), n
2
,(n+1)n
2
, n
3
(4)100, 1000
6. 有实现同一功能的两个算法 A1 和 A2,其中 A1 的时间复杂度为 Tl=O(2
n
),A2
的时间复杂度为 T2=O(n
2
),仅就时间复杂度而言,请具体分析这两个算法哪
一个好?
【解答】对算法 A1 和 A2 的时间复杂度 T1 和 T2 取对数,得 nlog2 和 2logn。显
然,当 n<4 时,算法 A1 好于 A2;当 n=4 时,两个算法时间复杂度相同;当 n>4
时,算法 A2 好于 A1。
7. 选择题:算法分析的目的是( )
A、找出数据结构的合理性 B、研究算法中的输入和输出的关系
C、分析算法的效率以求改进 D、分析算法的易懂性和文档特点
【解答】C
二、算法设计题
8. 已知输入 x,y,z 三个不相等的整数,设计一个“高效”算法,使得这三个
数按从小到大输出。“高效”的含义是用最少的元素比较次数、元素移动次数和

3 / 11
输出次数。
void Best()
{ //按序输出三个整数的优化算法
int a,b,c,t;
scanf(“%d%d%d”,&a,&b,&c);
if(a>b)
{t=a; a=b; b=t:} //a 和 b 已正序
if(b>c)
{t=c; c=b; //c 已到位
if(a>t) {b=a; a=t;} //a 和 b 已正序
else b=t;
}//if
printf(“%d,%d,%d\n”,a,b,c);
//最佳 2 次比较,无移动;最差 3 次比较,7 个赋值
}
9.在数组 A[n]中查找值为 k 的元素,若找到则输出其位置 i(1≤i≤n),否则输
出 0 作为标志。设计算法求解此问题,并分析在最坏情况下的时间复杂度
【题目分析】 从后向前查找,若找到与 k 值相同的元素则返回其位置,否则返
回 0。
int Search(ElemType A[n+1], ElemType k)
{i=n;
wile(i>=1)&&(A[i]!=k)) i--;
if(i>=1) return i;
else return 0;
}
当查找不成功时,总的比较次数为 n+1 次,所以最坏情况下时间复杂度为 O(n)。
剩余10页未读,继续阅读
资源评论


Enthralled
- 粉丝: 6
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 如何构建高质量的高中计算机课堂.docx
- 课程设计-十字交通灯plc自动控制.doc
- 基于大数据的脑卒中复发预测模型的构建.docx
- 机房网络视频监控解决方案.doc
- 自动化控制工程技术发展分析.docx
- 论对计算机网络安全及建设的研究.docx
- 网络安全漏洞检测技术研究及应用.docx
- 基于C51单片机的烟雾报警器设计13原版.doc
- 办公自动化快捷键的应用.ppt
- VMWare-vSAN-Ready-Node-Configurator-for-Hardware.xlsx
- 计算机基础教育现状与教学改革思路初探.docx
- 大数据时代下化工企业财务管理信息化建设.docx
- EcuBus-Pro-硬件开发资源
- 大数据环境下高校计算机专业教师创新能力的提升.docx
- 现代机械制造业自动化工程技术管理探究.docx
- PHP成绩管理-.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
