抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在这个模型上的一组操作。抽象数据类型的定义仅仅取决于它的一组逻辑特性,而与它在计算机中的表示和实现无关。
抽象数据类型有两个重要特征:数据抽象和数据封装
抽象数据类型在定义时遵循一定的格式规范:
ADT 抽象数据类型名
{
Data:
数据元素之间逻辑关系的定义;
Operation:
操作1;
操作2;
…
}
算法(Algorithm)是解决特定问题的步骤描述,通俗的来讲,算法就是描述解决问题步骤的方法。
一个成熟的算法应该有以下五种特性。
1、时间复杂度——大O标记法
(1)用常数1取代运行中的所有加法常数。
(2)在修改后的运行次数函数中,只保留最高阶项。
(3)如果最高阶项存在,且不是1,则除去其常系数,得到的结果就是大O阶。
2、空间复杂度
空间复杂度是对一个算法在运行过程中所占存储空间大小的度量,一般也作为问题规模n的函数,以数量级形式给出:
S(n) = O(f(n))
算法与数据结构
(1)对数据的描述:在程序中指定用到哪些数据以及这些数据的类型和数据的组织形式,也就是数据结构。
(2)对数据操作的描述:即操作步骤,也就是算法。
如需查看之前数据结构内容链接如下:
关注微信公众号“嵌入式软件开发学习圈”获取更多嵌入式学习资讯
如需获取更多的学习资料,直接在微信公众号下方留言