数据结构讨论的范畴,算法、数据结构概念,算法和算法的度量
算法:处理问题的策略。
数据结构:问题的数学模型(非数值计算)及其上的操作在计算机中的表示和实现。数值计算使用计算数学。
算法:处理问题的策略。
数据结构:带结构的数据元素的集合。
可输入到计算机中且被计算机处理的符号集合。
数据中的一个个体,数据结构中讨论的基本单位。
数据结构中讨论的最小单位。数据元素是数据项的集合。
线性结构、树形结构、图状结构、集合结构
数据结构=(D,S),D是数据元素的有限集,S是D上关系的有限集。
逻辑结构在存储器中的映像。
bit串。
顺序映像:以存储位置的相邻(或者一个固定间隔),表示后继关系。整个存储结构中只包含数据元素本身的信息。
链式映像:存储位置不确定,以附件信息(指针)表示后继关系。
是一个值的集合和定义在此集合上一组操作的总称,也可以称为数据结构。
一个数学模型以及定义在这个数学模型上的一组操作。
强调实体的本质特征、所能完成的功能及与外部用户的接口(外界使用它的方法)。
将实体外部特性与内部实现分离,并对外部用户隐藏内部实现细节。
(D,S,P),D是数据对象,S是D上的关系集,P是对D的基本操作。
解决某种问题而确定的一个有限长的操作序列。
有穷性:对于任意一组合法的输入值,在执行有穷步骤后,一定能结束。即每个步骤都可以在有限时间内完成。
确定性:对于每种情况下所应执行的操作,在算法中都有确切规定,使算法的执行者或者阅读者都能明确其含义及如何执行。并且在任何条件下,算法都只有一条执行路径。
可行性:算法中所有步骤必须足够基本,都可以通过已实现的基本操作运算有限次实现。
有输入:算法加工的对象,可以在算法执行过程中输入,也可以隐含在算法中。
有输出:是一组与“输入”有确定关系的量值,是算法进行信息加工后的结果,这种确定关系为算法的功能。
首先,算法应满足以特定的“规格说明”方式给出的需求。,其次对算法是否“正确”的理解有以下四个层次,通常以c作为衡量算法合格的标准。
a.程序中不含有语法错误。
b.程序对于几组输入能够得出满足要求的结果。
c.对于精心选择的、典型、苛刻且带有刁难性的几组输入数据,能够得出满足要求的结果。
d.对于一切合法的输入都能得出满足需求的结果。
便于理解和调试。
当输入数据非法时,算法应作出恰当反映或进行相应处理,而不是产生莫名其妙的结果。并且,处理“出错”的方法不应是中断程序,而是返回一个表示错误或错误性质的结果,以便高层调用处理。
效率指算法的执行时间,存储需求指执行过程中所需最大存储空间,两者与问题规模有关。
缺点:1-必须执行程序。2-其他因素掩盖算法本质。
1-算法选用的策略
2-问题的规模
3-编写程序的语言
4-编译的机器代码的质量
5-计算机执行指令的速度
T(n)=O(f(n)),T(n)为算法的时间渐进复杂度。
算法=控制结构+原操作(固有数据类型的操作)。
算法的执行时间=Σ原操作的执行次数*原操作的执行时间。算法的执行时间与原操作执行次数之和成正比。
输入数据所占空间。
程序本身所占空间。
辅助变量所占空间。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。