课程简介
《数据结构》(P00103)是综计算机科学中非常重要的一门综合性专业基础课。数据结构研究的不仅仅涉及计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着密切的关系,无论是编译程序还是操作系统都涉及数据元素的在存储器中的分配问题。在研究信息检索时也必须考虑如何组织数据,以使查找和存取数据元素更为方便。可以认为,数据结构是介于数学、计算机硬件和软件三者之间的一门核心课程。《数据结构》课程主要包括线性表、栈和队列、串、数组、树、图等常用数据结构的基本原理和基本操作,也包括查找和排序等数据的复杂操作。
本课程网站提供《数据结构》的所有资源,包括在线教案、课堂PPT、相关论文、习题及若干参考资源。所有资源均欢迎下载和转发,但请保留版权。本课程有少量图片来源于互联网,若存在版权问题,请及时与我联系。
教学过程相关的考勤、课堂互动、课后作业、成绩发布将使用雨课堂平台。本课程从2023s年9月开始执行。
教学团队
教室及时间
- 学时:68学时(1-17周)
- 信安22-1班:周一 北院卓媒328(1-2节)08:00-09:30;周三 北院实304机房(6-7)14:30-16:00
- 卓计22-1班:周三 北院卓媒218(1-2节)08:00-09:30;周三 北院实304机房(8-9)16:30-18:00
- 智科22-1班:周四 北院卓媒216(1-2节)08:00-09:30;周五 北院实307机房(3-4)10:00-11:30
- 物网22-1班:周四 北院卓媒315(3-4节)10:00-11:30;周四 北院实307机房(6-7)14:30-16:00
- 线下交流答疑:周一 信息中心A306-2 10:00-16:00
前置知识
- 具有一定的编程基础
- 本课程所有算法将使用类C语言进行描述,与项目及作业相关的编程实现将使用C/C++语言进行描述。但对于学生的实现,你依然可以使用Python或Java进行实现。如果你对程序涉及不是很熟悉,建议回顾《高级语言程序设计》或《Java程序设计》课程或使用菜鸟教材进行自学。
- 线性代数、离散数学
- 基本掌握数据的矩阵/向量的表示法和运算方法,以及图论和集合论的相关概念。
参考资料
- 以下资料对于数据结构的学习很有帮助,但不是必需的。
- 1. 严蔚敏,李冬梅,吴伟民. 《数据结构(C语言版)》.人民邮电出版社
- 2. 陈越.《数据结构》. 电子工业出版社
- 3. 王道考研系列.《数据结构考研复习指导》. 电子工业出版社
- 4. 李冬梅,张琪.《数据结构习题解析与实验指导》. 人民邮电出版社
- 5. 中国大学慕课:浙江大学陈越《数据结构》
- 6. 中国大学慕课:南京邮电大学王海艳《数据结构》
- 7. 中国大学慕课:武汉大学李春葆《数据结构》
课程作业
课程考核
- 标准分:课堂互动(10%) + 课后作业(20%) + 期中考试(30%) + 期末测验(40%)
- 惩罚分:考勤(0-10分),每次缺席扣2分,缺席1/3取消考试资格
- 奖励分:课堂表现(抢答、提问、纠错,每次0.2,上限5分),拓展练习(拓展项目、编程竞赛,上限10分)
- 成绩表: 请访问雨课堂查看
作业安排
- 1. 每周五14:00将在 [雨课堂] 发布下周课程相关习题,包括:课前自测、课堂互动、课后作业及拓展练习。习题相关的所有答案和解析将在习题发布2周后的周一23:59在本 [课程网站] 发布。
- 2. 课前自测,请在授课前完成,并在答案公布后自行核对。
- 3. 课堂互动,当堂完成,当堂讲解。为保证正确率,请尽量在课堂上听完知识讲解后再完成。
- 4. 课后作业,请在课后完成,截止时间为发布后1周~2周。根据大家作答情况,在课堂上进行讲解。
- 5. 拓展练习,请大家自行完成,并参考答案和解析进行订正。
作业提交
- 本课程所有互动答题都通过雨课堂进行,同时课后作业也通过雨课堂进行提交。
- 特别提示:课前自测、课堂互动、和课后作业(包括项目)都将作为平时成绩,计入本门课程的最终成绩,因此请认真对待。
信用及荣誉准则
- 所有的作业/课堂互动/课程项目都提供了在线的参考解决方案或实现,我们希望所有的同学在完成项目/作业前不要查看这些解决方案或答案,而是独立完成所有的任务后,再和参考解决方案进行对比验证。
- Rule 1: 不要看别人的解决方案和代码,你所提交的所有作品都应该是你自己的工作
- Rule 2: 不要和别人分享你的解决方案和代码;但鼓励讨论方法和通用策略。
- Rule 3: 在你提交的作品中注明对你作品有帮助的人。
- Rule 4: 鼓励以团队形式完成项目和竞赛。
- 特别提示:迟交或提交不完整的代码比违反诚信(抄袭代码)好很多!
- 截至日期:所有互动和作业均有截止日期。超期提交,最终成绩将按照卷面成绩的 80% 进行计算。
其他
- 1. 本课程大部分项目需要学生独自完成,对于少数标注(团队)的复杂项目可以采取团队形式完成。注意团队人数上限为3人,如果你计划完成一个具有优质成果的项目,每个成员都应该在项目中做出重大贡献。
- 2. 强烈鼓励依托课程实训项目或课程项目,实现项目的拓展,并参与包括大学生互联网+、挑战杯、云南省计算机设计大赛、计算机作品大赛等学科专业竞赛。
- 3. 在完成项目和作业的过程中,可以使用外部协作者的项目,但必须在项目/作业中明确说明项目的哪些部分是你的工作。
- 对课程有任何疑问都可以直接练习课程教学团队的教师,也可以联系责任教师欧新宇:QQ:14777591, Email: shiorioxy@qq.com