数据结构与算法整理1——什么是数据和数据结构?(C语言)
目录
1、概念:数据结构,存储结构,逻辑结构
(注:磁盘文件管理系统是树状结构。)
1.1基本概念
(1)数据:指所有能够输入到计算机中并被计算机程序处理的符号的总称(图像声音都可以通过编码归于数据的范围),范围大
(2)数据项:数据的不可分割的最小单元 。
(3)数据元素:是数据的基本单位,有若干数据项组成,通常作为一个整体考虑。数据元素是组成数据的基本单位。
(4)数据对象:性质相同的数据元素的集合,是数据的一个子集。
四者之间的关系可以表示为下图:
举个栗子:对于表A和表B,内容如下图,其中,A表为成绩表,B表为学生信息表。
那么我们可以认为:这两张表就是数据;单独的一张表就称为数据对象,即A和B表都是一个数据对象;每张表中的每一行就称为数据元素;姓名,性别,身高,科目,分数就称为数据项。
1.2数据结构
数据结构的定义:相互之间存在一种或多种特定关系的数据元素的集合,这种关系包括三方面的内容,即数据逻辑结构,数据存储结构,数据的操作。
1.3算法及其特性
1.3.1算法的定义
算法的定义:描述求解问题方法操作步骤的集合。
(不是所有的程序都是算法,要满足五个特性)
1.3.2时间复杂度
定义:在算法分析中,一般用算法中的语句的执行次数来度量算法的时间效率,时间效率也就是时间复杂度。
计算方法:对于问题规模为n的某个函数f(n),算法时间复杂度记为T(n),存在一个正常数c,使cf(n)>T(n)恒成立,则T(n)=Of(n),称Of(n)为时间复杂度。
时间复杂度的大O表示法:保留最高次数项,令最高次数项的系数为1。例如O(8)->O(1),O(2n^3+2n^2)->O(n^3),O(n*log2 n)