算法这门课有个尴尬的地方:很多人刷了几百道题,面试时换个问法还是卡住;也有人能背出快排的代码,却说不清为什么堆排序在建堆阶段是 O(n)。问题往往不在题量,而在于知识点是散的——每个都会一点,连不成线。这套门徒计划的算法课,适合的正是这种「刷过题但不成体系」的状态。
先确认你是不是它的目标读者
如果你属于下面几种情况,这门课值得花时间:能写出递归但分析不清递归树的时间复杂度;知道动态规划要定义状态,却总在状态转移方程上卡壳;图论部分只记得 Dijkstra 的名字,遇到带负权边的题就不知道换哪种算法;树结构里能写遍历,但面对平衡、堆调整这类操作要靠背。
反过来说,如果你连基本的循环、数组、指针都还不熟,直接上这门课会吃力。它不是零基础入门,默认你已经写过一定量的代码,缺的是把数据结构和算法串成体系的那一步。
它按什么线索组织内容
课程从数据结构这条主线切入,树和堆是重点铺开的部分。二叉树不只是讲三种遍历顺序,而是要把遍历背后的递归结构讲清楚,因为后面很多算法都是在这套结构上做变形。堆则单独拎出来讲优先队列,这直接关系到后面图算法里怎么高效取最小权值。
在此之上延伸到几类核心算法思想:分治、动态规划、图论。动态规划部分不会停在背包问题,而是要求你能从暴力递归一步步推导出状态定义和转移方程。图论覆盖最短路、最小生成树这类经典问题,重点在于搞清楚每种算法适用的前提条件——什么时候能用 Dijkstra,什么时候必须换 Bellman-Ford,什么时候图里有环会影响结果。
最后落到算法优化上。同一道题,O(n²) 和 O(n log n) 的差距在哪,用什么手段把复杂度降下来,这部分是把前面所有知识重新过一遍的过程。
配套练习该怎么用
光看视频不会产生算法能力,这门课的内容量不小,建议按「看一节、当天动手写一遍、隔三天再默写一遍」的节奏推进。尤其是树和动态规划两段,看讲解时觉得懂了,自己动手时往往写不出边界条件。
做题时不要只求通过。每道题写完后问自己三个问题:时间复杂度是多少,能不能优化一档,如果输入规模翻十倍会不会出问题。这三个问题比多做十道新题更有用。
图论部分建议单独整理一张表,把每种算法的适用条件、复杂度、能不能处理负权、能不能处理负环列清楚。这张表在面试前比任何笔记都管用。
看完应该能回答的问题
- 为什么建堆的时间复杂度是 O(n),而不是直觉上的 O(n log n)?
- 递归改写成迭代,通常有哪几种思路,各自适用于什么场景?
- 一个问题满足什么条件才适合用动态规划,而不是贪心或分治?
- Dijkstra 为什么不能处理负权边,换成 Bellman-Ford 后代价是什么?
- 面对同一道题,你会从哪几个方向判断能不能把复杂度再降一档?
如果这些问题你现在答不上来,或者答得含糊,那这门课正好补的就是这块。缺什么补什么,别假装什么都会——算法这块,含糊的地方面试官一问就露。
�����ΰɡ���ͽ�ƻ� - �㷨��
����dz�������պ����㷨����
�༭����
ϵͳ���⾭���㷨���������ݽṹ���㷨�Ż����ʺ��㷨��������ס�
? �༭�Ƽ�
�����ΰɡ���ͽ�ƻ�������ϵͳѧϰ�㷨֪ʶ���������������
�γ̺��ǣ����ݽṹ�������㷨����̬�滮��ͼ�ۡ�����ͼ�ȡ�
�����
�γ�Ŀ¼
�����ΰɡ���ͽ�ƻ� - �㷨�αؿ�.png [493.5 KB] ��03�µ�2�ڣ� 2-2 �ѣ�Heap�������ȶ���.mp4 [1.4 GB] ��03�µ�1�ڣ� 2-1 ��������Binary-Tree���뾭������.mp4 [1.6 GB] ��08�µ�2�ڣ� 2021.09.10 7-2 ��̬�滮�㷨.mp4 [853.8 MB] ��09�µ�1�ڣ� ����ƥ���㷨��KMP��Sunday �� Shift-[And.mp4 [911.6 MB] ��03�µ�3�ڣ� 2-3 ���鼯��Union-find������������.mp4 [1.4 GB] ��11�µ�1�ڣ� 2021.12.10 ��Ȥ��Ī����˹���ݣ�M?bius in.mp4 [932.9 MB] ��05�µ�3�ڣ� ���ѣ�DFS������ѣ�BFS������ʶ����״̬�ռ�.mp4 [1.3 GB] ��06�µ�3�ڣ� 2021.07.29 ר�����������.mp4 [1.5 GB] ��11�µ�3�ڣ� ����ϵͳ�е� RSA �㷨������.mp4 [1003.8 MB] ��11�µ�4�ڣ� ����ͽ����ʢ�䡿����ϵͳ�е� RSA �㷨������.mp4 [2.3 GB] ��05�µ�1�ڣ� �����㷨��Binary-Search�����¾����䣬��Խ����.mp4 [1.5 GB] ��02�µ�3�ڣ� 1-3 �ݹ���ջ��Stack�����������ʽ��ֵ.mp4 [1.6 GB] ��07�µ�1�ڣ� 2021.08.06 6-1��˺ AVL ��.mp4 [1.5 GB] ��08�µ�3�ڣ� 2021.09.17 7-3 ��̬�滮�㷨�Ż�.mp4 [877.0 MB] ��10�µ�3�ڣ� 2021.12.03 һ����ʽ�������㷨ѧϰ�Ұ�.mp4 [770.1 MB] ��01�µ�1�ڣ� �������.ts [1.4 GB] ��02�µ�1�ڣ� 1-1 ������List������������.mp4 [1.1 GB] ��04�µ�3�ڣ� 3-3�㷨ϵ��(Algorithm�㷨��̸)��Ȥ������˼��.mp4 [1.2 GB] ��08�µ�1�ڣ� 2021.09.03 7-1 �����㷨��������·.mp4 [1.5 GB] ��05�µ�2�ڣ� ��ϣ���벼¡������.mp4 [1.4 GB] ��02�µ�2�ڣ� 1-2 �̳߳���������У�Task-Queue��.mp4 [1.2 GB] ��09�µ�3�ڣ� �ֵ���Trie˫�����ֵ���Double-Array-Trie.mp4 [1.1 GB] ��11�µ�2�ڣ� ����ϵͳ�е� RSA �㷨��һ��.mp4 [1.1 GB] ��04�µ�2�ڣ� 3-2 �鲢����Merge-Sort�����Ӷ�·����·.mp4 [1.3 GB] ��10�µ�2�ڣ� 2021.11.12 ��ǰ������״����.mp4 [892.8 MB] ��10�µ�4�ڣ� ��Ȥ��Ī����˹���ݣ�M?bius inversion��.mp4 [1.0 GB] ��07�µ�3�ڣ� 2021.08.27 6-3 ��˺��������£�-ɾ������.mp4 [1.2 GB] ��04�µ�1�ڣ� 3-1 ��������Quick-Sort�����Ż�.mp4 [947.9 MB] ��07�µ�2�ڣ� 2021.08.13 6-2 ��˺��������ϣ�-�������.mp4 [1.7 GB] ��06�µ�2�ڣ� 5-2 ����ջ��Monotone-Stack������������.mp4 [1.5 GB] ��06�µ�1�ڣ� 2021.07.01 5-1 �������м���������.mp4 [1.4 GB] ��10�µ�1�ڣ� ���������루Halfman-Coding��������ֵ���.mp4 [1.3 GB] ��09�µ�2�ڣ� 2021.10.15 �ַ���ƥ�����⡪���㷨ˢ��.mp4 [597.6 MB]
�ʺ���Ⱥ
- �㷨��ѧ��
- ��̰�����
- ��ְ��
ѧϰ�ջ�
ף��ѧϰ��죡
ѧ�����ɣ�ǰ���ƽ���






