潍坊市论坛

注册

 

发新话题 回复该主题

科普丨一文看懂光刻胶 [复制链接]

1#

这是北航士谔书院的第篇推送

经历了上周的淑芬指导

大家有没有豁然开朗的赶脚

今天

数据结构考前指导闪亮登场

带你一网打尽

那些de到头秃的bug

让你面对线上考试不再焦虑!

面对错误的输出

你疑惑吗

面对明明样例通过

却就是不得满分的代码

你暴走吗

若果是这样

不如来听听身边的学神

Debug届王者们

有什么复习方法与建议

趁考前飞速学上几招吧

★田旗舰同学的建议

01

重点内容

线性表、栈与队、树与二叉树、图的数据结构以及构建、插入、删除、修改数据、遍历等基本操作。其中,树与二叉树的内容在编程题中考察较多,可着重复习,熟练掌握3种遍历,掌握二叉查找树、哈夫曼树等,而编程题不涉及图,可着重复习选择填空涉及的部分,例如一些基本定义、AOV网等,对于最小生成树、最短路径、流量问题等对应的算法了解思路即可。此外,查找、排序在选择填空和编程题中都有可能遇到,也应熟练掌握,包括顺序表、索引、二叉查找树、散列等查找方法,冒泡、选择、插入、谢尔、堆、二路归并、快速排序等排序方法。

02

备考材料

课程网站的七套作业,课程网站的ppt,标记了重点的课本(如果没有标记重点,建议从现在开始查找课本的时候进行标记,否则不易精确查找到所需的知识点),自己的作业代码。

03

复习方法

我的复习方法分为两部分:整理+做题

一、整理是建立一个word文档,对知识进行分块整理。内容包括基本的数据结构和算法,例如链式存储的二叉树的基本结构、字符串的读入方法、文件输入输出的相关操作……,这些内容虽然简单,但却是几乎每个编程题必不可少的部分,可以帮助构建编程的框架。此外,还要包括一些重要的算法,例如KMP,以及一些典型的例题,例如用栈实现的表达式计算,可以是ppt里源代码的截图,也可以是自己编写的程序或者伪代码。另外,这个文档里还包括自己做作业时写出的bug,例如变量反复调用时忘记重新赋值,循环的边界条件写错。因为每个人都有一定的编程习惯,对于习惯性犯下的错误,下一次还可能写出同样的错误,有了这样的一种错误提醒,下次再出错的可能会大大减小。

这个文档的整理是随着复习同步进行的,比如今天要看ppt,那么就将ppt的重点内容或者自己没有掌握的知识,同步整理到文档中的相应位置。如果今天在看以前的代码,那就把以前代码中de了很久的bug记录到文档里。这样整理文档的过程是一遍复习,回顾文档的过程又是一遍。

二、做题最重要的是动手去做,最好还是依靠课程平台。对于选择填空,可以将作业的选择填空部分再做一遍,对于不熟悉的内容,再查看课本加以确定。如果时间充足,编程题最好也是如此。如果复习时间比较紧张,也可以看着题目去想思路,对于思路不清晰的题再尝试编程实现,编程时注意时间,如果很久也没有调出来,最好去查看助教提供的解答视频或者在群里求助,千万不要在一道题上“死磕”,浪费太多时间。另外,编程时养成用注释记录思路的习惯,每一步的作用是什么,输出的结果应该是什么,用注释在程序的对应部分随手记录,这样调试的时候会方便很多。

★高世伟同学的建议

01

备考思路

留给大家的复习时间并不是特别的充裕,因此更要抓住手上优质的复习资源,包括我们的教材、ppt、平时的习题。对于理论知识的掌握,大家可以首先通过温习PPT的方式重新进行一遍梳理,主要了解各个数据结构所有的基础概念和操作。随后可以对平时作业理论部分的错题或者当时不清楚的题进行回顾,再学有余力的同学可以完成教材后的练习题作为巩固。对于编程题,大家要掌握各数据结构基础操作的编程实现,最好在考试之前就形成一套自己固有的实现方式。同时大家还可以回顾作业中各数据结构的经典编程题,比如用链表实现的约瑟夫环、用栈实现的表达式计算、用多叉树实现的喜鹊筑巢等。编程题考察的知识点相对比较明确,只要大家对基础操作烂熟于心,相信大家都能做到以不变应万变。

02

重点内容

由于本学期学习的都是最基础而又最重要的数据结构,因此它们都可以算是本门课的重点。我们本学期学过的主要数据结构包括链表、栈、队列、树、图等,下面我简单列举一些这些数据结构的重点操作(不完全)。链表的重要操作是它的插入与删除。栈和队列主要需要

分享 转发
TOP
发新话题 回复该主题