什么是数据结构? ??
学好数据结构首先要明白数据结构是什么。
数据结构是研究计算机数据之间的关系,包括数据的逻辑结构和存储结构及其操作。
我们首先区别一下数据跟数据元素。
数据(data): 数据即信息载体
数据元素:数据元素是数据的基本单位(记录)
逻辑结构:表示数据运算之间的抽象关系
分为集合,线性结构(线性表,栈 ,队列) 非线性结构(树形结构,图形结构)
存储结构是什么
存储结构:逻辑结构在计算机中的具体实现方法
1.顺序存储(sequential Storage):将数据结构中将各元素按照其逻辑顺序存放于一片连续
存储空间中 (缺点:删除或者插入数据复杂,需要一片连续存储空间)
2.链式存储(重要):将数据结构中各种元素分布到存储器的不同点,用地址或链指针方法建立它们之间的联系
3.索引存储:在存储数据的同时,建立一个附加的索引表 即索引存储结构=数据文件+索引表 (类似电话簿)索引表类似目录
4.散列存储:根据数据元素的特殊字段(key)计算数据元素存放地址,然后根据元素地址按地址存放数据
注:线性表的顺序存储叫顺序表,线性表的链式存储叫链表
线性表之单链表(重要):将线性表中各元素分布在存储器的不同存储块。称为结点
通过地址或指针建立元素之间的联系
线性表之双链表:每一个链表中既有前驱节点也有后继节点
栈(特殊线性表):栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈)
运行进行操作的一端称为栈顶 ,另一端固定的称为栈底。特点后进先出(LIFO)
队列:队列是限制在两端进行插入操作和删除操作的的线性表,允许进行存入操作的一端为队尾
允许进行删除操作的一端称为队头。特点:先进先出(FIFO)
树:树是由n个节点的有限集合T,它满足二个条件:有且仅有一个特定的根(root)的节点其余的节点可以分为m(m>0)个互不相交的有限集合T1,T2,Tn....其中每一个集合是一颗树,其称为根的子树。
更新ing。。。。。