数据结构
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下
——老子
1
每日一练
1.评价一个好的算法,您是从哪几方面来考虑的?
2.解释和比较以下各组概念
(1)算法的时间复杂性
(2)算法
(3)频度
3. 根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构?
4.对于一个数据结构,一般包括哪三个方面的讨论?
5. 当你为解决某一问题而选择数据结构时,应从哪些方面考虑?
6. 若将数据结构定义为一个二元组(D,R),说明符号 D,R 应分别表示什么?
正确答案
1.评价好的算法有四个方面。一是算法的正确性;二是算法的易读性;三是算法的健壮性;四是算法的时空效率(运行)。
2.(1)算法的时间复杂性是算法输入规模的函数。算法的输入规模或问题的规模是作为该算法输入的数据所含
数据元素的数目,或与此数目有关的其它参数。有时考虑算法在最坏情况下的时间复杂度或平均时间复杂度。
(2)算法是对特定问题求解步骤的描述,是指令的有限序列,其中每一条指令表示一个或多个操作。算法具
有五个重要特性:有穷性、确定性、可行性、输入和输出。
(3)频度。在分析算法时间复杂度时,有时需要估算基本操作的原操作,它是执行次数最多的一个操作,该操作重复执行的次数称为频度。
3.集合、线性结构、树形结构、图形或网状结构。
4.逻辑结构、存储结构、操作(运算)。
5.通常考虑算法所需要的存储空间量和算法所需要的时间量。后者又涉及到四方面:程序运行时所需输入的数据总量,对源程序进行编译所需时间,计算机执行每条指令所需时间和程序中指令重复执行的次数。
6.D是数据元素的有限集合,S是D上数据元素之间关系的有限集合。
如果您觉得本篇文章对您有作用,请转发给更多的人,点一下好看就是对小编的最大支持!
-end-
你学习了么?
文 | 闫小林