您的位置:首页 > 理论基础 > 数据结构算法

严蔚敏版_数据结构_第一章_习题

2017-06-12 12:02 316 查看
首先,补充一下看书过程中遗漏的知识点:

抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。若按照其值的不同特性,可细分为下列3种类型:

原子类型:属原子类型的变量的值是不可分解的。这类抽象数据类型较少,因为一般情况下,已有的固有数据类型足以满足需求。但有时也有必要定义新的原子数据类型,例如数位为100的整数。

固定聚合类型:属该类型的变量,其值由确定数目的成分按照某种结构组成。例如,复数是由两个实数依确定的次序关系构成。

可变聚合类型:和固定聚合类型想必,构成可变聚合类型“值”成分的数目不确定。例如,可以定义一个“有序整数序列”的抽象数据类型,其中序列的长度是可变的。

-后两者可统称为数据结构。

数据结构的形式定义为:数据结构是一个二元组

Data Structure = (D,S)
其中,D是数据元素的有限集,S是D上关系的有限集。


抽象数据类型可以用三元组表示

(D,S,P)

其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。

ADT抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT抽象数据类型名


其中,数据对象和数据关系的定义用伪码描述,基本操作的定义格式为

基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>


1.8 计算@的语句的频度
(4)题目:k=0;
for(i=1;i<=n;i++){
for(j=i;j<=n;j++)
@  k++;
}
答案:n+(n-1)+(n-2)+...+1=(n+1)*n/2

(6)题目:i=1;j=0;
while(i+j<=n){
@ if(i>j)j++;
else i++;
}
答案:n
这一题主要是不理解@处的if语句不管怎样都是要执行的,只要进入了while循环,它都会执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: