文件名称:leetcode小白刷题-CS-notes:CS-notes
文件大小:7KB
文件格式:ZIP
更新时间:2024-07-19 23:12:25
系统开源
leetcode小白刷题CS-notes 算法 动态规划 优先队列/堆 堆是完全二叉树 二叉树可以表示为一个数组,其中左子节点为i2 ,右子节点为i2+1 ,父节点为floor(i/2) ,其中 i 是数组中元素的索引(从索引 1 开始)。 如果我们的起始索引是 0,那么左孩子将是i2+1 ,右孩子将是i2+2 ,父母将是floor(i-1)/2 。 堆通常是用数组构建的。 插入需要 O(logn),删除需要 O(logn) Heapify 是一种从数组创建堆的方法,单个 heapify 操作需要O(logn) ,但是,使用 heapify 构建堆所需的总时间为O(n) (siftDown 比 siftUp 快)。 如果您只是使用普通插入来创建堆,则需要O(nlogn)因为每次插入都需要 logn 并且有 n 个元素。 链表循环 链表周期 II 算法说明:第一步:判断是否有环 1.1) 使用每次向前移动 1 步的慢指针 1.2) 使用每次向前移动 2 步的快速指针 1.3)如果慢指针和快指针经过几次移动后都指向同一个位置,则存在一个循环; 1.4) 否则,如果(fast->next\n=
【文件预览】:
CS-notes-master
----README.md(18KB)