码迷,mamicode.com
首页 > 其他好文 > 详细

博客作业01-抽象数据类型

时间:2018-03-08 22:56:52      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:time   除法   一个   系统   判断   数据结构   没有   支持   模型   

一、作业内容(1分)

用ADT的抽象数据模型描述你的有理数数据类型

    ADT Rational{
        数据对象:D = {e1,e2|e1,e2为有理数}
        数据关系:R = {<e1,e2>,<e2,e3>}
        基本操作:
            InitRational(&t,v1,v2)
            DestoryRational(&T)
            Get(T,i,&e)
            Put(&T,i,e)
            Plus(T1,T2,&T3)
            Minus(T1,T2,&T3)
            Times(T1,T2,&T3)
            Divided(T1,T2,&T3)
    } ADT Rational

2.数据结构、函数说明(2分)

头/数据结构、函数说明:

技术分享图片

3.代码实现说明(4分)

判断有理数:

技术分享图片
说明:分母为0退出

函数加:

技术分享图片
说明:分母=T1分母×T2分母,分子=T1分子T2分母+T1分母T2分子

函数减:

技术分享图片
说明:分母=T1分母×T2分母,分子=T1分子T2分母-T1分母T2分子

函数乘:

技术分享图片
说明:分母=T1分母×T2分母,分子=T1分子*T2分子

函数除:

技术分享图片
说明:分母=T1分子T2分母,分子=T1分母T2分子

函数化简:

技术分享图片
说明:约去公约数,若有负数i变负

4.代码互评(选做,加分)

吴军霖化简代码

//求最大公约数 
    while(c){
        a=b;
        b=c;
        c=a%b;
    }
    //约分 
    T.e1/=b;
    T.e2/=b;
点评:吴某同学用辗转相除法得到最大公约数约分,与我各有优点

5.结果展示(2分)

技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

6.总结(1分)

谈谈你对数据结构及抽象数据类型的理解。

1.什么是数据结构?
百度百科上查过了,是没有标准的定义的,存在不同的表述。
教材上一般都这样称:说数据结构是相互之间存在一种或多种特定关系的数据元素的集合。而数据元素是指什么呢?数据元素(data element)是计算机术语。它是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项组成
2数据结构的作用?
用来模拟实际或抽象系统
3.什么是抽象数据类型?
抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。
4.如何选择正确的数据结构?

①考虑数据结构支持的操作的接口;

②数据结构的效率(占据多大空间,接口中的操作运行时间如何);

从以上两方面考虑,力求接近需求。

7.选做

博客作业01-抽象数据类型

标签:time   除法   一个   系统   判断   数据结构   没有   支持   模型   

原文地址:https://www.cnblogs.com/linyipeng/p/8506115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!