【专栏必读】王道考研408数据结构+计算机算法设计与分析万字笔记、题目题型总结、注意事项、目录导航和思维导图

其他科目导航


视频介绍

408(计组+操作系统+数据结构+计网)王道计算机考研专栏万字笔记-祝您考研上岸


首先感谢王道大大(手动比心),很用心在做了,笔记会按照如下方式、特点记录,大家可以看看,介绍在后面

一:必读

①:《计算机科学专业基础综合》(代码408) 想必每位计算机考研人都有所了解,虽然可能所考院校是自命题,但总会涉及408中的一种或多种。408会涉及如下4门课,它们各有特点

  • 《计算机组成原理》(占30%):涉及硬件等底层知识、部分知识晦涩难懂
  • 《操作系统》(占23.3%):计算机中的“哲学”,内容特别抽象,感觉“学了等于没学”
  • 《数据结构》(占30%):最重要的一门课,逻辑性强,较为抽象,常和算法有关
  • 《计算机网络》(占16.7%):关联知识较多(例如通信),所以知识点“又臭又长”

所以408难度确实不小,在180分钟内做完一套试卷犹如进行了一场战斗。而且最为关键的是考计算机一定会考数学,数学的复习几乎会占据你考研复习时间的一半(甚至更多),因为“得数学者得天下”

②:对于408的复习,市面上的授课机构主要是王道和天勤,它们两家真的都非常非常好,我都细心看过

  • 王道:知识点涵盖全面、讲解仔细
  • 天勤:讲解角度独特,动画制作精美,关键问题容易理解

而王道也把人家的课程全部上传至了B站,所以专栏笔记主体会基于王道进行,所以这里真的特别特别感谢王道

③:只有考研人才能懂考研人,所以我深知复习408的痛苦。面对海量的知识点你会感觉力不从心,尤其在前期,总是学了这一章忘了上一章,而且很多时候不同科目的知识经常搅到一起。因此,我花费了很长时间写了这些专栏笔记以帮助大家考研复习,有以下特点

  • 专栏笔记会按照视频课和课本的逻辑进行记录,会把老师课上所讲内容和课本进行结合,同时辅助一些自己在工作、学习中的想法

  • 说个实话,视频课中的内容是有点“”的,因为老师在讲课时是需要按照他的思路来进行的,所以我的目的就是要让其系统性(也即你会知道每一节究竟在干什么),便于同学查阅;同时有些知识点晦涩难懂,我会加入自己的理解便于大家学习

  • 所有笔记纯手打(课本+老师说的话+自己的理解),并不是视频课截图(当然有些图片肯定还是会采用截图)

  • 所有笔记会严格控制格式(主要就是公式和配色),力争做到清晰、简洁、整齐

  • 部分科目会配有题型讲解,大家可以在我主页处找到,这一部分还在更新

④:专栏会一直更新,主要是纠错和补充知识点

⑤:希望大家能够意识到学习这四门课并不是简简单单为了考研,只要你真心想要走计算机这条道路,它就是你的基本功

  • 就拿离你们最近的校招来说,其实70%的内容都是这些

⑥:“道阻且长、行则将至”,大家加油吧!

二:关于专栏及学习建议

  • 思维导图链接(冒号后面的就是提取码):jgtf

  • 所用教材为 《2023年数据结构考研复习指导》

  • 数据结构这门课可以说是四门课中最好学的了吧,但是它可以扩充的面非常多,而且灵活性较大。本人在初学数据结构时,有幸研究过一本书叫做:《大话数据结构》,相信有很多朋友看过,其内容深入浅出,有条有理可谓之一绝。因此该笔记中会大量补充有关这本书中的精华内容
    请添加图片描述

  • 学习数据结构C语言一定过关,尤其是内存管理和指针、引用那一块。如有需要请查看第三部分“408所需C语言基础”

  • 数据结构其逻辑不难,而且很容易上手,但是难点在于如何使用一门语言将一个结构(例如栈、二叉树等)及其对应的操作(如图的DFS,BST树的删除、AVL树的平衡调整等)完完整整,正确无误的走通。这需要你对一门语言和数据结构的深刻理解,当然考研中数据结构还是偏向于伪代码。但是如果大家想要真的学习好这门课,那么必须亲自实现这些代码,到时候你会发现,你原本以为的非常简单的顺序表其实并没有那么简单,甚至连一个插入操作都无法写正确。所以这个过程请大家一定要重视,这是一个非常重要的深化过程

  • 因此本专栏笔记中所有操作均为伪代码(拜托再不要问我代码为啥运行不了这样的问题了🙉),而可以跑通的代码(C/C++实现)全部整理在该专栏中数据结构(非伪码)

  • 数据结构常常对应一个东西就是算法,考研数据结构算法类的题目主要集中在二叉树和链表。大家一定要刷题!刷题!刷题!(LeetCode

  • 笔记是学好的必要条件,但不是充分条件

  • 记笔记的目的不是单纯的为了“记”,是为了以后复习时不需要太大的时间成本

  • 学习一门课就像开发一个程序一样,先搭框架,后解决细节问题。前期需要迅速建立一门学科的整体框架与逻辑,不会的可以直接跳,学完之后需要反复梳理

三:C语言学习和知识点总结

(1)C语言基础知识点

第一章:C语言快速入门及注意事项

第二章:字符串函数和内存函数

第三章:函数与递归

第四章:数组入门

第五章:操作符

第六章:指针入门

第七章:结构体相关

第八章:简单调试

第九章:指针进阶

第十章:分支与循环

(2)C语言重点、难点、考点整理

第一章:数据类型、常量和变量

第二章:C语言文件

第三章:C语言内存管理

第四章:C语言指针

第五章:C语言预处理

第六章:C语言中的重要符号

第七章:关键字精讲

四:C++学习

第一章第一节:C++简介与学习方法

第二章第一节:C++快速入门之命名空间

第二章第二节:C++快速入门之输入和输出

第二章第三节:C++快速入门之缺省参数

第二章第四节:C++快速入门之函数重载

第二章第五节:C++快速入门之引用,引用和指针的区别

第二章第六节:C++快速入门之内联函数,auto关键字,C++11基于范围的for循环和nullptr

第三章第一节1:类的引入和类的定义以及访问限定符和封装还有对面向对象的理解

第三章第一节2:类的对象模型、计算类的大小以及this指针问题

第三章第二节1:类的默认成员函数之构造函数和析构函数

第三章第二节2:类的默认成员函数之拷贝构造函数

第三章第二节3:类的默认成员函数之运算符重载

第三章第三节:初始化列表、匿名对象和explicit关键字

第三章第四节:类的静态成员变量和静态成员函数

第三章第五节:类之友元函数、友元类和内部类

第三章第六节:日期类实现

第四章:C/C++内存管理

第五章:C++泛型编程和模板

第六章第一节:C++之STL简介

第六章第二节1:C++STL之string基本使用

第六章第三节1:C++STL之vector基本使用

第六章第四节1:C++STL之list基本使用

第六章第五节1:C++STL之stack和queue基本使用

第六章第六节:C++STL之priority_queue(优先级队列)和仿函数

第六章第七节1:C++STL之set和map的基本使用

第七章:C++的IO流和stringstream

第八章第一节:C++继承之继承概述和继承语法

第八章第二节:C++继承之父类和子类对象赋值转换(切片)探究

第八章第三节:C++继承之作用域,隐藏,重定义和静态成员

第八章第四节:C++继承之子类的默认构造函数如何使用

第八章第五节:C++继承之多继承,菱形继承,虚继承,虚基表,继承和组合

第九章第一节:C++多态之对多态的理解和多态的实现条件以及虚函数还有重载重写冲定义的区别

第九章第二节:C++多态之纯虚函数和抽象类以及接口继承和实现继承

第九章第三节:C++多态之多态的实现原理之虚函数表,虚函数表指针静态绑定和动态绑定

第九章第四节:C++多态之单继承和多继承中的虚函数表

第九章第五节:C++多态之多态和继承的经典题目以及面试中常考内容

五:王道考研408数据结构导航

第一章:绪论

(王道408考研数据结构)第一章绪论-第一节:数据结构的基本概念、三要素、逻辑结构和物理结构

(王道408考研数据结构)第一章绪论-第二节1:算法的基本概念、算法的特性及设计要求

(王道408考研数据结构)第一章绪论-第二节2:算法的时间复杂度和空间复杂度

第二章:线性表

(王道408考研数据结构)第二章线性表-第一节:线性表的定义和基本操作

(王道408考研数据结构)第二章线性表-第二节1:顺序表的定义

(王道408考研数据结构)第二章线性表-第二节2:顺序表的操作

(王道408考研数据结构)第二章线性表-第二节3:Java、C++、Python实现顺序表

(王道408考研数据结构)第二章线性表-第三节1:单链表的定义及其操作(插入和删除,建立之尾插和头插)

(王道408考研数据结构)第二章线性表-第三节2:双链表的定义及其操作(插入和删除)

(王道408考研数据结构)第二章线性表-第三节3:循环单链表和循环双链表

(王道408考研数据结构)第二章线性表-第三节5:顺序表和链表的比较

(王道408考研数据结构)第二章线性表-第三节6:Java、C++、Python实现链表

第三章:栈和队列

(王道408考研数据结构)第三章栈和队列-第一节:栈基本概念、顺序栈和链栈基本操作

(王道408考研数据结构)第三章栈和队列-第二节:队列基本概念、顺序栈和链栈基本操作

(王道408考研数据结构)第三章栈和队列-第三节1:栈的应用之括号匹配问题和表达式问题(前缀、中缀和后缀)

(王道408考研数据结构)第三章栈和队列-第三节2:栈的应用之递归

(王道408考研数据结构)第三章栈和队列-第四节:特殊矩阵压缩方式

(王道408考研数据结构)第三章栈和队列-第五节:Java、C++、Python实现栈和队列

第四章:串

(王道408考研数据结构)第四章串-第一节:串的定义和基本操作及存储结构

(王道408考研数据结构)第四章串-第二节:串的模式匹配算法(朴素和KMP)

第五章:二叉树

(王道408考研数据结构)第五章树-第一节:树的定义、基本用语和常考性质

(王道408考研数据结构)第五章树-第二节1:二叉树的定义、特殊的二叉树及二叉树性质

(王道408考研数据结构)第五章树-第二节2:树与二叉树的存储结构

(王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序)

(王道408考研数据结构)第五章树-第三节2:二叉树构造和重建

(王道408考研数据结构)第五章树-第三节3:线索二叉树

(王道408考研数据结构)第五章树-第三节4:树与二叉树的转换

(王道408考研数据结构)第五章树-第三节5:C、C++和Java实现二叉树

(王道408考研数据结构)第五章树-第四节1:二叉树排序树(BST)及其操作

(王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转

(王道408考研数据结构)第五章树-第四节3:哈夫曼树基本概念、构造和哈夫曼编码

(王道408考研数据结构)第五章树-第四节4:红黑树基本概念及操作

第六章:图

(王道408考研数据结构)第六章图-第一节1:图的基本概念、术语、连通图、连通分量和生成树、森林

(王道408考研数据结构)第六章图-第二节1:图的存储结构(邻接矩阵、邻接表、十字链表和邻接多重表)

(王道408考研数据结构)第六章图-第三节:图的遍历(DFS和BFS)

(王道408考研数据结构)第六章图-第四节1:最小生成树之普利姆算法(思想、代码、演示、答题规范)

(王道408考研数据结构)第六章图-第四节2:最小生成树之克鲁斯卡尔算法(思想、代码、演示、答题规范)

(王道408考研数据结构)第六章图-第四节3:最短路径之BFS算法(思想、代码、演示、答题规范)

(王道408考研数据结构)第六章图-第四节4:最短路径之迪杰斯特拉算法(思想、代码、演示、答题规范)

(王道408考研数据结构)第六章图-第四节5:最短路径之弗洛伊德算法(思想、代码、演示、答题规范)

(王道408考研数据结构)第六章图-第四节6:拓扑排序(AOV网、代码、排序规则)

(王道408考研数据结构)第六章图-第四节7:关键路径(最早发生时间、最迟发生时间)

第七章:查找

(王道408考研数据结构)第七章查找-第一节:查找的基本概念、平均查找长度

(王道408考研数据结构)第七章查找-第二节1:顺序查找及其优化

(王道408考研数据结构)第七章查找-第二节2:二分查找及其判定树

(王道408考研数据结构)第七章查找-第二节3:分块查找

(王道408考研数据结构)第七章查找-第三节:B树(基本概念及其操作)

(王道408考研数据结构)第七章查找-第四节:哈希表(基本概念及其操作)

第八章:排序

(王道408考研数据结构)第八章排序-第一节:排序综述

(王道408考研数据结构)第八章排序-第二节:直接插入排序和希尔排序

(王道408考研数据结构)第八章排序-第三节1:简单选择排序

(王道408考研数据结构)第八章排序-第三节2:堆与堆排序

(王道408考研数据结构)第八章排序-第四节1:冒泡排序

(王道408考研数据结构)第八章排序-第四节2:快速排序

(王道408考研数据结构)第八章排序-第五节:归并排序

六:计算机算法设计与分析导航

众所周知,408数据结构中算法题是非常重要的,而且这些算法很难拿高分,很多同学有事迫于无奈只能用暴力法解决(甚至都做不出来),但熟不知这些算法题也是有方法可寻的。故此部分结合《计算机算法设计与分析》(第五版王晓东著)对一些常见算法进行说明

注意

  • 这部分的题目是一些纯算法题(动态规划、贪心等等)。还有一种类型的题目比较特殊,那就是与数据结构相关的算法题,其中链表和二叉树最多
  • 有幸阅读过labuladong(简称东哥) 的算法详解,链接为:LABULADONG 的算法网站,其内容深入浅出令人拍案叫绝,所以在整理时也会借助他的部分文章,所以这里提起进行声明
  • 408算法题一般来自LeetCode(链接
  • 题目难度相当于CCF前两题、PAT甲级前三题或LeetCode难度中等偏下
  • 不要把过多精力放在这里,因为这个东西很容易走火入魔。相信我,即便你已经很厉害了,但总会有你不会做得题,而且就算你用暴力法解决了也可以拿到一半分
  • 下面文章中,着重注意回溯法,因为它就是暴力法,可以说是万能算法
  • 部分章节还在补充中…

(算法设计与分析)第一章算法概述-第一节:算法基本概念和算法复杂性分析

(算法设计与分析)第一章算法概述-第二节:NP完全性理论

(算法设计与分析)第一章算法概述-习题

(算法设计与分析)第二章递归与分治策略-第一节:递归和典型递归问题

(算法设计与分析)第二章递归与分治策略-第二节:分治和典型分治问题

(算法设计与分析)第三章动态规划-第一节1:动态规划基本思想、框架

(算法设计与分析)第三章动态规划-第一节2:动态规划之使用“斐波那契数列”问题说明重叠子问题如何解决

(算法设计与分析)第三章动态规划-第一节3:动态规划之使用“找零钱”问题说明最优子结构如何解决

(算法设计与分析)第三章动态规划-第二节:动态规划之背包类型问题

(算法设计与分析)第四章贪心算法-第一节:贪心算法概述

(算法设计与分析)第七章随机化算法概述

  • 113
    点赞
  • 1195
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
数据结构学习资料分享 内容概览: 本次分享包涵了大学计算机相关专业必学的“数据结构”课程的一系列学习资料。主要包括: 算法代码:我们提供了多种数据结构的实现代码,包括数组、链表、栈、队列、树、图等。这些代码不仅能帮助你理解数据结构的基本概念,而且能让你明白如何在实际情况中应用这些数据结构笔记:详细且系统的笔记,涵盖了数据结构的各个方面,从基础概念到复杂的数据结构如堆、B树等。这些笔记有助于你系统地复习和学习数据结构。 相关书籍推荐:为了更深入地理解数据结构,我们推荐了几本经典的教材和参考书籍。这些书籍将帮助你建立完整的数据结构知识体系。 适用人群: 这份学习资料适用于所有大学计算机相关专业的学生,无论你是初学者还是已经有一定的数据结构基础。同时,对于对数据结构感兴趣的非专业人士,这份资料也是一个很好的起点。 使用建议: 结合理论和实践:在学习的过程中,请结合算法代码和理论知识。尝试自己编写代码实现数据结构,并在遇到问题时参考提供的代码。 由浅入深:建议先从基础的数据结构开始学习,如数组和链表,然后再学习更复杂的数据结构如树和图。 多做练习:数据结构是实践性很强的学科。通过多做练习,你可以更好地理解数据结构的基本概念和原理,并提高编程能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐江湖

创作不易,感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值