目录
一.学习数据结构的意义
1.提高编程能力,使解决的现实问题抽象化成具体的程序实现方式;
2.使程序的执行效率高,可维护性和可读性好,可复用性高。
二.解读数据结构
1.什么是数据结构
(1)定义:
数据结构研究计算机数据间关系;
包括数据的逻辑结构和存储结构及其操作;
(2)补充概念
⭕数据(Data): 数据即信息的载体,是能够输入到计算机中并且能被计算机识别、存储和处理的符号总称。
⭕数据元素(Data Element): 数据元素是数据的基本单位,又称之为记录(Record)。一般,数据元素由若干基本项(或称字段、域、属性)组成。
产品编号 | 产品名称 | 规 格 | 出厂日期 | …… |
0001 | TV | 29 | 1999/09 | …… |
2.数据结构的逻辑结构
(1)定义:逻辑结构表示数据运算之间的抽象关系;
按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为:
“线性结构”和“非线性结构”两大类。
线性结构:一个对一个,常见的有线性表、栈、队列
非线性结构:一个对多个和多个对多个,常见的有树形、图状
树形:
图状:
3.存储结构
(1)存储结构:逻辑结构在计算机中的具体实现方法。
存储结构是通过计算机语言所编制的程序来实现的,因而是依赖于具体的计算机语言的。因此考 虑存储结构的时候就在考虑具体的编程语言了
(2)几种存储方式:
⭕顺序存储(Sequential Storage): 将数据结构中各元素按照其逻辑顺序存放于存储器一片连续的存储空间中
如c语言的一维数组,如表 L=(a1,a2,……,an)的顺序结构
⭕(重点)链式存储:将数据结构中各元素分布到存储器的不同点,用地址(或链指针)方式建立它们之间的联系
数据结构中元素之间的关系在计算机内部很大程度上是通过地址或指针来建立的。
⭕索引存储:在存储数据的同时,建立一个附加的索引表,即索引存储结构=数据文件+索引表。
⭕散列存储:根据数据元素的特殊字段(称为关键字key),计算数据元素的存放地址,然后数据元素按地址存放
就是已知某些信息,然后用特定的计算方法来计算元素的存放地址
三.总结