1、数据概述
起源:1968年美国 唐欧.克努特教授开创了数据结构的最初体系。他所著的《计算机程序设计技巧》是第一卷《基本算法》,是第一本系统的阐述数据结构。
三个阶段:
1、无结构阶段 2、结构化阶段——>图灵奖获得者沃斯的著名公式:程序=数据结构+算法
无结构阶段:程序设计技术以机器语言和汇编语言
3、面向对象阶段(80年代初期)
概念:数据是信息的载体,它能够被计算机识别,存档和加工处理。
数据分类:1、数值型数据(原子类型):整数、实数、布尔值(0或1等)
2、非数值型数据(结构类型):字符、声音、图像等
数据元素是数据的基本单位,在程序中通常作为一个整体进行考虑和处理。又可称为:元素、结点、顶点、记录等。 由数据项组成,能唯一标识数据元素的数据项称为关键项。
数据对象(Data object):性质相同的数据元素集合,是数据的一个子集,字符集和c={'A','B'}
数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。
数据结构的组成:1、逻辑结构:元素之间的相互联系称为逻辑结构:1、集合 2、线性结构 3、树形结构 4、图状结构或网状结构。
2、存储结构:数据元素在计算机中的存储及逻辑关系的表现。 分为:1、顺序存档 2、链接存储方法
抽象数据类型(Abstract Data Type,简ADT)指一个数学模型以及定义在该模型上的组
ADT是一组逻辑特性描述
ADT形式化定义三元组:ADT=(D、S、P)
算法:是对特定问题求解方法的一种描述,是指令的有限序列,每一条指令表示一个或多个操作。
算法特性:1、有穷性 2、确定性 3、可行性 4、输入 5、输出
算法时间复杂度:O(f(n)) 渐进复杂度:简称时间复杂度 O(i):常量时间阶 o(n) 线性时间阶O(logn)