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


    数据结构与算法

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

    程序

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

    常用的数据结构

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

    常见的需要了解的算法:

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

    时间复杂度:

    时间复杂度是一个函数,用大写的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的变量。

  • 相关阅读:
    springBoot
    互联网加竞赛 基于设深度学习的人脸性别年龄识别系统
    计算机毕业设计之java+ssm爱家房屋租赁信息管理系统
    Linux常用命令详细大全(面试常考)
    Prometheus集成springboot(六)
    常见数据类型的占用字节数以及类型转换需要注意的事项
    声纹技术(三):声纹识别技术
    perl之print,printf,sprintf使用案例详解
    C语言:求n的阶乘
    pytorch 数据载入
  • 原文地址:https://blog.csdn.net/qq_38525381/article/details/126688284