数据结构(考研)——day1
数据:描述客观事物的数和字符的集合
数据项:具有独立含义的数据最小单位,也称为字段或域。
数据结构:是指所有数据元素以及数据元素之间的关系,可以看作是相互之间存在着某种特定关系的数据元素的集合。
数据结构包括:数据的逻辑结构,数据的物理结构,数据的运算
数据的逻辑结构是从数据元素的逻辑关系上描述数据的,包括:集合、线性结构(一对一除第一个元素都有一个前驱,除最后一个都有一个后继)、树形结构(一对多) 、图形结构(多对多)
数据的存储结构:数据逻辑结构在计算存储器中的存储表示;有:顺序结构、链式结构、索引结构、散列结构
数据类型是一个值的集合和定义在此集合上的一组操作的总称
①原子类型:不可再分
②结构类型:可再分
抽象数据类型(ADT)抽象数据组织及与之相关的操作;用户进行软件系统设计时从问题的数学模型中抽象出来的逻辑数据结构,和逻辑数据结构上的运算,而不考虑计算机具体的存储结构和运算的额具体实现算法。
程序=数据结构+算法
算法:对特定问题求解步骤的一种描述,它是指令的有限序列
算法的特性:有穷性、确定性、可行性、有输入、有输出
算法设计的目标:正确性、可使用性、可读性、健壮性、高效率与低存储量需求
算法性能分析的方法:事后统计法,事前估算法
算法的执行时间取决于控制结构(顺序、分支、循环、)和原操作(指固有数据类型的操作)
一个算法中执行原操作的次数越少,其执行的时间就相对越少,执行原操作的次数越多,其执行时间就越多,即一个算法的执行时间可以由其中原操作的执行次数来衡量,
O(1)
空间复杂度:运行过程中临时占用的存储空间大小
递归的空间复杂度是O(n)