数据结构学习笔记—初识数据结构
文章目录
- 1、初识
- 2、逻辑结构
- 3、存储结构
- 3.1 顺序存储
- 3.2 链式存储
- 3.3 索引存储
- 3.4 散列存储
- 3.4 散列存储
1、初识
数据结构的开始:
- 1968年美国克努特教授开创了数据结构的最初体系;
- 计算机的圣经-《计算机程序设计的艺术》
- 荣获1974年度的图灵奖
数据结构的意义:
- 锻炼思维,提高编程能力
- 程序可复用性(效率)、可维护性、可读性
数据结构主要研究的是计算机数据间的关系,包括数据的逻辑结构和存储结构及其操作
数据(Data):
- 数据即信息的载体,是能够输入到计算机中并且能被计算机识别、存储和处理的符号总称。
数据元素(Data Element):
- 数据元素是数据的基本单位,又称之为记录(Record)。一般,数据元素由若干基本项(或称字段、域、属性)组成。
数据结构的三个方面
- 数据的逻辑结构
- 线性结构
- 线性表
- 栈
- 队
- 非线性结构
- 树形结构
- 图形结构
- 线性结构
- 数据的存储结构
- 顺序存储
- 链式存储
- 索引存储
- 链式存储
- 数据的运算:检索、排序、插入、删除、修改等
2、逻辑结构
表示数据运算之间的抽象关系
按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为“线性结构”和“非线性结构”两大类。
-
集合——数据元素间除“同属于一个集合”外,无其它关系
-
线性结构——一个对一个,如线性表、栈、队列
-
树形结构——一个对多个
-
图状结构——多个对多个
3、存储结构
存储结构:逻辑结构在计算机中的具体实现方法。
存储结构是通过计算机语言所编制的程序来实现的,因而是依赖于具体的计算机语言的。
3.1 顺序存储
将数据结构中各元素按照其逻辑顺序存放于存储器一片连续的存储空间中
- 如c语言的一维数组,如表 L=(a1,a2,……,an)的顺序结构
3.2 链式存储
将数据结构中各元素分布到存储器的不同位置,用地址(或链指针)方式建立它们之间的联系
数据结构中元素之间的关系在计算机内部很大程度上是通过地址或指针来建立的。
3.3 索引存储
在存储数据的同时,建立一个附加的索引表,即索引存储结构 = 数据文件 + 索引表。
3.4 散列存储
根据数据元素的特殊字段(称为关键字key),计算数据元素的存放地址,然后数据元素按地址存放(适合于查找频率高的)
3.4 散列存储
根据数据元素的特殊字段(称为关键字key),计算数据元素的存放地址,然后数据元素按地址存放(适合于查找频率高的)