抽象数据类型(ADT)和数据结构与算法的区别之间的区别是什么

数据结构的定义?_百度知道
数据结构的定义?
我有更好的答案
组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率的算法。数据结构往往同高效的检索算法和索引技术有关数据结构是计算机存储
企业实体法:即从企业实体(如顾客、产品、材料及人员等)之中,抽象出联系于每个实体生命周期阶段的各种数据业务过程法:即应当从各项业务过程的角度将与该业务过程相关的输入数据和输出数据按逻辑相关性整理出来,然后进行合并与归纳,从而得到所需要的数据类
一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。
  数据结构在计算机科学界至今没有标准的定义。个人根据各自的理解而有不同的表述方法:  Sartaj Sahni 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。  Clifford A.Shaffer 在《数据结构与算法分析》一书中的定义是:“数据结构是 ADT(抽象数据类型 Abstract Data Type) 的物理实现。”  Lobert L.Kruse 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。  
___数 据结构定义一、数 据 元素集合(也可称数据对象)中各元素的关系。定义二、相互之间存在特定关系的数 据 元素集合。数
据结构的种类:特征 示例 集合 元素间为松散的关系线性结构 元素间为严格的一对一关系 如上面的成绩表中各元素 树形结构 元素间为严格的一对多关系图状结构(或网状结构) 元素间为多对多关系
其他2条回答
为您推荐:
其他类似问题
数据结构的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&&&&1抽象数据类型和数据结构的关系
&&&&抽象数据类型(ADT)是一种比数据结构处于更高抽象层的数据类型,ADT使用数据结构来实现。
&&&&2数据类型的定义和应用于数据的操作定义是ADT背后的一部分概念,隐藏数据上的操作是如何进行的。
&&&&3分类:简单抽象数据类型和复杂抽象数据类型
&&&&简单ADT:整数、实数、字符、指针;
&&&&复杂ADT:需要建立。不需要详细说明实现过程的泛化操作成为抽象。
&&&&抽象概念意味着:
&&&&①知道一个数据类型能做什么;
&&&&②如何去做是隐藏的。
&&&&抽象数据类型就是与对数据类型有意义的操作封装在一起的数据声明。然后,用它封装数据和操作并对用户隐藏。
&&&&抽象数据类型:
&&&&①数据的定义;
&&&&②操作的定义;
&&&&③封装数据和操作。
&&&&5抽象数据类型的模型
&&&&抽象数据类型的模型分两个部分:数据类型和操作函数(公有的和私有的);
&&&&①数据结构(如数组、链表)在抽象数据类型里面,被公有和私有操作使用;
&&&&②应用程序只能通过接口访问公有操作;
&&&&③私有操作是抽象数据类型的内部用户使用的;
&&&&④虽然公有操作和接口应该独立于实现,但私有操作依赖于抽象数据类型实现时所选择的数据类型。 & &
&&&&6抽象数据类型的实现
&&&&计算机语言不提供抽象数据类型包。要使用抽象数据类型,首先要实现它们,把它们存储在库中。
&&&&7几种复杂的数据类型
&&&&②队列
&&&&③广义线性表
&&&&④树(二叉树、二叉搜索树)
&&&&1栈的定义
&&&&栈是一种限制线性列表,该类型表的添加和删除操作只能在一端实现,称为栈顶。
&&&&倒转的属性是栈被称为后进先出数据结构的原因。
&&&&2栈的操作
&&&&①建栈
&&&&②入栈
&&&&③出栈
&&&&3栈的抽象数据类型
&&&&4栈的应用
&&&&①倒转数据
&&&&②配对数据
&&&&③数据延迟使用
&&&&④回溯步骤
&&&&5栈的实现
&&&&①使用数组实现:有带两个域的记录
&&&&②使用链表实现:有一个有栈名字的额外节点
&&&&1队列的定义
&&&&2队列的操作
&&&&3队列的抽象数据类型
&&&&4队列的应用
&&&&5队列的实现
4、广义线性表
&&&&1广义线性表的定义
&&&&2广义线性表的操作
&&&&3广义线性表的抽象数据类型
&&&&4广义线性表的应用
&&&&5广义线性表的实现
5、树的基础知识
&&&&1二叉树的递归定义
&&&&2二叉树的操作
&&&&3二叉树的应用
&&&&4二叉树的实现
7、二叉搜索树
&&&&1二叉搜索树的定义
&&&&2二叉搜索树的抽象数据类型
&&&&3二叉搜索树的实现
&&&&1图的定义
&&&&2图的应用
阅读(...) 评论()抽象数据类型_中国百科网
抽象数据类型
    
通过定义相关的函数来给出。”他将数据对象(dataobject)定义为“一个数据对象是实例或值的集合”。 CliffordA.Shaffer在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型...
收录时间:日 18:25:28 来 源:未知作者:匿名
上一篇: &(&&)
创建分享人
Copyright by ;All rights reserved.到底什么是数据结构(3)
数据结构之逻辑结构
数据结构是指相互之间具有一定联系的数据元素的集合。元素之间的关系称为逻辑结构。数据元素之间的逻辑关系有四种基本类型。
(1)集合:结构中的数据元素“同属于一个集合”,并没有其他关系。
(2)线性结构:结构中的数据元素之间存在一对一的关系。
(3)树形结构:结构中的数据元素存在一对多的关系。
(3)图状结构或者网状结构:结构中的数据元素存在多对多的关系。
上图分别是四种基本结构的示意图。
数据逻辑结构层次关系图:从此图可以很明显的看出数据结构一书所讲的各种内容之间的关系。
数据结构之存储结构
我们都知道一种数据结构包括数据元素和元素之间的关系。所以数据结构在计算机内存中的存储包括数据元素的存储和元素之间的关系的表示。元素之间的关系在计算机中有两种不同的表示方法:顺序表示和非顺序表示。由此得出两种不同的存储结构:顺序存储结构和链式存储结构。
顺序存储结构:用数据元素在存储器中的相对应的位置来表示元素之间的逻辑关系。数据元素存放的地址是连续的。在C中用一维数组表示。
链式存储结构:在每一个数据元素中增加一个存放另一个元素地址的指针。用该指针来表示数据元素之间的逻辑关系。数据元素的存放的地址是否连续没有要求。在C中用结构体表示链式存储结构。
数据结构之抽象数据类型
抽象数据类型(ADT)是指一个数学模型和定义在该模型上的一组操作。ADT的形式化定义为:ADT=(D,S,P).其中D是数据对象,S是D上的关系集,P是对D的基本操作集。它可以把数据的描述(数据元素的定义和关系)和对应的操作封装在一起。抽象是指它强调数据的逻辑结构,只关心可以进行哪些操作并不关心它的实现,相当于只对数据规定了操作接口。一般形式如下:
抽象数据类型名{
数据对象{数据对象的定义}
数据关系{数据关系的定义}
基本操作{基本操作的定义}
}ADT 抽象数据类型名
总结:抽象数据类型对C语言来说相当于:结构体+基本操作。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。数据结构概念总结_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据结构概念总结
&&数据结构,严蔚敏版,书上所有概念总结
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 数据结构 算法 区别 的文章

 

随机推荐