数据结构的分类 数据结构初学笔记( java)20.2.18

写这个文章的目的是记录学习内容,每天都会更新,如果有错误请及时指正,本人学习过程中是看的数据结构-java语言描述,第二版 刘小晶 杜选主编,如有冒犯请直接联系。

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。对于其理解,离不开数据的逻辑结构,数据的存储结构,数据的操作三部分。

逻辑结构是指各个数据元素的逻辑关系,是呈现在用户面前的,能感知到的数据元素的组织形式。
1)集合:除了“同属于一个集合”特征外,并无其他关系。
2)线性结构:数据元素之间存在着一对一的关系。如果结构非空,有且仅有一个开始结点和终端结点,开始结点没有前趋但是有后继,终端节点没有后继但是有前趋。
3)树形结构:数据元素之间存在着一对多的关系。即若结构非空,则有一个称之为根的结点,此结点无前驱结点,其余结点仅有一个前趋,所有结点都可以有多个后继。
4)图形结构:数据元素之间存在多对多的关系,即若结构非空,在这种数据结构中任何结点都有可能有多个前驱和后继。
有时候也可以将逻辑结构分为两大类,线性结构和非线性结构。其实,图,树,集合都属于非线性结构。

存储结构是从数据之间的逻辑关系来观察数据的,它与数据的存储无关,是独立于计算机外的。

1)顺序存储方式
顺序存储方式是指将所有的数据元素存储存放在一片连续的存储空间中,并使逻辑上相邻的数据元素其对应的物理结构也相邻,即数据元素的逻辑结构和物理结构相同。
2)链式存储方式
链式存储方式不要求将逻辑上相邻的数据元素存储在物理上相邻的位置,即数据元素可以存储在任何的物理位置上。一个数据元素所对应的存储表示两部分,其一部分是存放数据元素值本身,另一部分是用于存放表示逻辑关系的指针。
3)索引存储方式
4)散列存储方式

数据的操作:
创建:
销毁:
插入:
删除:
查找:
修改:
遍历:

我看有句话说的很好:
1)抽象出所求解问题中需要处理的数据对象的逻辑结构(数学模型)
2)根据所求解问题需要完成的功能特性实现对抽象数据的存储结构表述。
3)确定为求解问题而需要进行的操作或运算。

应把握逻辑结构和存储结构的区分与联系。
另外在实际练习上,若逻辑结构,存储结构,操作。三者有一样不同,数据结构则不同。

你可能感兴趣的:(数据结构的分类 数据结构初学笔记( java)20.2.18)