当前位置:首页 > 日记 > 正文

adt方法 | ADT函数

adt方法 | ADT函数

1. adt方法

抽象数据类型(Abstruct Data Type,简称ADT)是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。

抽象数据类型和数据类型实质上是一个概念。例如,各种计算机都拥有的整数类型就是一个抽象数据类型,尽管它们在不同处理器上的实现方法可以不同,但由于其定义的数学特性相同,在用户看来都是相同的。因此,“抽象”的意义在于数据类型的数学抽象特性。

但在另一方面,抽象数据类型的范畴更广,它不再局限于前述各处理器中已定义并实现的数据类型,还包括用户在设计软件系统时自己定义的数据类型。为了提高软件的重用性,在近代程序设计方法学中,要求在构成软件系统的每个相对独立的模块上,定义一组数据和施于这些数据上的一组操作,并在模块的内部给出这些数据的表示及其操作的细节,而在模块的外部使用的只是抽象的数据及抽象的操作。这也就是面向对象的程序设计方法。

抽象数据类型的定义可以由一种数据结构和定义在其上的一组操作组成,而数据结构又包括数据元素及元素间的关系,因此抽象数据类型一般可以由元素、关系及操作三种要

素来定义。抽象数据类型的特征是使用与实现相分离,实行封装和信息隐蔽。就是说,在抽象数据类型设计时,把类型的定义与其实现分离开来。

2. ADT函数

U=μlnm1/m2 (1)

U为火箭的速度;

μ为燃料相对于火箭的速度;

m1为火箭的点火前的质量;

m2为火箭的速度为U时的质量;

因为方便的原因,我这里所用的字母和我上篇关于火箭速度的博文所用的字母不同,但是意义相同。

对(1)式的等号两边同时对时间t求导数,得:

dU/dt= μd(lnm1-m2)/dt

因为m1是火箭点火前的质量,是定值,所以得到:

a=dU/dt=-μd(lnm2)/dt

m2是时间的函数,有:

a=-μd(lnm2)/dm * dm/dt

a=-μ/m2 * dm/dt

m2a=-μdm/dt

F=-μdm2/dt

m2表示的是火箭在任意时刻t的质量,我们用m表示。有:

F=-μdm/dt (2)

上式就是火箭所受到的推力,负号表示方向,即火箭的推力等于燃料相对于火箭的速率乘以单位时间内火箭质量的减少量,也可以这么描述:火箭的推力等于燃料相对于火箭的速率乘以火箭质量(时间的函数)对时间t的导函数。

我们对(2)式的等号的两边同时除以火箭的质量m,得到:

F/m=-μdm/mdt

a=-μdm/mdt

adt=-μdm/m

两面同时进行积分运算:

∫adt=-∫μdm/m

左边的积分区间是【0,t】,右边的积分区间是【m1,m2】,因为资源有限不能写在上式中,得到:

U=-μ(lnm2-lnm1)

U=μlnm1/m2

上式就是火箭的速度计算公式,可见火箭的速度计算公式和推力计算公式是可以互相推导得到的,是等价的

3. adapt adept

quite 相当 quiet 安静地

2) affect v 影响, 假装 effect n 结果, 影响

3) adapt 适应 adopt 采用 adept 内行

4) angel 天使 angle 角度

5) dairy 牛奶厂 diary 日记

6) contend 奋斗, 斗争 content 内容, 满足的 context 上下文 contest 竞争, 比赛

7) principal 校长, 主要的 principle 原则

8) implicit 含蓄的 explicit 明白的

9) dessert 甜食 desert 沙漠 v

4. 定义adt

一个模块有两部分组成:接口和实现。

接口指明模块要做什么,它声明了使用该模块的代码可用的标识符、类型和例程,实现指明模块是如何完成其接口声明的目标的,一个给定的模块通常只有一个接口,但是可能会有许多种实现能够提供接口所指定的功能。

每个实现可能使用不同的算法和数据结构,但是它们都必须符合接口所给出的使用说明。

客户调用程序是使用某个模块的一段代码,客户调用程序导入接口,而实现导出接口。

由于多个客户调用程序是共享接口和实现的,因此使用实现的目标代码避免了不必要的代码重复,同时也有助于避免错误,因为接口和实现只需一次编写和调试就可多次使用 实现 一个实现导出一个接口,它定义了必要的变量和函数以提供接口所规定的功能,在C语言中,一个实现是由一个或多个.c文件提供的,一个实现必须提供其导出的接口所指定的功能。

实现应包含接口的.h文件,以保证它的定义和接口的声明时一致的。 Arith_min和Arith_max返回其整型参数中的最小值和最大值:

int Arith_max(int x, int y) { return x > y ? x : y; } int Arith_min(int x, int y) { return x > y ? y : x; } Arith_div返回y除以x得到的商,Arith_mod返回相应的余数。

当x与y同号的时候,Arith_div(x,y)等价于x/y,Arith_mod(x,y)等价于x%

y 当x与y的符号不同的时候,C的内嵌操作的返回值就取决于具体的实现:

eg.如果-13/5=2,-13%5=-3,如果-13/5=-3,-13%5=2 标准库函数总是向零取整,因此div(-13,2)=-2,Arith_div和Arith_mod的语义同样定义好了:它们总是趋近数轴的左侧取整,因此Arith_div(-13,5)=-3,Arith_div(x,y)是不超过实数z的最大整数,其中z满足z*y=x。 Arith_mod(x,y)被定义为x-y*Arith_div(x,y)。

因此Arith_mod(-13,5)=-13-5*(-3)=2 函数Arith_ceiling和Arith_floor遵循类似的约定,Arith_ceiling(x,y)返回不小于实数商x/y的最小整数 Arith_floor(x,y)返回不超过实数商x/y的最大整数 完整实现代码如下:

arith.c 抽象数据类型 抽象数据类型(abstract data type,ADT)是一个定义了数据类型以及基于该类型值提供的各种操作的接口 一个高级类型是抽象的,因为接口隐藏了它的表示细节,以免客户调用程序依赖这些细节。下面是一个抽象数据类型(ADT)的规范化例子--堆栈,它定义了该类型以及五种操作:

stack.h 实现 包含相关头文件:

#include

5. adt例子

微分式,实际上就是把可变量的微分量视为线性关系

比如变速运动中的微量位移就是某时刻的速度乘以时间微分量

而变加速度中的微量速度就是某时刻的加速度乘以时间微分量

简单说就是在微分上理解 位移量=速度乘以时间 速度=加速度乘以时间

只不过都取变量的微分而已,

如果位移公式中速度还是变量,那就是要进行复杂微分的积分运算

而如果确定原函数公式,微分公式实际上等价于求导公式

因为定义的关系,

瞬间速度=微分位移/微分时间 v=ds/dt

瞬间加速度=微分速度变化/微分时间 a=dv/dt

瞬间变加速度程度=微分加速度变化量/微分时间 a'=da/dt

所以必须先明确其原公式,才可以对它求导函数

举简单例子来说,自由落体运动的位移和时间关系为s=gt^2/2

则v=s'=g*2t/2=gt

则a=v'=g 显然g就是重力加速度

6. Adapt用法

adapt from释义:

根据...改写(或改编)

改自

例句:

Adapt from third-party systems to Web services.

从第三方系统调整为Web服务。释义:

根据...改写(或改编)

改自

例句:

Adapt from third-party systems to Web services.

从第三方系统调整为Web服务。

adapt for 释义:

调整,使适合于;为…改编

例句:

To train or adapt for a purpose.

驯服,习惯于:为一目的而训练或使…适应。

7. ADT算法

1、数据结构:是指所有数据元素以及数据元素之间的关系,可以看作是相互之间存在某种特定关系的数据元素的集合。

2、结构体类型是由一组被称为结构体成员的数据项组成,每个结构体成员都有自己的标识符,也称为数据域。

3、抽象数据类型的两个特征:数据抽象:用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。

数据封装:将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。

4、算法时间复杂度:也称渐进时间复杂度,表示随问题规模的n的增大,算法执行时间的增长率和f(n)的增长率相同。

算法空间复杂度:是对一个算法在运行过程中临时占用的存储空间大小的度量。

5、顺序栈:

栈空的条件:s->top=-1

栈满的条件:s->top=MaxSize-1(data数组的最大下标)

元素e的进栈操作:先将栈顶指针top增1,然后将e元素放在栈顶指针处

出栈操作:先将栈顶指针top处元素取出放在e中,然后将栈顶指针减1

6、循环队列:

队空:front=rear

队满:(rear+1)%MaxSize=front

入队:rear=(rear+1)%MaxSize

出队:front=(front+1)%MaxSize

7、串的模式匹配原理:从主串的指定的起始位置字符开始和模式第一个字符比较,如果相等,则继续比较下一个字符,如果不等,则从主串的下一个字符开始和模式的第一个字符开始比较,以此类推,直到模式串所有字符都匹配完成,则匹配成功,否则,匹配不成功。

8、串的KMP算法原理:

模式串从右向左进行匹配。对于每个文本搜索窗口(其实就是主串中一个和模式串长度相等的子串,我们称之位一个文本搜索窗口),将窗口内的最后一个字符与模式串的最后一个字符进行比较。如果相等,则继续从后向前验证其他字符,直到完全相等或者某个字符不匹配。然后,无论匹配与否,都将根据在模式串的下一个出现位置将窗口向右移动。模式串与文本串口匹配时,模式串的整体挪动,是从左往右,但是,每次挪动后,从模式串的最后一个字符从右往左进行匹配。

8. adopt,adapt

adapt to是适应于……,adopt是采用,收养的意思。

9. adopt,adapt,adept

ab-加在词根前,表示"相反,变坏,离去"等  abnormal 反常的(ab+normal正常的)  abuse 滥用(ab+use用→用坏→滥用)  abduct 诱拐ac- = at; to,或表示加强意义  abbreviate 缩写,简化(ab+breviate缩短的→简化)  accompany 陪伴(ac+company伙伴→陪伴)ad-加在在单词或词根前,表示"做…,加强…"  adapt适应(ad+apt能力→有适应能力)  adept熟练的(ad+ept能力→有做事能力→熟练的)  adopt收养;采纳(ad+opt选择→选出来→采纳)  adhere坚持(ad+here粘→粘在一起→坚持)

10. adapt,adept,adopt

应该是ticket

ticket,“票”这个单词,这个单词是由两部分组成的,前面的tick就相当于stick,字母s被省略了,后面的et是一个名词后缀,表示“小东西”。

stick

释义: n. 杖,棍,棒 例句: Tell the boy not to swish the flower heads off with his stick. 告诉那小男孩别用棍子把花朵抽下来。 例句: He looks old and walks with a stick. 他看起来很老,走路

高考阅读理解与完形填空中容易混淆的单词总结

1)affect v影响,假装,effect  n结果,影响2)quite相当quiet安静地

3) adapt 适应,adopt采用,adept内行

4)angel天使,angle角度,

 5)dairy牛奶厂diary日记

 6)contend 奋斗,斗争,content内容,满足的,context上下文,contest 竞争,比赛

7) principal 校长,主要的,principle原则

8)implicit含蓄的,explicit明白的

9)dessert甜食,desert沙漠v放弃,dissert写论文

10)pat轻拍,tap轻打,slap掌击,rap敲,打 

11) decent正经的,descentn向下,血统descendv向下

12)sweet 甜的,sweat汗水

13) later后来,latter后者,latest最近的,latelyadv最近

14)costume服装,custom习惯

15)extensive广泛的,intensive深刻的 16)aural耳的,oral口头的 

17)abroad 国外 ,aboard上(船,飞机)

18)altar祭坛,alter改变

19) assent同意,ascent上升,accent 口音

20)champion冠军,champagne香槟酒,campaign战役

 21)baron男爵,barren不毛之地的 ,barn 古仓

22)beam梁,光束,bean豆,been,have过去式 

23)recede领先,proceed进行,继续

24pray祈祷.prey猎物

25)chicken鸡,kitchen厨房

26)monkey猴子,donkey驴 

27)chore 家务活chord,和弦cord细绳

28)cite 引用, site 场所 ,sight 视觉 

29) clash (金属) 幢击声,crash 碰幢,坠落, crush 坏

30)compliment赞美,complement附加,

31)confirm确认,conform使顺从

32)contact接触,contract合同,contrast对照

33)council议会,counsel忠告, consul领事

34)crow乌鸦,crown王冠,clown小cow牛

35)dose一剂药,doze打盹

36)drawn draw过去分词,drown溺水 

37)emigrant 移民到

国外,immigrant 从某国来的移民

11. ADT的定义及应用

adt是抽象数据类型的意思,是计算机科学中具有类似行为的特定类别的数据结构的数学模型;或者具有类似语义的一种或多种程序设计语言的数据类型。

抽象数据类型是描述数据结构的一种理论工具,其目的是使人们能够独立于程序的实现细节来理解数据结构的特性。

抽象数据类型的定义取决于它的一组逻辑特性,而与计算机内部如何表示无关。

相关文章

微信皮肤设置 | 微信皮肤设置微信

微信皮肤设置 | 微信皮肤设置微信

设置,界面,系统,主题,如何设置,1. 微信皮肤设置微信主界面皮肤点击微信右上角的三点,进入“设置”-“通用”-“聊天背景”,就可以设置统一的微信皮肤了。如果要专门针对聊天对象设置的话,则在聊天页面点击这个人,点击右上角的小人图案,设置当前…

电脑无法收索到打印机 | 电脑无法

电脑无法收索到打印机 | 电脑无法

搜索,连接,网络,收索,怎么回事,1. 电脑无法收索到打印机怎么回事找不到打印机是因为打印机的服务未启动,只需打开即可,点击电脑左下角的【开始】图标,然后点击打开【控制面板】。2打开控制面板后在计算机设置里点击打开【系统和安全】。3接着…

华为双屏怎么设置 | 华为双屏怎么

华为双屏怎么设置 | 华为双屏怎么

设置,双屏,显示,方法,华为,1. 华为双屏怎么设置手机可以采用三指分屏的方法。首先你打开华为手机的这个屏幕选中一个应用把它点开,然后你用三个手指从下向上快速一划,这样就可以在下面又打开了一个屏,在下面这个屏也可以再次打开一个应用,这样…

手机丢了怎么找回 | 手机丢了怎么

手机丢了怎么找回 | 手机丢了怎么

支付宝,电脑软件,1、如果您的手机丢失,优先建议您请求警方协助,同时冻结或解绑银行卡支付宝微信等账户并建议您及时联系运营商,停用相关功能,避免被他人使用通话短信功能而造成损失当然您也可以通过查找设备功能尝试找回您丢失的设备1。2、如果…

喜马拉雅电脑版官网 | 喜马拉雅电

喜马拉雅电脑版官网 | 喜马拉雅电

官网,音乐,喜马拉雅,不支持,有趣,1. 喜马拉雅电脑版官网没配音?喜马拉雅没有获得录音的权限是因为在登录账号时,没有设置给予喜马拉雅权限。打开【喜马拉雅】并登录,点击右下角【账号】。找到【我要录音】,点击【录音】图标开始录音,再次点击结…

手机地图导航 | 奥迪a4l连接手机地

手机地图导航 | 奥迪a4l连接手机地

导航,连接,奥迪,地图,电脑软件,由于机型不同,产品的设计理念价格适用人群等也是不一样的,各有优势,建议您根据需求及喜好选择合适的机型,同时也可以登录华为商城来参考选购自己喜爱的机型华为Mate20 手机不错的,手机参数如下1屏幕屏幕尺寸为;1在…

creo测量快捷键 | creo测量距离快

creo测量快捷键 | creo测量距离快

测量,快捷键,距离,点到面,电脑软件,1. creo测量距离快捷键有尖角或小R角的形状限制了2. creo5.0怎么测量距离右键属性进入绘图属性,找到CROSSEC-arrow length:设置箭头的长度的为5 crossec-arrow-style:设置截面箭头的显示形式为“tail-ONLI…

电脑设备序列号 | 电脑设备序列号

电脑设备序列号 | 电脑设备序列号

序列号,编号,设备,怎么看,台式电脑,1. 电脑设备序列号在哪里第一种:进入电脑桌面,右键单击“我的电脑”-“属性”,在系统属性中的“常规”选项卡中即可看到系统的注册序列号。第二种:进入电脑的“控制面板”界面,双击点开“系统”,在系统属性中的…

192.168.0.1设置 | 192.168.0.1设

192.168.0.1设置 | 192.168.0.1设

设置,登录,入口,电脑软件,1. 192.168.0.1设置入口连接该路由器的无线网络,通过手机浏览器登入。具体操作如下:1.首先打开手机WIFI,确认连接该路由器的无线网络;2.通过手机的浏览器输入198.168.1.1即可进入用户登陆系统。【192.168.1.1】:1. 【1…

信道如何设置 | 信道的设置目的

信道如何设置 | 信道的设置目的

信道,设置,方法,配置,调整,1. 信道的设置目的自动信道好。因为无线路由器可以根据网络干扰情况自动切换最优信道,最大程度的减少同信道干扰,以获得更好的上网体验。不需要人工干预,都是自动完成,所以非常方便快捷。而采用固定信道,无线路由器不…

bootcamp快捷键 | bootcamp工具在

bootcamp快捷键 | bootcamp工具在

工具,快捷键,下载,什么东西,助手,1. bootcamp工具在哪里 1、将U盘插入电脑,打开Mac 系统中的BootCamp 工具,在BootCamp 工具中点击选择。 2、接着就会进入到 BootCamp 的欢迎界面中,点击【继续】进行下一步。 3、你可以选择1)创建W…

电脑台帐建立 | 电脑台帐建立怎么

电脑台帐建立 | 电脑台帐建立怎么

系统,台帐,台账,账本,上做,1. 电脑台帐建立怎么建1、首先在电脑端打开excel软件,并打开一个电子表格软件界面,进行设置标题名称。 2、填写第一行电脑台账的名称后,然后进行设置电脑台账的序号。 3、在第一列填写好电脑台账的序号后,添加电脑台…