数据结构、算法课程综合指南

Mr.Z2001 2023-08-11 20:14:49

目录

  • 数据结构理论课及实验课、课程设计综合指南
  • 1 入门书籍推荐
  • 2 网课推荐
  • 2.1 青岛大学王卓
  • 2.2 清华大学邓俊辉
  • 2.3 AcWing、牛客等竞赛网站
  • 3 刷题、刷题、刷题
  • 4 小结

数据结构理论课及实验课、课程设计综合指南

数据结构(Data Structure, DS)这门课是与算法设计(Algorithm)分不开的,一般来讲,数据结构和算法都写成一本书(也就是常说的DSA),或拼成一门课来讲。我校将其分成两门课来讲,在数据结构课程中侧重于数据结构,在算法课中侧重于算法,但是这两门学科仍然是分不开的。所以,学数据结构的时候不要排斥对应数据结构上的对应算法,要一起学习。

学好这门课的最好的一个方法:把自己当成ACM选手一样去学习,去刷题。这样,你会发现理论知识全会,实验课的题上手很容易,课程设计就是平时刷的题的一个综合。除此之外,算法课也一并解决了。这么做远比做书本上的题有效得多

1 入门书籍推荐

如果你没有参加ACM课程或集训,可以选择这本书作为入门。《深入浅出程序设计竞赛 - 基础篇》,简称"深基"。配合网站洛谷可以按照这本书刷题。有一些标难的题可以看情况跳过。

不推荐:《算法导论》。 劝退理由:又厚又难啃,非常不适合新手。

2 网课推荐

2.1 青岛大学王卓

如果你看书看不进去,更倾向于看网课的话,推荐青岛大学王卓老师的系列视频。(B站视频)数据结构-青岛大学王卓。全集共173个视频,建议从一开始就跟,不然最后期末周时间有限,视频看不完的。看完一个知识点后,要刷一刷题巩固一下,这一步是必须的,不然很快就忘了。

2.2 清华大学邓俊辉

第二个选择,清华大学邓俊辉老师的系列视频。(B站视频)数据结构-清华大学邓俊辉。全集共474个视频,看起来多,但是每个视频不超过10分钟。

2.3 AcWing、牛客等竞赛网站

如果你是保研选手,可以使用上面的网站,挑一个就好。其中有的网站里提供课程,可能是收费的。其中对于非竞赛选手,AcWing的基础课就已经够了。其他网站不太了解,不做评价。

3 刷题、刷题、刷题

你可能不需要像竞赛选手那样刷题,但是必要的编程是不可缺少的。理论课考试有手写代码、实验课要写代码、课程设计也要写代码。所以平时一定要多练习,多刷题。

4 小结

总的来说,平时多做题就能解决数据结构课和算法课的一切的一切。不过这个过程是辛苦的。一来本身做题辛苦,二来大二一学年的课程还不少,但是学弟学妹们一定要咬牙坚持住,不要放弃,不要放弃,不要放弃。最后,祝大家都能学好数据结构,都能学好算法,都能学好编程,都能学好计算机。

感谢大家阅读,如果文章有错误或对数据结构课程有疑问,欢迎在评论区留言。

...全文
142 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
包括C程序设计(第四版)的高清扫描版pdf以及与该书配套的学习辅导一书的pdf。 《C程序设计(第四版)》是由谭浩强教授著、清华大学出版社出版的《C程序设计》是一本公认的学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第三版)》的基础上进行了修订。本书按照C语言的新标准C 99进行介绍,所有程序都符合C 99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻,全面而深入;按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教学、组织教材;本书的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。符合读者认知规律,容易入门与提高。 本书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C程序设计的理想教材,可作为高等学校各专业的正式教材,也是一本自学的好教材。本书还配有辅助教材《C程序设计(第四版)学习辅导》。 《C程序设计(第四版)学习辅导.pdf》共分4个部分 第1部分是《C程序设计(第四版)》一书的习题和参考解答,包括了该书各章的全部习题,对全部编程习题都给出了参考解答,共计132个程序; 第2部分是深入学习C程序设计,包括预处理指令、位运算和C程序案例; 第3部分是上机指南,详细介绍了Visual C++ 6.0集成环境下编辑、编译、调试和运行程序的方法; 第4部分是上机实验指导,包括程序的调试与测试、实验的目的与要求,并提供了本课程12个实验。 《C程序设计(第四版)》目录: 第1章 程序设计和C语言 1.1 什么是计算机程序 1.2 什么是计算机语言 1.3 C语言的发展及其特点 1.4 最简单的C语言程序 1.4.1 最简单的C语言程序举例 1.4.2 C语言程序的结构 1.5 运行C程序的步骤与方法 1.6 程序设计的任务 习题 第2章 算法——程序的灵魂 2.1 什么是算法 2.2 简单的算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.4.1 用自然语言表示算法 2.4.2 用流程图表示算法 2.4.3 三种基本结构和改进的流程图 2.4.4 用N?S流程图表示算法 2.4.5 用伪代码表示算法 2.4.6 用计算机语言表示算法 2.5 结构化程序设计方法 习题 第3章 最简单的C程序设计——顺序程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.2.1 常量和变量 3.2.2 数据类型 3.2.3 整型数据 3.2.4 字符型数据 3.2.5 浮点型数据 3.2.6 怎样确定常量的类型 3.2.7 运算符和表达式 3.3 C语句 3.3.1 C语句的作用和分类 3.3.2 最基本的语句——赋值语句 3.4 数据的输入输出 3.4.1 输入输出举例 3.4.2 有关数据输入输出的概念 3.4.3 用printf函数输出数据 3.4.4 用scanf函数输入数据 3.4.5 字符数据的输入输出 习题 第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.2.1 用if语句处理选择结构举例 4.2.2 if语句的一般形式 4.3 关系运算符和关系表达式 4.3.1 关系运算符及其优先次序 4.3.2 关系表达式 4.4 逻辑运算符和逻辑表达式 4.4.1 逻辑运算符及其优先次序 4.4.2 逻辑表达式 4.4.3 逻辑型变量 4.5 条件运算符和条件表达式 4.6 选择结构的嵌套 4.7 用switch语句实现多分支选择结构 4.8 选择结构程序综合举例 习题 第5章 循环结构程序设计 5.1 为什么需要循环控制 5.2 用while语句实现循环 5.3 用do…while语句实现循环 5.4 用for语句实现循环 5.5 循环的嵌套 5.6 几种循环的比较 5.7 改变循环执行的状态 5.7.1 用break语句提前终止循环 5.7.2 用continue语句提前结束本次循环 5.7.3 break语句和continue语句的区别 5.8 循环程序举例 习题 第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组 6.1.1 怎样定义一维数组 6.1.2 怎样引用一维数组元素 6.1.3 一维数组的初始化 6.1.4 一维数组程序举例 6.2 怎样定义和引用二维数组 6.2.1 怎样定义二维数组 6.2.2 怎样引用二维数组的元素 6.2.3 二维数组的初始化 6.2.4 二维数组程序举例 6.3 字符数组 6.3.1 怎样定义字符数组 6.3.2 字符数组的初始化 6.3.3 怎样引用字符数组中的元素 6.3.4 字符串和字符串结束标志 6.3.5 字符数组的输入输出 6.

2,116

社区成员

发帖
与我相关
我的任务
社区描述
东北大学计算机类专业社区
辽宁省·沈阳市
社区管理员
  • gibeonwu
  • Mr.Z2001
  • Yu_Des2023
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

自强不息,知行合一

试试用AI创作助手写篇文章吧