本次视频讲解为试讲,部分材料来源于网络,不代表最后成书的质量。

2020版前言

本书针对计算机/软工相关专业数据结构考研所制,为灰灰考研系列复习全书,可作为数据结构考研复习时使用的复习全书。

皮皮灰先回答三个大家最关心的问题。

1.为什么要编写灰灰全书(数据结构)?

市面上现存的考研数据结构讲解大多针对统考408,与各大高校自主命题的试题往往不适配(要么缺了内容,要么多了内容)。

主要缺失的内容有以下几点:

1.缺少动态规划的讲解

2.对贪心法、蛮力法、分治法涉猎甚少

3.背包问题完全被pass掉了

对于这些缺失的内容,灰灰数据结构全书均有以各大高校真题为突破口的相关补充。

2.为什么选择灰灰全书(数据结构)?

灰灰全书最有价值的一点:皮皮灰整理了近几年100所高校(985/211/重点)的数据结构考研真题,并将其按内容依次整理至各章节的习题供各位考生学习。市面上的习题大多过于古老,00后的题?

3.如何以考研为目的学习数据结构?

首先皮皮灰表明下对这个问题的看法:

1、如果你踏踏实实按部就班正常学习数据结构,学会了考试自然没问题

2、如果你只是为了考研拿高分,数据结构一些先修课程(C语言,离散数学)不认真学习,直接死背算法概念(考研中数据结构算法是背的完的),你也同样可以取得高分。但这样以考研为目的学习的数据结构的知识是残缺的,是不利于今后更深入的学习的。

但是我们现在的首要矛盾是时间与分数的不一致性:在尽量短的时间(1个月时间)内,取得较为理想的分数,这就需要一定的技巧。

(1)关于先修课程

皮皮灰个人认为,如果你只是为了应付考研,数据结构先修课只需要理解清楚下面这几点。

1.顺序结构:单纯地从上往下执行。

2.选择结构:

如果(今天天气好),那么就去外面跑步锻炼。

如果(今天下雨了),那么就在屋子里面不出去。

3.循环结构:

程序在一定条件下,原地转圈

最初有1根筷子;

循环(每次都增加一根筷子){

如果(筷子数量小于10)筷子数量加1

如果(筷子数量大于或者等于10)退出循环

}

4.结构体与指针

现实世界中的青蛙可以抽象成一类对象,一个青蛙对象又有特有的属性(青蛙的颜色,青蛙的大小),下图表示了一个青蛙对象。

结构体可以将上述青蛙表示为

typedef struct{

String name;         //数据域

int age;             //数据域

struct Frog *next;   //指针域

}Frog;

那么不同的青蛙之间怎么建立联系?

5.什么是函数?

以一道题为例子

你现在是一个买卖青蛙的huster。每天的青蛙价格不一样,prices[i]代表青蛙在第i天的价格,求只做一次交易(买入1只,卖出1只)能得到的最大收益(你必须先买了青蛙之后才能卖青蛙)。

函数:int maxIncome(intprices[ ])

例子:

输入: i      0   1   2   3

prices[i]      4  1   2   3

输出:2

函数名称:上述函数函数名称为maxIncome

输入参数:青蛙每天的价格数组prices

函数主体:编程需要完成的功能,计算买卖青蛙最大的收益。

返回类型与返回结果:上述函数返回一个int型的结果

(2)考纲是灵魂

无论你选择的是什么参考书,参考书仅仅只能作为一个参考,不能完全照着上面学习。

对于各个学校自主命题的专业课,考纲才是灵魂。

市面上的数据结构针大多对的是统考408,并不是各个学校自主命题的参考书。因此,有非常多的知识点是不需要掌握的,如果你把大量时间花在这个上面,那就得不偿失了。

比如某学校数据结构的考纲:

排序

(1)排序的基本概念。

(2)插入排序、冒泡排序、快速排序、堆排序、归并排序、基数排序算法的原理、复杂度。

可以得知,排序这一章没有外部排序这一小节,在复习中,就可以把这一小节跳过。

市场上的数据结构参考书也有着不少知识点的缺失,

某学校数据结构的考纲:

算法基础

(1)字符串模式匹配算法。

(2)贪心法、分治法、动态规划的基本概念。

(3)计算复杂度类别的基本概念,NP-Complete问题。

如果你死跟数据结构参考书,你就GG了,这个知识点需要从算法书上学习。去年该学校真题:

(3)掌握好复习深度

备考本门专业课考试,不应该纠结于死板的诸如:加不加*号,用不用&之类的纯语言问题,而应该把重点放在对于算法整体的理解上,放开死板的语法知识。

对于代码题,如果学校没有明确的语言要求,建议使用C++进行编写:new,cin,cout等可以节省大量的时间而且不容易出错。

对于复习深度,不同学校的专业课考试难度是不一样的,有的学校考图的算法题,但有的学校不考算法题。不同学校之间的题目难度差别也很大,这就需要考生根据自己选择的学校控制复习的深度。

那么该如何掌握好复习深度?

答案是研究历年真题,通过历年真题,可以确定考试题型、考试趋势、考试难度,以某学校真题为例:

从这两年的考题中,可以掌握一些规律:

1.算法题为2道,均为15分。

2.考察范围为图与树,目前暂时没考过顺序结构。

3.树的题目需要掌握非递归解法。

4.图算法没有给结构体,需要自己定义,考试前需要特别准备。

针对这些规律,我们可以有针对的进行准备

1.算法题复习重点为图与树,但顺序表的算法题也不能掉以轻心。

2.树的算法题需要掌握非递归解法。

3.图的结构体需要特别记忆。

最后,不管你考什么,最难不过算法导论。

(4)关于练习题的选择

后期皮皮灰会专门出一本数据结构的习题册,涵盖近几年各大985/211/重点双非的习题大全,敬请关注。

最后,皮皮灰祝愿您考上理想的大学,成为理想中的自己。

从哪里获得灰灰全书(数据结构)?

目前灰灰全书仍在整理之中,待视频更新完成时,灰灰全书将正式上架

灰灰考研c语言讲义,灰灰全书之数据结构试讲相关推荐

  1. 839c程序设计语言kr,华东师范大学839数据结构(含c程序设计语言)考研

    考研专业课笔记是各高校本科生的听课笔记,内容详实可靠,重点突出,极其有效地体现了该门课程的教学重点和授课导师的讲课内容.笔记一般30页-120页. 华东师范大学839数据结构(含c程序设计语言)笔记为 ...

  2. 云大计算机831参考资料,云南大学2016年考研英语语言文学专业考研初试复试经验分享-CallmeSpell...

    云南大学2016年考研英语语言文学专业考研初试复试经验分享-CallmeSpell 2017-03-09 15:57:31 作者:CallmeSpell 来源: 浏览次数:100 网友评论 0 条 总 ...

  3. 计算机输入输出c语言,计算机等级考试二级C语言讲义第三讲输入输出函数

    <计算机等级考试二级C语言讲义第三讲输入输出函数>由会员分享,可在线阅读,更多相关<计算机等级考试二级C语言讲义第三讲输入输出函数(5页珍藏版)>请在人人文库网上搜索. 1.第 ...

  4. 计算机考研C语言基础

    计算机考研C语言基础 概述 ​ C语言是一门面向过程的.抽象化的通用程序设计语言,广泛应用于底层开发.C语言能以简易的方式编译.处理低级存储器.C语言是役产生少量的机器语言以及不需要任何运行环境支持便 ...

  5. 北大c语言百度云资源,北大C语言讲义.pdf

    北大C语言讲义 第一部分内容 1.计算机的历史与发展 第一部分 2.计算机的基本原理.计算机结构 3.计算机的抽象模型和基本问题 计算机基础 引言 计算机 现代计算机的历史始于 20世纪40年代后期. ...

  6. c语言辗转相除法不同规模的情况,C语言讲义终极勘误版.doc

    C语言讲义终极勘误版 C语言讲义 I.基本数据类型 整 型 类型说明符存储范围所占字节(B)int-231 ~ 231-14short (int)-215 ~ 215-12signed (int)-2 ...

  7. 南京理工大学c语言课程设计,南京理工大学C语言讲义第7章.ppt

    南京理工大学C语言讲义第7章 * 静态局部变量:static 在函数内部定义,存储在静态存储区,与auto对应,在别的函数中不能引用. 全局静态变量:static 在函数外部定义,只限在本文件中使用, ...

  8. 哈工大c语言第四版pdf,哈工大C语言讲义 指针.pdf

    哈工大C语言讲义 指针 指针 指指指针针针 数组与指针 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 指指指针针针 数组与指针 p a[0] a[ ...

  9. 2022考研数学李永乐复习全书pdf版-基础篇(数一二三通用)

    2022考研数学李永乐复习全书pdf版-基础篇(数一二三通用):https://pan.baidu.com/s/1tK9cPPG5Q-xhasqb051ymQ  提取码:1111 本书是专门为准备参加 ...

  10. r语言安装ipsolve_R语言讲义(包各种回归).ppt

    R语言讲义(包各种回归) R 语言讲义 吴喜之 免费(没有权力和铜臭) 资源公开, 可改变代码(不是黑盒子,也不是吝啬鬼, 透明是防止"腐败"的最好方式) 容易学习.可编程以实行复 ...

最新文章

  1. 谷歌这波大动作,暴露了什么信号?
  2. javap反编译学习
  3. 小学生python入门-小学生Python入门基础知识有哪些
  4. c++高级编程(第4版).pdf_《C++并发编程实战第2版》第四章:同步并发操作(1/4)
  5. VTK:图表之CreateTree
  6. 什么是VB.NET的结构化异常处理
  7. The Linux Process Principle, PID、PGID、PPID、SID、TID、TTY
  8. 与MyBatis的第一次见面课
  9. 工业4.0时代,企业如何提升设备管理效率?
  10. SQL连接查询语句(内、外、交叉和合并查询)
  11. python裁剪图片大小
  12. 股票涨停是什么意思呀?股市中股票涨停是什么意思?
  13. js 日期格式转换为中文日期
  14. 【Linux】Linux 开放端口
  15. R语言使用vtreat包的designTreatmentsC函数构建数据处理计划(treatment plan)、使用vtreat包进行数据准备
  16. WeChat applet 微信小程序(3) 事件绑定
  17. Android-少不了的 AAR 文件常识,最好知道的注意事项
  18. 第一部分 思科九年 一(19)
  19. LLMs 诸神之战:LangChain ,以【奥德赛】之名
  20. 计算机较为安全的硬盘分区,电脑到底该不该进行硬盘分区? 原来我们都被骗了!...

热门文章

  1. NVMe驱动解析-前言
  2. SQL Server2016安装教程
  3. SQL Server 2016如何创建数据库
  4. Keil 5安装教程
  5. 机器学习(周志华)知识点总结——第2章 模型评估与选择(后期上传word/PDF)
  6. php数组中去掉空格,php数组如何去除空格
  7. 锐起无盘工作站的安装
  8. 计算机连接双硬盘,电脑如何安装双硬盘
  9. java word转pdf_Java中Word转PDF解决方案
  10. Ubuntu 18.04中安装飞行模拟器FlightGear 2018.2.1