• 前端培训丁鹿学堂:前端算法基础汇总


    数据结构与算法

    数据结构:计算机存储,组织数据的方式。
    算法:一系列解决问题的清晰明确的指令。

    程序

    程序简单来说,可以认为是 数据结构+ 算法
    其实所有的数据结构都是为算法提供服务的,而算法也是围绕数据结构去进行的一系列的操作,他们相辅相成。
    算法是一系列的指令去操作数据,没有数据结构就没有办法存数据。

    常用的数据结构

    有序的数据结构:栈,队列,链表。
    无序的数据结构:集合,字典。
    高级的数据结构:树,堆,图。

    常见的需要了解的算法:

    链表:遍历链表,删除链表节点
    数组:冒泡排序,选择排序,插入排序,归并排序等
    树和图:深度优先遍历

    时间复杂度:

    时间复杂度是一个函数,用大写的O表示。O(1),O(n)
    它是用来定性描述算法的运行时间。定性是说它不会精确到某个算法运行多少秒,而是描述算法的时间大致趋势。
    我们需要了解的几个有O(1) 大概理解:
    如果没有循环,就是O(1) ,
    如果有for循环,for循环的代码因为执行了n次,所以时间复杂度就是O(n)
    如果两个for循环嵌套,那么时间复杂度就是O(n^2),因为是两个O(n)相乘
    时间复杂度为O(logn) 常见也是在循环中,只是循环的终止条件为大于2的n次方,在二分法中会涉及到。

    空间复杂度

    空间复杂度也是一个函数,也是用O表示。常见的空间复杂度有O(1),O(n),O(n^2)
    空间复杂度是算法在运行过程中临时占用储存空间大小的度量。
    通俗点说就是看你写的这段代码占用空间的大小。占用空间越小,运行时间越短,这个算法就越好。
    O(n)的解释:
    如果某段代码运行过程中,占用了n个内存单元的值,那么他的空间复杂度就是O(n)

    let arr = []
    for(var i =0;i<10;i++){
        arr.push(i)
    }
    
    • 1
    • 2
    • 3
    • 4

    O(n^2) 其实代码上看就是一个矩阵。在前端我们可以理解为二维数组。他存储了n^2的变量。

  • 相关阅读:
    GCC多平台编译会遇到小问题
    一起学SF框架系列附-常用官网及知识点资源链接推荐
    QT 创建多个子项目,以及调用
    软件测试|MySQL BETWEEN AND:范围查询详解
    虹科技术 | USB设备和端口安全管理 | 如何轻松扩展端点管理
    前端npm打包及报错解决
    美食杰项目(二)首页
    SpringCloudAlibaba - 项目完整搭建(Nacos + OpenFeign + Getway + Sentinel)
    Linux 磁盘挂载 磁盘卸载
    arcmap 在oracle删除表重新创建提示表名存在解决放啊
  • 原文地址:https://blog.csdn.net/qq_38525381/article/details/126688284