数据结构1-基本概念


基本概念和术语

  1. Data(数据):所有能被输入到计算机,并被计算机处理的符号集合。可以是数值,也可以是照片,音频。
  2. Data Element(数据元素):数据的基本单位,作为一个整体考虑或处理。
  3. Data Item(数据项):分为初等项和组合项。初等项是不可分割的最小识别单位;组合项可以在被划分为更小的项。
  4. Data Structure(数据结构):相互间存在一种或多种特定关系的,具有相同特征的数据元素的集合。有静态和动态之分。 D a t a S t r u c t u r e = { D , R , M } Data_Structure= \{D,R,M \} DataStructure={D,R,M},其中D是数据元素的有限集合,R是集合中所有数据成员之间关系的有限集合,M是作用在该集合数据成员上的操作。不同的关系构成不同的数据结构,这些关机成为数据的逻辑结构,各种逻辑结构在计算机内的存储和表示是物理结构。同一种逻辑结构可以有不同的物理结构。数据的逻辑结构属于用户级视图,是面向问题的,而存储结构属于具体的实现级视图,是面向计算机的。通常用户使用接口操作集,访问逻辑结构,然后通过私有操作集,映射到物理结构上。
  5. 数据的存储结构:顺序存储,链接存储,索引存储,散列存储

抽象数据类型(ADT)

特征一:数据抽象。强调实体的本质特征,其所能完成的功能,以及它和外部用户的接口
特征二:数据封装。将实体的外部特征和其内部实现细节分离,并且对外部用户隐藏其内部的实现细节。

算法的渐进分析(大O表示法)

随着问题规模n的增长,算法的执行时间T(n)的增长率和f(n)的增长率相同时,就可记作 T ( n ) = O ( f ( n ) ) T(n)=O(f(n)) T(n)=O(f(n)),称作算法的渐进时间复杂度。
加深一下指数时间关系的印象: O ( 2 n ) < O ( n ! ) < O ( n n ) O(2^n)<O(n!)<O(n^n) O(2n)<O(n!)<O(nn)
但是,如果基本语句的执行次数不仅仅与问题的规模有关,则需要分最好情况,最坏情况,平均情况进行讨论。在计算平均情况时,我们假定输入数据是等概率分布的,进而分析算法的平均复杂度。

算法的空间复杂度

算法空间包括固定空间(输入数据,结果数据,代码程序所需要的空间)和可变空间(中间结果,递归调用所需要的空间)。
我们分析的算法空间复杂度,就是对算法所需的辅助空间度量。
假如随着问题规模 n n n的增长,算法运行所需的辅助空间 S ( n ) S(n) S(n)的增长率和 g ( n ) g(n) g(n)的增长率相同时,则记作 S ( n ) = O ( g ( n ) ) S(n)=O(g(n)) S(n)=O(g(n)),称 O ( g ( n ) ) O(g(n)) O(g(n))为算法的空间复杂度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值