【数据结构与算法】(1):什么是算法复杂度


字数:388 阅读时长:1分钟 阅读:85

每种编程语言都有自己独特的语法,但是相对于计算机来说,数据结构和算法是通用的。什么是复杂度?时间复杂度和空间复杂度又是如何的定义的?本文就简单讲一讲。

数据结构与算法 · 复杂度

一、什么是复杂度?

  • 程序执行时需要的计算量和内存空间(和代码是否简洁无关)
  • 复杂度是 数量级 (方便记忆、推广),不是具体的数字
  • 一般针对一个具体的算法,而非一个完整的系统

二、时间复杂度

时间复杂度: 程序执行时需要的计算量(CPU)

  • O(1)一次就够(数量级 )
  • O(n)和传输的数据量一样(数量级)
  • O(n^2)数据量的平方(数量级)
  • O(logn)数据量的对数(数量级)
  • O(n*logn)数据量*数据量的对数(数量级)

时间复杂度

三、空间复杂度

空间复杂度: 程序执行时需要的内存空间

  • O(1)有限的可数的空间(数量级)
  • O(n)和输入的数据量相同的空间(数量级)

四、现状

前端开发:重时间、轻空间


《数据结构与算法》系列

  1. 什么是算法复杂度
  2. 堆(heap)、栈(stack)、队列(queue)
  3. 把一个数组旋转k步
  4. 判断字符串是否括号匹配
  5. 数组、栈、链表、队列结构与对比
  6. 用两个栈实现一个队列
  7. 反转单向链表
  8. 用链表实现队列
  9. 二分查找
  10. 查找两数之和

欢迎访问:天问博客

本文作者: Tiven
发布时间: 2023-07-09
最后更新: 2023-07-20
本文标题: 【数据结构与算法】(1):什么是算法复杂度
本文链接: https://www.tiven.cn/p/b9063113/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
欢迎留言,提问 ^_^
个人邮箱: tw.email@qq.com
notification icon
博客有更新,将会发送通知给您!