学而不思则惘,思而不学则?/p>
数据结构作业
?/p>
1
?/p>
绪论
问题
1.1
什么是数据?数据结构的定义是什么?
数据:描述客观事物的数和字符的集?/p>
数据结构?/p>
所有数据元素以及数据元素之间的关系?/p>
可以看作是互相之间存在着?/p>
种特定关系的数据元素的集合,即可把数据结构看成是带结构的数据元素的集合?/p>
问题
1.2
数据项、逻辑结构、存储结构的关系是什么?
数据项:具有独立含义的最小数据单位,也称为字段或?/p>
逻辑结构?/p>
从逻辑关系上描述数据,
与数据的存储无关?/p>
独立与计算机。可以看?/p>
是从具体问题抽象出来的数学模型?/p>
存储结构:逻辑结构在计算机中的存储方式,依赖于计算机语言?/p>
问题
1.3
逻辑结构的类型有哪些?/p>
1
、集?/p>
2
、线性结?/p>
3
树形结构?/p>
4
、图形结?/p>
问题
1.4
存储结构的类型有哪些?/p>
1
、顺序存?/p>
2
、链式存?/p>
3
、索引存?/p>
4
、散列存?/p>
问题
1.5
数据结构和数据类型的区别是什么?
数据结构?/p>
所有数据元素以及数据元素之间的关系?/p>
可以看作是互相之间存在着?/p>
种特定关系的数据元素的集合,即可把数据结构看成是带结构的数据元素的集合?/p>
数据类型?/p>
一组性质相同的值的集合和定义在此集合上的一组操作的总称?/p>
是某?/p>
序设计语言中已实现的数据结构?/p>
问题
1.6
算法的定义及其特性有哪些?/p>
定义:在具体存储结构上实现某个抽象运算?/p>
特性:有穷性、确定性、可行性、有输入、有输出?/p>
问题
1.7
如何分析算法的时间复杂度?/p>
由其中基本运算的执行次数来计量。记作:
T(n)=O(f(n))
。只求出
T
?/p>
n
)的最高阶?/p>
忽略低阶和常数。这样既可简?/p>
T(n)
的计算,也可以反映时间算法的性能?/p>
O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2)<O(n^3)<O(2^n)<O(n!)
⑴找出算法中的基本语句;
算法中执行次数最多的那条语句就是基本语句?/p>
通常?/p>
最内层循环的循环体?/p>
⑵计算基本语句的执行次数的数量级
;
只需计算基本语句执行次数的数量级,这?/p>
意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,
可以忽略所有低
次幂和最高次幂的系数?/p>
这样能够简化算法分析,
并且使注意力集中在最重要的一
点上:增长率?/p>
⑶用?/p>
O
记号表示算法的时间性能。将基本语句执行次数的数量级放入?/p>
O
记号
中?/p>