嵌入式系统在各行各业的应用越来越广,我国从事嵌入式系统开发的人员也越来越多,从我国主要的几种电子杂志上可以看出,有关嵌入式系统应用的文章也越来越多。
在开发一种嵌入式系统产品时,主要工作是做两方面的设计:硬件设计和软件设计。在硬件设计方面,各个半导体公司竞相推出各种高性能、低功耗、低成本的CPU和外围芯片,这使我们在进行硬件设计时可以很快地得到*先进的芯片。在这种情况下,硬件设计的外部条件越来越好,集成度越来越高,在实现相同功能的情况下线路越来越简化。在软件设计方面,虽然开发工具和程序设计语言也在不断提高,但技术人员本身的软件素质无疑起决定作用。因此,软件设计水平在嵌入式系统产品开发的过程中占有重要的地位,直接影响到产品的功能和竞争能力。我国目前绝大多数从事嵌入式系统开发的技术人员基本上不是计算机专业毕业的,有的可能没有上过大学,他们未接受过系统的软件基础理论教育,软件设计水平仍不太高。在软件开发过程中,他们只是不自觉地采用了一些规律性的设计方法,或者模仿别人的程序设计方法,而有更多成熟的基本方法没有被掌握,开发出来的软件水平不高,致使产品的功能和可靠性受到一定的制约。
软件设计是一门科学,有其自身的规律,也有很多成熟的理论和算法。要学习就要选教材,而目前能选到的软件方面的教材都是专为计算机专业编写的教材。这些教材起点较高,偏重理论叙述,未考虑嵌入式系统的硬件特点,对于广大嵌入式系统开发人员来说不是十分适合,学起来会感到比较抽象和吃力。
出于提高我国广大嵌入式系统开发人员软件素质的愿望,我们决定编写一本适合自学软件理论基础“数据结构”的书。该书起点要求不高,只要掌握C语言并已从事了一段时间嵌入式系统开发工作的人员就可以看懂。学完本书后,对软件设计的主要基础理论“数据结构”就能初步掌握,在进行软件设计时,可以减少很多盲目性,并为更系统、更深入地学习其他计算机软件设计理论打下良好基础。
本书第1章介绍数据结构的基本概念;第2章介绍线性表的知识和应用;第3章介绍队列的知识和应用;第4章介绍堆栈的知识和应用;第5章介绍串的知识和应用;第6章介绍数组的知识和应用;第7章介绍树的知识和应用;第8章介绍图的知识和应用;第9章介绍排序的知识和应用;第10章介绍查找的知识和应用。在编写过程中,我们的原则是:尽量结合嵌入式系统的应用实例,采用通俗易懂的叙述方式,介绍*基本的核心内容。
陆玲编写了本书第1~8章的内容,周航慈编写第9章、第10章和前8章的应用实例。周航慈负责全书的策划、内容安排、文稿修改和审定。
在本书的编写过程中,得到北京航空航天大学出版社的大力支持,何立民教授给予了无私的帮助,在此表示衷心感谢!周立功先生在本书的策划过程中起了很大促进作用,在此也表示衷心感谢!
由于水平有限,书中错误及不足之处敬请广大读者予以指正,不胜感谢!