第二章 2.2 什么是抽象数据类型?
计算机科学建立在许多经典的公理之上,而抽象是其中最重要的一个。
语言的发展就是一种抽象的产物。新的简写记号能表达更广泛的概念。
一条c语句平均代表10条汇编。一条c++平均代表3条c语句。
汇编语言也包含了有用的抽象,难以察觉的是,就是“内存”与“寄存器”的概念,也是抽象,否则就要表示无数个门电路的状态变换。
文件也是抽象,你摸不着,打开硬盘也看不见,不是物理存在的。
malloc函数实现的动态内存的概念也是抽象。
————————————————————————————
程序的目的,从广义上讲,就是为了模拟现实世界。
而计算机也只能存储与处理各种数据。
因此我们需要有一种方法,可以把现实世界的问题映射到计算机里去。
在数学领域,有一种基本理念,即“万物皆数”,世界上的一切东西,都可以用各种数据来进行描述。
于是人们的重心就转向为寻找现实问题与数据的映射关系。
这种映射关系,就是现在所说的抽象数据类型。
抽象数据类型==现实问题与计算机里数据描述的映射。
抽象数据类型听起来有些绕口,可以把“抽象”理解成"想象"。
为什么需要想象呢?
因为每个人对问题的观察角度不同,需求不同,这种映射方式并没有一个"真理”性的标准。
比如人们出门旅游这个问题,有些人关注的是安全性,有些人关注的是花费,有些人关注的是效率。
不同的关注点,自然带来不同的需求,也就产生了不同的映射。
显而易见,每一种映射都是现实中某个问题的片面化描述。
所以某个具体的数据类型,对被描述的那个“问题”来说,仅仅是它的某一个方面特征。
如果改变关注点,改变了需求,意味着映射方式被改变了,那么这个具体的数据类型也就不再适用。
算法要想发挥作用,必然是依托于某个数据结构之上的(已经确定了映射方式)。
算法设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构。
第二章 2.2 什么是抽象数据类型?相关推荐
- 第二章:Java面向对象:抽象(abstract)类、模板方法设计模式、接口(interface)、关键字-implements(实现)、代理模式
package com.atguigu.java; /** Abstract关键字的使用:* 1.abstract:抽象的* 2.abstract可以用来修饰:类.方法* * 3.abstract 修 ...
- 计算机技术的应用 课件,计算机技术及应用基础――第二章ppt课件
<计算机技术及应用基础――第二章ppt课件>由会员分享,可在线阅读,更多相关<计算机技术及应用基础――第二章ppt课件(64页珍藏版)>请在人人文库网上搜索. 1.第二章 VB ...
- 抽象数据类型Polynomial 的实现(第二章 P40-43 算法2.22,2.23)
抽象数据类型Polynomial 的实现,多项式的加法.乘法 typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ typedef int B ...
- 第二章:深入C#数据类型
封装: 官方定义: 封装又称信息隐藏,是指利用抽象数据类型(自定义类UserInfo)将数据和数据的操作结合在一起,使其构成一个不可分割的独立实体,尽可能的隐藏内部的细节,只保留一些对外接口,使之于外 ...
- c语言程序设计课件第二章,c语言程序设计课件张元国 ISBN9787566300386 PPT第二章数据类型 运算符与表达式...
1.第2章 数据类型.运算符与表达式,语言的数据类型 常量与变量 运算符与表达式 不同类型数据间的转换,2.1语言的数据类型,数据是计算机程序处理的所有信息的总称,数值.字符.文本等都是数据,在各种程 ...
- 【C语言】第二章 信息编码与数据类型 题解
第二章 信息编码与数据类型 1.略 2.略 3.略 4.略 5.略 6.略 7.答案如下: (1)合法标识符:Long.int_a.sum.x001.computer.AGE._print.nCoun ...
- C语言(第二章):数据类型、运算符、表达式
.:.:第二章:数据类型.运算符.表达式:.:. 第二章: 数据类型.运算符.表达式 C语言的数据类型 在第一课中,我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后使用.对变量的说明可以 ...
- Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 1 第一节 原则 kiss 1 第二节 提升到层次哲学层次 1 第三节 命名也要通用抽象 隐藏细节 1 第二章 通用性原
Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 第一节 原则 kiss 第二节 提升到层次哲学层次 第三节 命名也要通用抽象 隐藏细节 第二章 通用性原则 扩展性 第一 ...
- C语言(苏小红)——第二章基本数据类型
C语言程序设计 第二章基本数据类型 文章目录 C语言程序设计 2.1 常量与变量 2.1.1 常量 (Constant) 2.1.2 变量(Variable) 2.2 简单屏幕输出 2.3 计算变量或 ...
最新文章
- LeetCode实战:二叉搜索树中第K小的元素
- cors在服务器还是接口_cors
- 永远不要在 Mysql 中使用 “utf8”
- shell脚本实现检測回文字符串
- java面向对象程序设计董小园_java面向对象程序设计(董小园版).doc
- Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考)
- 计算机操作系统笔记(四)
- POST的Response数据问题
- 【毕业设计】 基于STM32的人体红外测温枪温度采集系统
- 【阿里云产品使用教程】1. 阿里云VPC ECS SLB NAT初体验 - 上
- TPM分析笔记(二)TPM2.0 规范文档
- 抗体链接InP/ZnS量子点|量子点InP/ZnS表面修饰抗体偶联服务-齐岳生物
- 一步完成最小二乘法、递推最小二乘法、增广最小二乘法、广义最小二乘法、辅助变量法、二步法辨识(传递函数)
- CM3启动汇编文件详解
- 删除MacOS的升级文件
- Axure chrome插件安装
- Docker常用命令(基础)
- 奶爸日记15 - 轮船风景
- 逐梦高新,智赢未来,第四届顺德高新区运动嘉年华正式拉开序幕
- #GPA计算(python)