美文网首页
数据结构和算法

数据结构和算法

作者: 李moumou | 来源:发表于2020-12-26 14:48 被阅读0次

    一、数据结构的概念

    计算机存储数据的不同方式
    常见的有数组(连续存储空间)、链表结构(不连续存储、但存储上一个节点和下个节点的的指针)

    二、算法的概念

    同一问题不同的解决方法
    算法往往针对特定的数据结构的,不同数据结构直接影响算法效率

    1、数组

    1. 插入一个数 (效率低)
      数组连续空间不能直接插入,新建一个数组长度比现在大1,然后在指定位置依次填入数组,完成插入
    2. 查找一个数(效率高)
      比如查找第三个数,直接访问数组角标即可

    2、链表

    1. 插入一个数(效率高)
      将插入位置的尾指针指向新数据头指针,将新数据的尾指针,指向下个数的头指针
    2. 查找数据(效率很低)
      需要从表头开始遍历,逐个查找

    三、算法的优劣

    1. 时间复杂度 (O)

    1. 时间测算
      (1) 计算算法时间差
      (2) 幅度不够循环来凑(增加循环次数)

    2. 空间复杂度:算法所占的空间随问题规模变化的规律

    所需要的空间

    3. 时间-问题(数据)规模:算法时间随问题规模变化规律(时间复杂度)

    (1) 不考虑必须要做的操作(循环、赋值、程序初始化)
    (2) 不考虑常数项
    2n 只需要考虑n
    (3) 不考虑低次项
    n^2+n 只考虑n^2
    举例:
    1、访问数组某个位置的值 时间复杂度为恒定 O(1)
    2、访问链表某个位置的值(一般情况时间复杂度考虑最差的情况)
    O(n) 时间复杂度随问题规模线性变化
    3、求数组平均值时间复杂度 O(n)

    相关文章

      网友评论

          本文标题:数据结构和算法

          本文链接:https://www.haomeiwen.com/subject/pvfgnktx.html