第一周算法学习笔记

本文最后更新于:3 年前

第一周算法学习笔记

学习笔记

  • 数组

    1. 数组是线性的数据结构,用一组连续的内存空间存放一组相同类型的数据
    2. 因为数组在内存是连续存储的,所以可以根据首地址和下标,通过寻址公式就能直接计算出对应的内存地址,找出数据。
    3. 使用的时候需要注意数组会有越界的问题,支持随机访问。

    ** 小技巧 **

    1. 循环遍历 双指针的用法
    2. 升级维度
  • 链表 Linked List 、跳表 Skip List(升维)

    1. 单向链表 特点是最后的 tail next 指向 none
    2. 双向链表 指向 head 头的
    3. 随机访问数据不如数组速度快
    4. 跳表是可以实现二分查找的有序链表。Redis 中就在使用
    5. 在跳表中查询任意数据的时间复杂度是 O(logn)

    ** 小技巧 ** 1. 要知道 next 节点 list->next 2. 理解指针或引用的含义

1
2
3
4
5
for($I = 0 ;$I<$length -1;++$i){
for($j=$i+1;$j<$j<$length;++$j){
}
}