前言
专业课难度非常大,我非常慌。啥也不复习了,就复习专业课好了。这个东西,我一定要把基本的东西学清楚,不然真的过不了单科线,啥也没用了。但是也别害怕。大家都是这么学的,我也不是说要考专业课第一,考一个前列的分数就花时间就好了。恩,加油。
线性试探
线性试探实际上我是知道的。就是冲突了就往后面移动一位。有些证明确实难。立即推放弃考研了。呜呜呜。实在理解不了就死记硬背了。真是靠了。专业课平均分实际上也就是一百分多一点点。我目标还是一百二呢,感觉一百二很有挑战性,我要是目标一百分,搞不好最后考个七八十分就废了。目标还是盯着一百二十分去考吧。算法题准备把力扣上面的简单中等的,二叉树和二叉搜索树的题都给写了。看得想睡觉,明明睡到自然醒的。要不要考虑喝咖啡了。考虑累了困了就睡二十分钟好了。这样比较好。
重散列
散列和排序的部分可以考虑复习一下算法导论。写了一下数学题,现在写数学题非常有正反馈,感觉数学强到爆炸。感觉多说无益,不如拿到一道题从头算到尾,丝滑的解题过程让我非常非常开心。进入了一种心流状态。但是考研不是只考数学。四门科目都要有这种感觉自己才能把初试学好。
基数排序
分层次排序。比如说金牌的最后一名比银奖的第一名的实力可能要强。从低位到高位依次排序。递归基就是最显然的情况。桶排序具有稳定性。特定场合非常高效。
桶排序
时间复杂度有优化和未优化的分别
常对数密度
常规密度的极限是零。取对数之后变成了一个常数。这个也是取极限之后是常数。比零大的常数。
线性排序算法
n 进制。排序的时间复杂度降到了线性。
进制转换
O ( l o g b a s e n ) base 是 base 进制,n 表示被转换的数字 O(log_{base}n)\text{ base 是 base 进制,n 表示被转换的数字} O(logbasen) base 是 base 进制,n 表示被转换的数字
回顾
桶排序的时间复杂度 O ( n + M ) M 是数字的最大的范围 O(n+M)\text{ M 是数字的最大的范围} O(n+M) M 是数字的最大的范围
M 很大是难以接受的一件事。
CBA 式算法的时间复杂度
comparison based algorithm ,就是比较式算法,问豆包都不知道这个东西,有点不行了,还是问 ds 吧,稍微靠谱一点。时间复杂度的下界是 O ( n l o g n ) O(nlogn) O(nlogn)
常对数密度的整数集
表示的是选择的数字的个数,占范围内所有整数数目的比例,描述这个稀疏程度的。假设对数密度是一个常数级别的,那么基数排序是线性时间复杂度的。
o(nlogn)
表示的是什么级别的时间复杂度
从渐进意义上来考虑,比 O(nlogn)
快。o 表示的是一个严格的最优上界。比如说 100 可能是一个上界,99 可能是最优的严格上界,那么 o 表示的是这个 99.
最后
take your time .