在线试读

get_product_contenthtml

第1章 绪 论
自1946年台计算机问世以来,计算机产业的飞速发展已远远超出人们对它的预料,在某些生产线上,甚至几秒钟就能生产出一台微型计算机,产量猛增,价格低廉,这就使得它的应用范围迅速扩展。如今,计算机已深入到人类社会的各个领域。计算机的应用已不再局限于科学计算,而更多地用于控制、管理及数据处理等非数值计算的处理工作。与此相应,计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据,这就给程序设计带来一些新的问题。为了编写出一个“好”的程序,必须分析待处理的对象的特性以及各处理对象之间存在的关系。这就是“数据结构”这门学科形成和发展的背景。
1.1 什么是数据结构
一般来说,用计算机解决一个具体问题时,大致需要经过下列几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,后编出程序,进行测试、调整直至得到终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。例如,求解梁架结构中应力的数学模型为线性方程组;预报人口增长情况的数学模型为微分方程。然而,更多的非数值计算问题无法用数学方程加以描述。下面请看3个例子。

 ……

篇 习题与学习指导
  第0章 本篇提要与作业规范
一、本篇提要
本篇内容是按照作者编著的教科书《数据结构》(C语言版)的内容和课程教学要求组织的。各章均由基本内容、学习要点、算法演示内容以及基础知识题和算法设计题五部分组成。其中:
“基本内容”列举了该章的内容提要,提醒读者把握该章主要内容;
“学习要点”指出了该章的教学重点和难点,以供读者在组织教学或自学时选择习题作参考;
“算法演示内容”提供了“数据结构算法演示DSDEMO(类C语言版)”软件中包含的与该章相关的算法清单,通过观察算法执行过程的演示,将有助于深刻理解算法的本质和提高教学效果(在附录中列有类c语言版DSDEM0软件的使用手册)。
数据结构的练习题大致可分为“基础知识题”和“算法设计题”两类。
“基础知识题”主要供读者进行复习自测之用,目的是帮助读者深化理解教科书的内容,澄清基本概念、理解和掌握数据结构中分析问题的基本方法和算法要点,为完成算法设计题做准备。
“算法设计题”则侧重于基本程序设计技能的训练,相对于实习题而言,这类编程习题属于偏重于编写功能单一的“小”程序的基础训练,然而,它是进行复杂程序设计的基础,是本课程习题作业的主体和重点。
各章的题量根据教学内容的多少和重要程度而定,几乎对教科书的每--11,节都安排了对应的习题。但对每个读者来说,不必去解全部习题,而只需根据自己的情况从中选若干求解即可。为了表明题目的难易程度,便于读者选择,我们在每个题的题号之后注了一个难度系数,难度级别从①至⑤逐渐加深,其区别大致如下:难度系数为①和②的习题以基础知识题为主;难度系数为③的习题以程序设计基础训练为主要目的,如强化对“指针”的基本操作的训练等;习题中也收纳了不少难题,其难度系数设为④和⑤,解答这些题可以激起学习潜力较大的读者的兴趣,对广泛开拓思路很有益。但习题的难度系数也只是一个相对量,读者的水平将随学习的进展而不断提高,因此没有必要去比较不同章节的习题的难度系数。此外,该难度系数值的假设是以读者没有参照习题的解答或提示为前提的。
  ……