请问计算机零基础考研如何复习数据结构?
如果只需要50天,我个人认为是肯定不够达到考研408所要求的数据结构水平的。首先教材是严为民的《数据结构》(C描述),这本书难度很大,写的很透彻很专业。没有两三遍很难理解透彻。第一次用了一个半月,然后配合问题+第二次,远不止50天。考试时间有限,题量不小。那些常见的算法,比如二叉树的非递归遍历算法,求宽求高,各种排序算法,堆排序的调整算法,AVL的各种旋转算法,KMP的求下一个数组的算法等等。,至少要能熟练快速的写代码。如果要长时间记忆,怎么写完题目?鉴于题目不考408,你的数据结构独立命题难度有多大?建议大家买一些历年真题对比一下,配合大纲。不考的不用复习,重点看考过的知识点。如果不难,可以省去一些难的部分,比如图算法的实现,线索二叉树,AVL树的算法等等,但是原理要深刻理解。学了C,不代表不需要学链表、字符串、排序。不知道你用的是哪本教材的C,如果只是学C语言,确实会有一些数据结构的知识,但是太浅太窄了。比如string,C语言可能刚学会一点字符串处理?在严为民的数据结构教材中,如果说广义字符串和链表,我们也是先说顺序表,而不是链表,这是一个子集关系。排序,其实冒泡排序和快速排序都是内部排序,外部排序C语言不要学。再高效的学习方法,最终目的都是为了深刻理解和灵活运用所学知识。这种事情没有捷径,只能去了解,去非常熟悉。
对C语言的要求不是很高。让我给你总结一下:
1.基本语法要非常熟悉,比如函数结构,循环结构,switch,struct,typedef,static等等。
2.熟练使用指针,使用malloc(),free()和sizeof(),了解原理和工作流程。
3.熟练使用递归函数调用,理解其思想,因为很多数据结构都是递归定义的,比如二叉树。这个递归的思想很重要,要有把递归转化为非递归的能力。在考试过程中,如果能熟练使用递归,可以在算法设计题上节省大量时间,因为如果实现递归,代码量会大大减少。
4.最好了解一下C++的引用(&;),因为严为民数据结构在这本教材中被广泛使用&;(通过引用传递)和* &传递参数,其实在C++中,引用是通过指针来实现的,这并不是什么新鲜事。
最后建议:
如果你真的想在50天内解决数据结构,每天至少花6个小时在数据结构上。
多做题,多动脑筋,多写手写代码。数据结构无法记忆。一定要理解算法的原理,灵活运用。这里:?祝你好运!
?(希望采纳)