开发工具与关键技术:数据结构和算法的概念和特性
作者:卢惠圳
撰写时间:2020年5月20日
数据结构简单来说就是数据结构是计算机存储、组织数据的方式,其中有三大基础结构分别是:线性结构、树结构、图结构。这三种结构分别讲述了结构中的数据元素之间的关系,也就是一对一、一对多、多对多三种不同的对应关系,如下图所示:
首先是线性结构的关系一对一,就是除第一个和最后一个数据元素外,每个数据元素只有一个前驱和一个后继数据元素。其次是树结构的关系一对多,就是除根结点外,每个数据只有一个前驱数据元素,可有0个或若干个后继数据元素。最后是图结构的关系多对多,就是每个数据元素可有0个或若干个前驱数据元素和0个或若干个后继数据元素。
这些就是数据结构中最基本的三种基本结构下面是算法,算法就是对特定问题求解步骤的一种描述,它是指令的有限序列。简单来说就是事先想好接下来要做的事情的每一步是怎么做的,然后根据脑中想好的步骤按部就班去执行。
算法的特性,算法有五个特性分别是:有穷性、确定性、可行性、输入、输出。
有穷性:一个是应包含有限个操作步骤。即一个算法在执行若干个步骤之后应该能够结束,而且每一步都在有限时间内完成。
确定性:算法中的每一步都必须有确切的含义,不能产生二义性。
可行性:算法中的每一个步骤都应该是能有效地执行,并得到确定的结果。
输入:所谓输入,是指在算法执行时,从外界取得必要的数据。计算机运行程序的目的是为了进行数据处理,在大多数情况下,这些数据需要通过输入得到。有些情况下,数据已经包含在算法中,算法执行时不需要任何数据,所以一个算法可以有零个或多个输入。
输出:一个算法有一个或多个输出,这是算法进行数据处理后的结果。没有输出的算法是毫无意义的。
算法的这些特性可以约束程序设计人员正确地书写算法,并使之能够正确无误地执行,达到求解问题的预期效果。