您的位置:首页 > 理论基础 > 数据结构算法

数据结构第二天----名词意思的探索篇

2014-01-26 18:37 288 查看
昨天的我看的数据结构看的晕晕乎乎的,我一直再找为毛老是不理解!

后来,我反问了自己一个最基本的问题,到底什么是数据结构?!数据结构式干嘛的?!

我的脑海第一反应就是,好几个数据来以某种结构来排列起来这样来表达某种关系已达到解题的目的。而这种结构就被叫做数据结构。

到底是不是呢,那么又有一个问题到我脑子里了,那么,什么叫做抽象数据类型呢,那么又什么叫做数据类型呢,这种原理性的问题接踵而至,而我只能一个一个的解释给自己听,但是自己给的答案往往不能说服自己。

于是,我就在网上疯狂的的搜索到底什么叫做数据结构,什么叫做抽象数据类型,大多数的解释,我靠!跟书上差不多,什么数学模型,什么封装,都是一些有的没的,还是看不懂,于是就在别人的见解看,昨天看了别人的bolg,好像是有些明白了,只是说抽象数据类型就是把运算也加入了定义中。举例子就整形的数据类型,其实整形也算是抽象数据类型,因为,在定义整形的数据类型的时候,已经把他的运算也加入了定义里了,例如+、-、*、/,这时候我仿佛看到什么叫做抽象的数据类型。

好像是这样(仅个人观点)


这个就是数据类型

这个就是抽象数据类型

后来我继续探索,到底什么,到底抽象数据类型和数据结构有什么关系,难道真的是就是把好几个数据按某种结构组织起来?然后那个结构就是数据结构?关键是这个结构是干嘛用的!那么“线性表,栈,队列”什么的到底是抽象数据类型,还是数据结构?!

后来我又查资料的同时,疯狂的回想以前学长讲的栈什么的知识,据学长说,栈是一种思想(什么??)好吧,不能相信权威,何况学长还不是权威,最后功夫不负有心人,最后让我找出来,到底是什么是数据结构了,我一开始就想错了,数据结构的目的并不是为了完成我们所需要的目标的,它的目的是为了构建抽象数据类型的。有点不懂?看看下面我找到的资料吧

下文转载自soso知道

数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由哪些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,物理上的数据结构反映成分数据在计算机内的存储安排。数据结构是数据存在的形式。

数据是按照数据结构分类的,具有相同数据结构的数据属同一类。同一类数据的全体称为一个数据类型。在程序设计高级语言中,数据类型用来说明一个数据在数据分类中的归属。它是数据的一种属性。这个属性限定了该数据的变化范围。为了解题的需要,根据数据结构的种类,高级语言定义了一系列的数据类型。

(end)

所以我得到结论是,栈是一种抽象数据类型,和那些线性表(栈也是一种受限的线性表)、树一样的都是一种抽象数据类型,所以说数据结构不是用来解决最终问题的的,构建完就没事了,我们需要根据实际情况来构建我们需要的类型,然后利用我们定义的操作来完成我们的功能,学完数据结构的意思是说,同学你又有一大堆题要你做了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: