1、学科定义:一门研究非数值计算程序设计问题中计算机的操作对象以它们之间的关系和操作等的学科。
2、基本概念:
①数据:能被输入到计算机中,且能被计算机处理的符号的集合,是计算机操作对象的总称。
②数据元素:是数据的基本单位,也叫元素、记录。
③数据项:是组成数据元素的集、有独立含义、不可割分的最小单位,如:姓名、学号....
④数据对象:是性质相同的数据元素的集合。(可以是无限集、有限集、复合数据元素)
⑤数据结构
3、数据结构:
①定义:是相互之间存在一种或者多种特定关系的数据元素的集合。
②特点:数据元素集合相同,而其的关系不同。则构成的数据结构不同。
③内容:数据逻辑结构、数据的存储结构、数据的运算。
数据逻辑结构(两要素,数据元素和关系):集合结构、线性结构(一对一),树结构(一对多),图结构或者网状结构(多对多)。
数据的存储结构(存储节点的数据以及其之间的关系):顺序存储结构、链式存储结构、索引存储结构(建立附加索引表)、哈希散列存储结构(根据哈希函数与冲突方法确定节点位置)
数据的运算:对数据实施操作,例如检索、插入、删除、更新和排序等。
4、逻辑结构与存储结构的关系:
①线性≠顺序,其中线性是逻辑结构,顺序是存储结构。
②同一逻辑结构可以对应多种存储结构。
③同样的运算,在不同的存储结构中,其实现过程是不同的。
5、数据类型:
①抽象数据类型:数据元素集合以及定义在该集合上的一组操作,简称ADT
特征:数据抽象,强调的是其本质的特征和其所能完成的功能以及它和外部用户的接口;数据封装,将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。
6、算法的特性:有穷性、确定性、可行性、输入、输出(可以没有输入,但至少有输出,不然没有意义。)
7、算法的时间复杂度:
①一般用算法中语句被执行的次数来表示算法的时间效率。
②忽略次要语句的执行次数,只对重要的语句和执行最频繁的语句进行计数,同时对计算结果只取最高次幂忽略系数不写!!!用大O表示。例如:
③没有循环的算法的基本运算次数与问题规模n无关,记作O(1),也称常数阶。
④只有一个循环的算法基本运算次数与问题规模n的增长呈线性增大关系,记作O(n),称线性阶;
还要平方阶、立方阶、对数阶、指数阶等。
大小关系: