数据结构
第一章:绪论
1.1数据结构的研究内容
计算机进行数值计算时,一般要经过三个步骤:1.从具体问题中抽象出数学模型2.设计一个解决此数学模型的算法3.最后编写程序。
编写代码是最底层的。
程序=数据结构+算法
1.2基本概念与术语
1.2.1 数据结构
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括逻辑结构和存储结构两个层次。
1.逻辑结构
两个要素:数据元素,关系。
(1) 集合关系
(2) 线性关系
(3) 树结构
(4) 图结构或网状结构
其中集合结构,树结构和图结构都属于非线性结构。线性结构包括线性表,栈和队列,字符串,数组,广义表。非线性表包括树和二叉树,有向图和无向图。
2.存储结构
(1)顺序存储结构
(2)链式存储结构·
1.3算法
定义:解决某类问题而规定的一个有限长的操作序列
一个算法需要满足以下五个重要特性
(1)确定性 (2)有穷性
(3)可行性
(4)输入 (5)输出
算法优劣性评价
(1) 正确性
(2) 可读性
(3) 健壮性
(4) 高效性
一、算法时间复杂度
一个算法所耗费的时间:该算法中每条语句的执行时间之和。 每条语句的执行时间:该语句的执行次数乘以该语句执行一次所需时间。 频度:语句重复执行的次数 算法的时间耗费T(n)= Σ每条语句的执行的时间 =Σ(语句频度×语句执行一次所需时间) =Σ语句频度 算法的时间复杂度:就是算法的时间耗费T(n)
二、(渐进)时间复杂度(O(f(n)) 当问题的规模n趋向无穷大时,时间复杂度T(n)的数量级(阶)称为算法的渐近时间复杂度,简称时间复杂度 三、最坏时间复杂度 依据数据集中可能出现的最坏情况估算出的时间复杂度称为最坏时间复杂度。 四、平均时间复杂度 在假设数据集的分布是等概率的条件下,估算出的时间复杂度称为平均时间复杂度
五、空间复杂度S(n):
算法所耗费的存储空间,仍是问题规模n的函数。
12-18
07-13
07-13
07-13
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交