Page 138 - 高中 信息技术 选择性必修1 数据与数据结构
P. 138
第五章 数据结构的应用
程序运行界面如图5-12所示。
广东教育出版社
图5-12 查询某月销售总额程序界面
方案一中的数据表总共有60条记录,在查找时不但要比较编号,而且要比较月份;方
案二中的数据表只有10条记录,在查找时只需比较编号就可以。显然方案二的效率要比方
案一的高很多,特别是在数据量大的时候更明显。由此可见,算法与数据结构密切相关。
数据结构是算法实现的基础,数据结构直接影响算法的设计和运行效率;算法的操作对象
是数据,它必须依赖于具体的数据结构来实现。
由于数据的逻辑结构和存储结构有多种,用户可以根据自己的方案来自行选择和设
计,所以解决同一个实际问题也会有多种不同的算法,采用不同的存储结构也将导致算法
的差异很大。以第二章第四节一元多项式相加为例,分别用一维数组和链表存储时的算法
完全不同,具体请参看第二章第四节的内容。而且,就算是具有相同的逻辑结构和存储结
构,算法设计的思想和技巧不同,设计的算法也会大不相同,算法的运行效率也相差很
大,如在本章5.3节中学习的冒泡排序算法和快速排序算法。
5.4.2 算法与数据结构的区别
算法是根据需要解决的实际问题,在数据的逻辑结构和存储结构的基础上施加的一种
运算(包括数值和非数值的运算)。数据结构关注的是数据的逻辑结构和存储结构,也就
是数据表示,即将数据组织起来存储在计算机中;而算法关注的是如何在数据结构的基础
上解决实际问题,是对数据运算的描述,也就是数据处理,即设计解决方法和处理数据。
算法是编程思想,而数据结构则是这些思想的逻辑基础。
130 130
21X2204.indd 130 2019/9/26 13:53:45