2021年12月26日,22年考研落下帷幕,分享下今年的408算法大题,总共两题:
第41题,给你一个用数组表示的二叉树,判断这棵树是否为二叉搜索树:
送分题,中序遍历秒杀,但注意这道题是用数组表示的,而且根节点下标为0,下标为n的结点的左孩子结点下标为2n+1,右孩子结点下标为2n+2,注意,这道题给出了数组的大小,所以注意孩子结点下标不能越界,这道题没有要求时间、空间复杂度,不知道有没有大佬用空间复杂度O(1)的Morris算法来做。
附题源:
98. 验证二叉搜索树
第42题,从100000个数中找出最小的10个数:
送分题,堆(优先队列)秒杀,但注意要用大顶堆,这道题有要求时间、空间复杂度,用大顶堆时间复杂度,空间复杂度。
还有一个略超纲的解法,用选择算法+划分数组,详见《算法导论》第九章:中位数与顺序统计量,划分数组的算法和快速排序中的一致,选出第10小的数作为枢轴划分数组,数组前十个元素即为最小的10个数,时间复杂度,空间复杂度。
附题源:
剑指 Offer 40. 最小的k个数
但是简单意味着更卷,想想去年科软炸成那样都害怕,不知道今年卷出什么新高度,听说今年深大炸了,个人考研一点经验教训总结,在疯狂内卷的今天,考研想考高分还是要精益求精,送分题能不丢分尽量不丢分,常规题都要多做几遍吃透才行,还有算法题要练习纸上手写,平时只习惯用IDE开提示敲代码甚至直接CV大法上考场会有点卡顿。
如果上不了岸就再考一年吧,我要先把LeetCode刷穿!
附上我之前写的2009-2021年408题源整理:2009-2021算法大题题源
题源基本集中在前200题,偏数组,链表,二叉树基础代码考察。