一、课程特点:内容抽象、概念性强、内容灵活、不易掌握
- 注意先修课程的知识准备:离散数学、C语言
- 注意循序渐进:基本概念、基本思想、基本步骤、算法设计
- 注意培养算法设计的能力:理解所讲算法、对此多做思考:若问题要求不同,应如何选择数据结构,设计有效算法
二、教材
- 《数据结构》第2版,严蔚敏,李冬梅,人民邮电出版社
- 参考书:《数据结构》,严蔚敏,清华大学出版社
- 《数据结构——用面向对象方法与C++描述》,殷人昆等,清华大学出版社
- 《算法艺术与信息学竞赛》,刘汝佳,黄亮,清华大学出版社
三、三个“一定要”
1、一定要将算法理解透彻、明确数据结构后,再写程序:明确算法思想的每一步;确定逻辑结构、然后确定存储结构
2、一定要掌握编译错误修改的技巧:修改一个编译错误后重新编译;先注释掉一部分代码
3、一定要学会调试程序的办法:设断点;F10;减少测试的数据量
四、三个一定不要
1、不要急于求成:C++语法规则不熟练(指针、结构体、函数的定义和调用);根据任务逐一编写、编译、调试各个功能模块,不该将所有代码写完再编译调试
2、不要好高骛远:写程序时依次考虑算法的正确性、可读性、健壮性、高效性
3、不要只读不写:先明确算法思想,多动手思考,多问问题
五、数据结构的研究内容
N.沃思教授提出: 程序=算法+数据结构
电子计算机的主要用途:早期 主要用于数值计算
后来处理逐渐扩大到非数值计算领域,能处理多种复杂的具有一定结构关系的数据
求解非数值计算的问题:设计出合适的数据结构及相应的算法;即首先要考虑对相关的各种信息如何表示、组织和存储
数据结构的研究内容为:研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作
六、数据结构课程的形成和发展
- 形成阶段:60年代初期,“数据结构”有关的内容散见于操作系统、编译原理和表处理语言等课程。1968年,“数据结构”被列入美国一些大学计算机科学系的教学计划。
- 发展阶段:数据结构的概念不断扩充,包括了网络、集合代数论、关系等“离散数学结构”的内容。70年代后期,我国高校陆续开设该课程离散数学图论
七、《数据结构》所处的地位
介于数学、计算机硬件和计算机软件三者之间一门课程
八、课程目的
能够分析研究计算机加工对象的特性,获得其逻辑结构,根据需求,选择合适存贮结构及其相应的算法;
学习一些常用的算法;
复杂程序设计的训练过程,要求编写的程序结构清楚和正确易读;
初步掌握算法的时间分析和空间分析技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报