数据结构-数据结构绪论

这几天在书店看书看见一本叫数据结构的书感觉蛮好的!想学习一下。

首先说下基本概念和术语:

说道数据结构是什么,先来谈谈什么叫数据。

数据:是描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。

 

 

按照视点的不同,把数据结构分为,逻辑结构和物理结构。

逻辑结构:是指对象中数据元素之间的相互关系。逻辑结构分以下四种

1.集合结构:集合结构中的数据元素除了同属于一个集合外,他们之间没有其他关系。各个元素之间是平等的,他们共同的属性是同属于一个集合

                                                                         

2.线性结构:数据元素之间是一一对应的关系。

                                                            

 

3.树形结构:树形结构中的数据元素之间存在一种一对多的层次关系

                                                               

4.图形结构:图形结构的数据元素之间是多对多的关系

                          

 

逻辑结构是针对具体问题的,是为了解决某个问题,在对问题理解的基础上,选择一个合适的数据结构表示数据元素之间的逻辑关系。

物理结构:(也称存储结构)

指的是数据的逻辑结构在计算机中的存储形式。

数据的存储结构应正确的反映数据元素之间的逻辑关系,这才是最为关键的,如何存储数据元素之间的逻辑关系是物理结构的重点和难点。

 

数据元素的存储形式有两种:顺序存储和链式存储

1.顺序存储结构:是吧数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的

 

这种存储结构其实很好理解,说白了就是排队占位。大家都按顺序排好,为个人占居一小段空间,大家谁也别插谁的队。

如果就是这么简单和有规律那就好了,可实际上,总会有人插队,也会有人要做别的事,会有人放弃排队。所以这个队伍就会有添加新成员和去掉老成员,整个结构就处于变化中。显然面对这样变化的的结构,顺序存储时不科学的。

2.链式存储结构:是把数据元素放在任意的存储单元中,这组存储单元可以是连续的,也可以是不连续的。

数据元素的存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址,这样通过地址就可以找到相关联数据元素的位置。

                                 

 

抽象数据类型

数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

 

C语言中,按照取值的不同,数据类型可分为2类:

1.原子类型:是不可再分的原子类型,包括整形,实型,字符型等。

2.及认购类型:有若干个人类型组合而成,是可以载分解滴。如整形是由若干个整形数据组成的。

话说无论什么计算机什么计算机语言,大家都面临着如证书运算,实数运算,字符运算等操作。我们可以考虑把他们抽像出来。

 

抽象是指抽取事物普遍性的本质

它是抽出问题的特征而忽略非本质的细节,是指针对事物的一个概念,抽象是一种思考问题的方式,它隐藏了繁杂的细节,只保留实现目标所必须的信息。

抽象数据类型:是指一个数学模型寄定义在该模型上的一组操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2014-03-24 14:49  那些年的疯狂  阅读(159)  评论(0编辑  收藏  举报