数据结构与算法
分享
课程详情
课程评价
spContent=已入门程序设计的小伙伴们,如何进一步规范地编写更复杂的程序呢?赶紧开始数据结构与算法的学习吧!本课程细讲解,重实践,实例中领略堆栈、队列、树、图等高端武器的强大。来吧,让我们迈入数据结构的神秘世界,领略算法的精彩!
—— 课程团队
课程概述

 

数据结构与算法是计算机类专业的专业技术基础课程、核心课程,也是其他爱好编程同学必学的一门专业基础课程。它所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其它课程,还是对从事软件工程的开发,都有着不可替代的作用。

      课程主要介绍如何合理地组织数据、有效的存储和处理数据,正确的设计算法以及对算法的分析和评价。通过本课程的学习,要求学生掌握根据各类实际问题,归纳、抽象出数据对象的数据特征及对象间的相互联系,选择合适的数据组织方法和存储方法,设计并实现高效的求解算法。本课程首先综述数据、数据结构和抽象数据类型等基本概念,再从数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;以及从时间上进行定性和定量的分析和比较了各种查找和排序方法。课程学习的基本数据结构及相关算法是程序设计的基础,培养学生基本的、良好的程序设计技能,为后续专业课程的学习打下坚实的基础。

        课程针对实践性强的特点,由简入繁循序渐进的带领学生一行一行实现算法,例题中针对问题描述,分析问题,得出解决方案,到代码的实现,展现完整的过程,让同学们一步一台阶跨上去,达到解决复杂问题的高度。课程配合在线编程题型的作业及客观题型的测试,从实践和理论两个维度进行过程性评测。


授课目标

       1、通过本课程的学习,使学生学会分析研究计算机加工的数据的结构特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的基本操作算法,能用相应知识对计算机中处理的数据选择或建立适当的描述模型;初步掌握算法的时间和空间分析的技术,并学习各种常用算法的基本思想和实现技术,并能对不同的算法和数据描述模型能进行比较和评价。

       2、本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序代码结构清晰、正确易读,符合软件工程的规范。在高级程序设计语言课程所进行的结构化程序设计的初步训练的基础上,进一步培养学生的数据抽象能力和算法分析设计的实践能力,并能认识到解决计算机软件开发的方案有多种可选性。

       3、了解计算机学科的知识组织结构,了解本专业的前沿发展现状和趋势,并能用所学知识解决计算机相应的复杂工程问题,对复杂的工程问题能通过分析研究相关文献,获得关键环节的初步解决方案。


课程大纲
预备知识

《计算机程序设计》、《离散数学》

参考资料

(1)邹永林、周蓓、唐晓阳 主编. 数据结构与算法 . 清华大学出版社,2015

(2)邹永林、周蓓、唐晓阳 主编. 数据结构与算法习题解析与实验指导,清华大学出版社,2015

(3)严蔚敏等  主编. 数据结构(C语言版). 清华大学出版社,2007

(4)Mark Allen Weiss著,冯舜玺译.数据结构与算法分析——C语言描述(原书第2版).机械工业出版社.2012

(5)陈越主编.数据结构(第2版).高等教育出版社.2016