ADT(abstract data types)抽象数据类型
1、What is it?
An abstract data type is a set of objects together with a set of operations.
抽象数据类型是带有一组操作的一组对象的集合。
ADTS=objects+operations
2、How to define?
ADT Name
Describe of data;
Operations;
End ADT
Operations description: Name(parameter list)
Input: data used to input
Output: data used to output
Pre-condition: if the condiont my not be satisfied, the operation may not be correct Post-condition: The status after the operation be executed
3、Example
ADT Bigint
Data
n: 0..2^54-1
Operations: addone
Pre-condition: n+1<2^54;
Post-condition: n=n+1; subone
Pre-condition: n>0;
Post-condition: n=n-1; mult(x,y)
Input: (x:Bigint);
Output: (y:Bigint);
Pre-condition: n*x.n<2^54;
Post-condition: y.n=n*x.n;
End ADT
ADT(abstract data types)抽象数据类型的更多相关文章
- 第十二章Fundamental Data Types 基本数据类型
目录: 12.1 数值概论 12.2整数 12.3浮点数 12.4 字符和字符串 12.5布尔变量 12.6枚举类型 12.7具名常量 12.8数组 12.9创建你自己的类型 12.1 数值概论 ...
- Abstract Data Types in C
Interface declares operations, not data structure Implementation is hidden from client (encapsulatio ...
- Core Java Volume I — 3.3. Data Types
3.3. Data TypesJava is a strongly typed language(强类型语音). This means that every variable must have a ...
- Oracle Schema Objects——Tables——Oracle Data Types
Oracle Schema Objects Oracle Data Types 数据类型 Data Type Description NUMBER(P,S) Number value having a ...
- 抽象数据类型ADT
ADT(Abstract Data Type) 类型由什么组成? 一个类型(type)指定两类信息,一个属性集和一个操作集. 假设要定义一个新的数据类型.首先,要提供存储数据的方式,可能是通过设计一个 ...
- 抽象数据类型(ADT)
抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在这个模型上的一组操作.抽象数据类型的定义仅仅取决于它的一组逻辑特性,而与它在计算机中的表示和实现无关. 例如,in ...
- Entity Framework Code First (七)空间数据类型 Spatial Data Types
声明:本文针对 EF5+, Visual Studio 2012+ 空间数据类型(Spatial Data Types)是在 EF5 中引入的,空间数据类型表现有两种: Geography (地理学上 ...
- 一、spark 数据类型(Data Types)
Data Types - MLlib(数据类型) MLlib支持存储在单机上的局部向量和局部矩阵,也可以支持通过一个或多个RDD(可伸缩数据集)表示的分布式矩阵.局部向量和局部矩阵是用作公 ...
- 【12c】扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE
[12c]扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE 在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的 ...
随机推荐
- Python基础篇-day11 - 协程
本节主要内容: 1.Gevent协程2.Select\Poll\Epoll异步IO与事件驱动3.RabbitMQ队列 1.Gevent协程 1.1协程的好处 无需线程上下文切换的开销无需原子操作锁定及 ...
- 利用StringBuffer向字符串特定的重复子字符串插入数据
public class InsertDetail { public void insertInvoiceDetail(StringBuffer sb, String Label, String ...
- LINQ To SQL 处理 DateTime?
LINQ To SQL 处理 DateTime? 类型 例子: 搜索栏含有最后扫描时间的日期(DateTime?)与多个其他条件(String) 现在需要写一个查询 : 查询符合最后扫描的日期的查询 ...
- Ubuntu操作相关笔记
Eclipse添加图标 #sudo vim /usr/share/applications/eclipse.desktop 写入以下内容 [Desktop Entry] Name=Eclipse Co ...
- loadrunner 日志
loadrunner 日志包括两个部分 1.在VUGEN中运行后的日志,日志存放在脚本目录下output.log2.在controller中运行后的日志, result setting 设置目录 1. ...
- c#笔记之启动新线程
可已通过下面方法来启动一个新线程并执行相应的方法 new Thread(new ThreadStart(new Action(() => { ...
- 苹果dock效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- MT4 图表上设置字符
; int start() { //---- ObjectCreate(, , ); string str = "<"; string show ; ;i<x;i++) ...
- chapter9_4 非抢占式的多线程
协同程序与常规的多线程不同之处:协同程序是非抢占式的. 当一个协同程序运行时,是无法从外部停止它的.只有当协同程序显式地调用yield时,它才会停止. 当不存在抢先时,编程会变得简单很多,无须为同步的 ...
- tomcat的事件监听
//事件涉及的三个组件:事件源.事件对象.事件监听器 //一个总的事件监听器接口,所有不同分类的事件监听器都继承这个接口 public interface EventListener {} //例如 ...