dfs时间复杂度_《数据结构与算法》分析时间与空间复杂度

本文探讨了《数据结构与算法》的核心,包括复杂度指标Big O Notation,如何分析时间复杂度,常见的时间复杂度例子,如O(1)、O(n^2)等,并通过斐波那契数列展示了降低复杂度的方法。同时,讨论了二叉树遍历、图的遍历、搜索算法DFS和BFS的时间复杂度,强调了理解并优化时间复杂度对于编写高效代码的重要性。
摘要由CSDN通过智能技术生成

5ff766e5e31be4e6e3ca1632ea338f8d.png
本文是覃超老师的《算法训练营》的学习笔记,此笔记的内容包含了学习后的个人记录、个人总结、理解和思想。从而更好的学习算法。

前言

学习任何一门知识的时候,我们需要分析清楚这门知识的核心是什么,从而在这个核心中我们可以得到什么。如果我们是盲目的吸收知识,其实很多知识我们都是在目前场景、工作、生活中无法使用的。也是因为学习之后无法运用,所以我们很快就会遗忘,或者是在学习的过程中很容易就会放弃。

在一生的学习的过程中,发现学习我们急需使用或者能给我们及时带来价值的知识,我们会学的更加牢固,更加能坚持学习。

学习《数据结构与算法》这门知识的核心是什么?又能得到什么呢?

  1. 弄懂编程的底层逻辑;
  2. 在编程的过程中,拥有一个哆啦A梦一样百宝工具袋;
  3. 在遇到性能问题的时候,有算法的思维逻辑和规则来解决问题;
  4. 提高编程思维;

这篇笔记记录了算法的核心时间和空间复杂度,《数据结构与算法》都是围绕着这个核心开展的。它的存在也是为了解决我们在编程的过程中性能问题,同时也让我们有更高级的思维和思路,写出更优质的程序。

edf2962b062f626b6b5f986399a00f52.png

复杂度指标 Big O Notation

  • O (1): 常数复杂度 - Constant Complexity
  • O (log n): 对数复杂度 - Logarithmic Complexity
  • O (n): 线性复杂度 - Linear Complexity
  • O (n^2): 平方复杂度 - N square Complexity
  • O (2^n): 指数 - Exponential Growth
  • O (n!): 阶乘 - Factorial

如何看时间复杂度

  • 分析函数;
  • 根据n的不同情况会运行多少次;
  • 最后得出一个平均的运行次数的量级;

Complexity 例子

O (1) - 常数复杂度

let n = 1000;
console.log("Hello - your input is: " + n)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值