一.数据结构的起源
计算机从解决数值计算问题到解决生活中的问题
现实生活中的问题涉及不同个体间的复杂联系
需要在计算机程序中描述生活中个体间的联系
数据结构主要研究非数值计算程序问题中的操作对象以及它们之间的关系,不是研究复杂的算法
二.数据结构的基本概念
数据 – 程序的操作对象,用于描述客观事物
数据的特点:
可以输入到计算机
可以被计算机程序处理
数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型。如:int,float,char等等
数据元素:组成数据的基本单位
数据项:一个数据元素由若干数据项组成
数据对象 – 性质相同的数据元素的集合
例:
struct _MyTeacher //一种数据类型 { char name[32]; char tile[32]; // 数据项 int age; // 数据项 char addr[128]; // 数据项 }; int main21() { struct _MyTeacher t1; // 数据元素 struct _MyTeacher tArray[30]; // 数据对象,可以理解为一个数组 memset(&t1, 0, sizeof(t1)); strcpy(t1.name, "name"); strcpy(t1.addr, "addr"); // 数据项 strcpy(t1.tile, "addr"); // 数据项 t1.age = 1; }
数据元素之间不是独立的,存在特定的关系,这些关系即结构
数据结构指数据对象中数据元素之间的关系也就是研究元素与元素之间的关系
用图表表示如下:
三.数据的逻辑结构
指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。逻辑结构可细分为4类: