文章目录
零、写在前面
该章节节选自 《画解数据结构》,为入门算法的最基础概念,请务必搞透,否则写算法时将会经常面临超时的窘境。博主所有的课程都是基于 c/c++ 的,java 我不会,但是我一直强调,学习算法和语言无关,算法只是一个思想,只要学好一门语言,就可以学习算法,希望你可以坚持下去。
一、基础概念
「数据结构」 和 「算法」 是密不可分的,两者往往是相辅相成的,所以,在学习 「数据结构」 的过程中,不免会遇到各种「算法」。
零基础学算法的最好方法,莫过于刷题了。当然,刷题是不够的,刷的过程中也要多多总结,多多思考,养成 「经常思考」 的习惯,这就是所谓的 「 流水不腐,户枢不蠹 」,任何事情都是需要坚持的,刷题也一样,没有刷够足够的题,就很难做出系统性的总结。所以上大学的时候,我花了三年的时间来刷题, 工作以后还是会抽点时间出来刷题。
千万不要用工作忙来找借口,时间挤一挤总是有的</
本文介绍了算法时间复杂度的基础概念,通过穷举法(单层、双层、三层循环及递归枚举)的例子阐述了如何计算时间复杂度,并详细讲解了大O表示法,包括时间函数、高阶无穷小和简化系数。常见的时间复杂度如常数阶、对数阶、线性阶、线性对数阶、多项式阶、指数阶和阶乘阶也得到了讨论。文章最后给出了根据问题规模判断时间复杂度的标准和方法。
订阅专栏 解锁全文
5万+





