数据结构基本概念:
(1)数据结构的研究对象
数据结构是一门讨论“描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中如何表示和实现”的科学。数据结构的内容包括三个“层次”的五个“要素”。
层次\要素 | 数据表示 | 数据处理 |
---|---|---|
抽象 | 逻辑结构 | 基本运算 |
实现 | 存储结构 | 算法 |
评价 | 不同数据结构的比较计算法的分析 |
(2)基本概念与术语
简单的说,数据就是计算机操作的对象的总称。数据元素是数据的基本单位,他是数据中的一个个体。数据对象是具有相同性质的元素的集合,是数据的一个子集。
数据结构是指互相之间存在一种或多种的特性相同的数据元素的集合。有三要素:D,S,P
数据的逻辑结构是对数据元素之间的逻辑关系的描述,有集合结,线性结构,树形结构和图形结构。
数据存储结构是逻辑结构在计算机中的表现和实现,有顺序存数,链式存储,索引存储,希哈存储。
(3)数据类型与抽象数据类型
数据类型是一个值的集合和定义在此集合上得一组操作的总称。
抽象数据类型是指一个数学模型以及在此数学模型上的一组操作。抽象数据类型和数据类型实质上是一个概念,只是抽象数据类型的范围更广,可以在自己定义自己的数据类型。
(4)算法与算法分析
算法是对待定问题求解的步骤的一种描述,是指令的有限序列。一个算法必须满足五特性:有穷性,可行性,确定性,有输入,有输出。
算法与程序是不同的概念,程序不一定满足有穷性,程序中的指令必须是机器可执行的,一个算法若用程序设计语言描述,则它就是一个程序。
“好的算法”必须要考虑一下目标:正确性,可读性,健壮性,高效性与低存储性。
衡量算法的效率通常有两种方法:
1、事后统计法(容易掩盖算法本身的优劣)
2、事前分析估算法(重点考虑策略和规模)
算法的渐进时间复杂度记为:T(n)=O(f(n))
空间复杂度:S(n)=O(g(n)),若所需额外空间相对输入数据量是个常数,则称此算法为原地工作。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/zhangli401x/article/details/47154371