数据的艺术

程序设计的挑战 (1)利用计算机解决生活的问题 (2)生活中的不同个体存在联系,且关系复杂 (3)如何用计算机程序描绘生活中的个体以及个体之间的联系

计算机能接受处理的是数据,我们可以将数据写入到程序里,然后计算,因此,我们要考虑在程序里面如何用数据来描述客观的事物,来描述生活里面的个体,描述个体之间的关系。

数据的概念 数据在计算机里就是程序的操作对象,可以描述客观事物。 数据的特点 (1)可以输入到计算机 (2)可以被计算机程序处理

微观角度数据的新概念 (1)数据元素:组成数据的基本单位 (2)数据项:一个数据元素由多个数据项组成 (3)数据对象:性质相同的数据元素集合

数据实例分析

struct student                       //数据类型
{
		char* name;
		int age;
};

student s;                         //数据元素
studnet sArray[10];          //数据对象

s.name = "badog-yang";    //数据项
s.age = 18;                        //数据项

数据结构指数据对象中数据元素之间的关系 数据元素之间关系不是对立的,存在某种特定的关系,这些关系即结构。 如:数组中各元素之间存在固定的线性关系

在编写一个“好”的程序前,必须分析待处理问题中各个对象的特性,以及对象之间的关系。

逻辑结构 集合结构: 数据元素之间没有特别的关系,仅仅同属相同集合。 线性结构: 数据元素之间是一一对应的关系 树形结构: 数据元素之间存在一对多的关系 图形结构: 数据元素之间存在多对多的关系

物理结构 物理结构是逻辑结构在计算机中的存储形式 顺序存储形式: 将数据存储在地址连续的存储单元内 链式存储形式: 将数据存储在任意的存储单元 通过保存的地址找到相应的存储单元

数据结构是相互之间存在特定关系的数据元素的集合