前言 随着计算机应用领域的扩大和深入,非计算机专业的工程技术人员掌握必要的计算机软件技术基础知识是提高计算机应用水平、利用计算机技术解决本专业中具体问题的重要途径。非计算机类专业本科生既熟悉自己所从事的专业,又掌握计算机的应用知识是一个优势。事实上,许多应用软件都是由非计算机专业出身的计算机应用人员研发的。 计算机软件基础是高等学校电子信息类专业的一门学科基础必修课,被一些高校列为电子类各专业的重点课程或核心课程。通过多年来对本课程的教学研究和教学改革,我们在教学内容、教学方法和考核方式上已基本形成一套比较完整的体系,可切实提高学生的程序设计能力。好的教材源于教学改革和教学实践,能体现出良好的成果。在多年教学经验的基础上,通过对已有教材的分析研究,结合自己的教研工作,编写此教材。本书的特点是强调实用性,以应用为目的,含有丰富的实例; 可读性强,深入浅出,通俗易懂,概念准确,表述清楚,简明扼要; 所有算法采用C语言描述; 适合非计算机专业的学生阅读。 全书内容以数据结构为主,同时包含操作系统、软件工程和数据库三部分内容。教学时可根据具体情况对讲授内容进行适当取舍。 本书由汪友生编写线性表、栈和队列、串和数组、树等部分; 张新峰编写绪论、排序和软件开发等部分; 王众编写查找部分; 张小玲编写资源管理部分; 刘芳编写数据库设计部分; 郭民编写图部分。全书由汪友生统稿。 本书在编写时参考了大量文献资料,对相关作者表示真诚的感谢!由于编者水平有限,书中难免存在疏漏和不妥之处,恳请各位读者批评指正。 编者2020年11月