数据结构与算法(B) Data Structure and Algorithm (B)
学分:3.0 周学时:3
预备知识:
本课程要求学生已学过“计算概论”课程,掌握了一门程序设计语言(例如C/C++/JAVA)的基本知识,并且有了一些进行程序设计的实际经验。
课程简介:
数据结构与算法(B类)是理科(非计算机专业)的一门重要的计算机必修课,是一门理论和实际紧密结合的课程。本课的主要目的是使学生较全面地理解算法和数据结构的概念、掌握各种数据结构与算法的实现方式,比较不同数据结构和算法的特点。通过学习,使学生能够提高用计算机解决实际问题的能力。
内容提要:
数据结构是计算机科学中一门综合性的专业基础课。主要介绍:线性表,栈,队列,数组,串,树,二叉树,图等基本数据结构及应用,排序及查找的原理与方法。通过本课程的学习,使学生能深入理解数据结构的逻辑结构和物理结构的基本概念,合理地组织数据、有效地存储和处理数据,正确地设计算法以及分析和评价算法。培养基本的、良好的程序设计技能,编制高效可靠的程序。
基本要求:
1.了解数据结构及其分类、数据结构与算法的密切关系。
2.熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构。
3.掌握设计算法的步骤和算法分析方法。
4.深入理解排序和查找的常用算法。
5了解STL的实现。
教学方式:
以课堂讲授为主,配和上机。每次课都布置作业,包括上机作业。
课程教材:
张乃孝《算法与数据结构—C程序描述》,高教出版社 2007
参考书目:
[1]严蔚敏等著,《数据结构》,清华大学出版社
[2]Donald E.Knuth, The Art of Computer Programming Volumes 1-3 Boxed Set, 清华大学出版社
[3]Sartej Sahni, Data Structures, Algorithms, and Applications in C++, 机械工业出版社
[4]William J.Collins, Data Structures and the Standard Template Library, 机械工业出版社
[5]Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest, Clifford Stein, Introduction to Algorithms(Second Edition), 高等教育出版社