数据结构与算法课程是计算机软件专业和计算机应用专业的核心基础课程,课程内容也可用于从事计算机软件开发、程序设计以及计算机应用方面工作的软件人才的职业培训。课程服务对象是计算机软件和计算机应用专业的本科生和未来从事计算机软件开发及其他IT行业的在职从业人员。课程名称:数据结构与算法课程编号:04830050课程镜像:(通过北大校内访问)课程介绍:北京市精品课程汇报暨国家精品课程申报材料课程类型:信息学院本科生必修课所属学科:计算机科学与技术领域方向:计算机软件与理论学时学分:48学时,3学分主讲教员:张铭、赵海燕、王腾蛟、宋国杰、李文新、高军先修要求:计算引论,程序设计实习,集合论与图论同修要求:04830170数据结构与算法实习实习评测:教学大纲:《数据结构与算法A(实验班)》《数据结构与算法A》大纲《数据结构与算法B》大纲《数据结构与算法实习》大纲课程目标:课程的总目标是学生将基本掌握数据结构和算法的设计分析技术,提高程序设计的质量;根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制。具体包括如下几个方面:1.熟练掌握包括线性表(向量、串、栈和队列)、二叉树、树、图等多种数据结构的特点和算法。2.掌握对各种数据结构讨论算法分析的基本技术(最佳、最差、平均代价,渐进分析),掌握时间和空间权衡的原则。3.能熟练使用各种数据结构解决各种问题,设计良好的数据结构。4.能理解数据结构在程序设计中的重要性。5.熟练掌握插入排序、Shell排序、堆排序、快速排序、基数排序等常用的各种排序算法及其时间和空间开销。6.了解文件管理(数据在外存中的组织形式)和外排序技术。7.了解检索和索引技术。8.掌握自组织线性表、散列表、倒排文件、B树等常见的检索和索引技术,并讨论他们的时间和空间开销效率。9.理解算法分析对程序设计的重要性。10.具备小组协作的技能。11.具备项目分析、数据结构和算法设计、程序开发和算法分析等技能。课程概要:1.数据结构和算法简介(2学时)2.线性表、栈和队列(4学时)3.字符串(2学时)4.二叉树(6学时)5.树与森林(4学时)6.图(4学时)7.内排序(8学时)8.文件管理和外排序(2学时)9.检索(2学时)10.索引技术(2学时)11.高级线性结构(2学时)12.高级树形结构(4学时)13.数据结构应用(2学时)11.高级数据结构(2学时)