数据结构——基础知识

    技术2022-07-17  83

    基本知识点

    复杂度对比

    执行次数复杂度非正式术语12O(1)常数阶2n+1O(n)线性阶2n^2+2n+1O(n^2)平方阶2log2n+1O(logN)对数阶n3+n2+n+100O(n^3)立方阶2^nO(2^n)指数阶

    O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

    算法优化方向

    时间换空间空间换时间

    数组(Array)

    数组是一种顺序存储的线性表,所有元素的内存地址是连续的数组的容量不可以动态修改,因此有了动态数组堆空间 int[] array = new int[]{11,22,33}; 内存地址|内存空间 -|- 0x1110|11 0x1111|22 0x1112|33

    链表(Linked List)

    链表是一种链式存储的线性表,所有元素的内存地址不一定是连续的双向链表、两个节点之间头尾相连

    栈(Stack)

    栈是一种特殊的线性表,只能在一端进行操作先进后出远,后进先出

    队列(Queue)

    队列是一种特殊的线性表,只能在头尾两端进行操作队尾:添加元素队头:移除元素先进先出
    Processed: 0.009, SQL: 9