Lazy Blog
08
31
31
二分查找 二分查找
二分查找(BinarySearch)// 数组必须有序 不存在重复 const BinarySearch = (sortedArr, target) => { if (sortedArr.length === 0) ret
2021-08-31
31
排序(计数,基数,桶) 排序(计数,基数,桶)
排序(计数,基数,桶)对数据有要求,但时间复杂度为O(n) 桶排序(BucketSort)桶排序实际上是一种思想,主要用于排序 大批量数据(10GB),进行外部排序(数据储存在外部磁盘中),进行分批次排序 先扫描一遍文件,确定数据范围,如1
2021-08-31
18
排序(归并,快排) 排序(归并,快排)
排序(归并,快排)归并排序 和 快速排序 都用到了 分治思想, 时间复杂度都为 O(nlogn) 归并排序(mergeSort)就一直拆分到底,只剩1个元素或0个元素,再合并后往上返回。合并时两个数组都从最左边元素开始比较,谁小谁进temp
2021-08-18
17
排序(冒泡,插入,选择) 排序(冒泡,插入,选择)
排序(冒泡,插入,选择)八大经典排序:冒泡排序 插入排序 选择排序 归并排序 快速排序 计数排序 基数排序 桶排序 冒泡 插入 选择 O(n²) 基于比较 快排 归并 O(nlogn) 基于比较计数 基数 桶
2021-08-17
17
队列 队列
队列队列,先进先出,入队enqueue(),出队dequeue()栈, 后进先出,入栈push(), 出栈() 队列和栈一样,都是一种 操作受限 的线性表结构 顺序队列:用数组实现的队列链式队列:用链表实现的队列 队列的实现需要两个指
2021-08-17
17
栈
栈栈,一种 操作受限 的线性表, 只允许在一端插入和删除数据 适用于,某个数据集合,只在一端插入和删除数据,且满足 后进先出,先进后出的特性 时 顺序栈:用数组实现的栈 链式栈:用链表实现的栈 入栈 出栈 及 只涉及栈顶个别数据的操作,时
2021-08-17