人工精选【学堂在线】算法设计与分析 - 清华大学
这门课讲的是算法设计与分析,不是教你背几段代码,而是把「遇到一个问题,怎么想出一个能跑、跑得快、还能证明它没错的解法」这件事讲清楚。它解决的是工作里很常见的卡点:需求摆在面前,你能写出能跑的版本,但数据量一上来就超时;或者面试、评审时被追问「为什么这样设计」「复杂度多少」,答不上来。学完它,你对常见
会员可免费下载本篇月会员可免费领取。
开通会员 ›会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
这门课讲的是算法设计与分析,不是教你背几段代码,而是把「遇到一个问题,怎么想出一个能跑、跑得快、还能证明它没错的解法」这件事讲清楚。它解决的是工作里很常见的卡点:需求摆在面前,你能写出能跑的版本,但数据量一上来就超时;或者面试、评审时被追问「为什么这样设计」「复杂度多少」,答不上来。学完它,你对常见问题该套哪类思路会有判断,而不是凭感觉试。
适合什么基础,先看哪几块
前提是你会一门编程语言,能读懂循环、递归、数组和链表这类基本结构。如果连递归都还没写过,先补这一块再来,否则前半段会跟得吃力。课程从 Gale-Shapley 稳定匹配这类具体算法切入,再过渡到计算可行性、图的遍历与最短路、贪心、分治、动态规划、网络流和 NP 完全性。建议的顺序是:先看计算可行性和渐进复杂度那几讲,把「什么叫好算法」的尺子立起来;再顺着图、贪心、分治、动态规划这条主线走。动态规划是多数人的分水岭,别跳,配合课后自己重推一遍状态转移。NP 完全性那部分偏理论,第一遍听个框架就行,不必死磕证明细节。
学完能独立做什么
比较现实的目标是:拿到一道中等难度的算法题,你能判断它属于哪一类,写出正确解法并说清时间和空间复杂度;面对工程里的调度、路径、匹配、资源分配问题,你能识别出它对应哪个经典模型,知道该用贪心还是动态规划,而不是硬写暴力。它不会直接教你某个框架或业务系统,但会明显改善你写代码时的取舍能力,这部分在面试和代码评审里都能用上。
资料怎么配合练习
视频是主线,但只看不写基本等于没学。建议每看完一个算法,先合上视频自己写一遍实现,再对照讲解修正;图、动态规划、网络流这几块各挑两三道题动手做,做完回头想「如果数据规模翻十倍,我的解法还成立吗」。遇到卡住的地方,回到对应那一讲重看,比反复刷题更省时间。整套内容信息密度不低,按每周两到三讲的节奏推进,边学边写,比一口气刷完更扎实。
课程目录
课程目录62 集
- 28.[5.8.1]--InverseDFT(Av96888262,P28).mp4
- [35.5 MB] 38.[7.4.1]--ChoosingGoodAugmentingPaths(Av96888262,P38).mp4
- [58.0 MB] 31.[6.3.1]--KnapsackProblem(Av96888262,P31).mp4
- [54.7 MB] 54.[10.1.1]--LandscapeofanOptimizationPr(Av96888262,P54).mp4
- [27.9 MB] 45.[8.6.1]--NP-Completeness(Av96888262,P45).mp4
- [42.7 MB] 18.[4.7.1]--MinimumSpanningTree(Av96888262,P18).mp4
- [40.9 MB] 59.[11.2.1]--LinearityofExpectation(Av96888262,P59).mp4
- [40.1 MB] 47.[8.8.1]--NumericalProblems(Av96888262,P47).mp4
- [57.1 MB] 51.[9.3.1]--ThePricingMethodVertexCover(Av96888262,P51).mp4
- [44.8 MB] 10.[3.4.1]--ConnectivityinDirectedGraphs(Av96888262,P10).mp4
- [30.7 MB] 21.[5.1.1]--Mergesort(Av96888262,P21).mp4
- [74.8 MB] 2.[1.3.1]--Gale-ShapleyAlgorithm(Av96888262,P2).mp4
- [43.2 MB] 16.[4.5.1]--OptimalCaching(Av96888262,P16).mp4
- [70.3 MB] 3.[1.4.1]--UnderstandingGale-ShapleyAlgo(Av96888262,P3).mp4
- [50.2 MB] 44.[8.5.1]--ProblemsinNP(Av96888262,P44).mp4
- [51.3 MB] 11.[3.5.1]--DAGandTopologicalOrdering(Av96888262,P11).mp4
- [59.6 MB] 15.[4.4.1]--SchedulingtoMinimizeLateness(Av96888262,P15).mp4
- [46.3 MB] 41.[8.2.1]--BasicReductionStrategiesI(Av96888262,P41).mp4
- [47.4 MB] 52.[9.4.1]--LPRoundingVertexCover(Av96888262,P52).mp4
- [49.5 MB] 53.[9.5.1]--KnapsackProblem(Av96888262,P53).mp4
- [93.3 MB] 4.[2.1.1]--ComputationalTractability(Av96888262,P4).mp4
- [29.9 MB] 8.[3.2.1]--GraphTraversal(Av96888262,P8).mp4
- [33.7 MB] 1.[1.1.1]--Introduction(Av96888262,P1).mp4
- [36.4 MB] 60.[11.3.1]--MAX3-SAT(Av96888262,P60).mp4
- [50.8 MB] 24.[5.4.1]--IntegerMultiplication(Av96888262,P24).mp4
- [31.7 MB] 20.[4.9.1]--Clustering(Av96888262,P20).mp4
- [35.6 MB] 42.[8.3.1]--BasicReductionStrategiesII(Av96888262,P42).mp4
- [58.0 MB] 57.[10.4.1]--PriceofStability(Av96888262,P57).mp4
- [60.0 MB] 14.[4.3.1]--IntervalPartitioning(Av96888262,P14).mp4
- [24.8 MB] 55.[10.2.1]--MaximumCut(Av96888262,P55).mp4
- [51.3 MB] 27.[5.7.1]--FFT(Av96888262,P27).mp4
- [39.5 MB] 17.[4.6.1]--ShortestPathsinaGraph(Av96888262,P17).mp4
- [51.4 MB] 43.[8.4.1]--DefinitionofNP(Av96888262,P43).mp4
- [40.7 MB] 12.[4.1.1]--CoinChanging(Av96888262,P12).mp4
- [41.7 MB] 37.[7.3.1]--Ford-FulkersonAlgorithm(Av96888262,P37).mp4
- [65.2 MB] 46.[8.7.1]--SequencingProblems(Av96888262,P46).mp4
- [76.1 MB] 13.[4.2.1]--IntervalScheduling(Av96888262,P13).mp4
- [45.1 MB] 33.[6.5.1]--SequenceAlignment(Av96888262,P33).mp4
- [48.1 MB] 30.[6.2.1]--SegmentedLeastSquares(Av96888262,P30).mp4
- [38.1 MB] 61.[11.4.1]--ChernoffBounds(Av96888262,P61).mp4
- [38.4 MB] 49.[9.1.1]--LoadBalancing(Av96888262,P49).mp4
- [87.4 MB] 23.[5.3.1]--ClosestPairofPoints(Av96888262,P23).mp4
- [58.2 MB] 19.[4.8.1]--CorrectnessofAlgorithms(Av96888262,P19).mp4
- [38.6 MB] 58.[11.1.1]--ContentionResolution(Av96888262,P58).mp4
- [50.6 MB] 25.[5.5.1]--5.5MatrixMultiplication(Av96888262,P25).mp4
- [43.0 MB] 26.[5.6.1]--ConvolutionandFFT(Av96888262,P26).mp4
- [56.8 MB] 36.[7.2.1]--MinimumCutandMaximumFlow(Av96888262,P36).mp4
- [34.1 MB] 5.[2.2.1]--AsymptoticOrderofGrowth(Av96888262,P5).mp4
- [35.1 MB] 29.[6.1.1]--WeightedIntervalScheduling(Av96888262,P29).mp4
- [79.9 MB] 35.[7.1.1]--FlowsandCuts(Av96888262,P35).mp4
- [18.0 MB] 40.[8.1.1]--Polynomial-TimeReductions(Av96888262,P40).mp4
- [46.2 MB] 6.[2.3.1]--ASurveyofCommonRunningTimes(Av96888262,P6).mp4
- [46.7 MB] 7.[3.1.1]--BasicDefinitionsandApplicatio(Av96888262,P7).mp4
- [55.8 MB] 48.[8.9.1]--co-NPandtheAsymmetryofNP(Av96888262,P48).mp4
- [23.7 MB] 39.[7.5.1]--BipartiteMatching(Av96888262,P39).mp4
- [45.2 MB] 32.[6.4.1]--RNASecondaryStructure(Av96888262,P32).mp4
- [66.8 MB] 56.[10.3.1]--NashEquilibria(Av96888262,P56).mp4
- [42.5 MB] 9.[3.3.1]--TestingBipartiteness(Av96888262,P9).mp4
- [31.1 MB] 50.[9.2.1]--CenterSelection(Av96888262,P50).mp4
- [57.9 MB] 22.[5.2.1]--CountingInversions(Av96888262,P22).mp4
- [52.4 MB] 34.[6.6.1]--ShortestPaths(Av96888262,P34).mp4
- [43.4 MB] 适合人群 算法爱好者 编程初学者 计算机专业学生 学习收获 掌握算法设计原理 提升编程思维能力 增强解决问题能力 祝您学习愉快! 学有所成,前程似锦!





