>[success] # 搜索算法
~~~
1.在实际开发中,经常我们会在数组中找寻其中一个值的位置,在不借助js数组自带api 'findIndex'
这节讨论这些自行实现的思路
~~~
>[info] ## 顺序搜索
~~~
1.顺序或线性搜索是最基本的搜索算法。它的机制是,将每一个数据结构中的元素和我们要找
的元素做比较。顺序搜索是最低效的一种搜索算法。
~~~
>[danger] ##### 代码实现
~~~
function defaultEquals(a, b) {
return a === b;
}
function sequentialSearch(array, value, equalsFn = defaultEquals) {
for (let i = 0; i < array.length; i++) {
if (equalsFn(value, array[i])) {
return i;
}
}
return -1;
}
const a = sequentialSearch([6,5,7],5)
const b = sequentialSearch([6,5,7],1)
console.log(a,b) // 1 -1
~~~
- 接触数据结构和算法
- 数据结构与算法 -- 大O复杂度表示法
- 数据结构与算法 -- 时间复杂度分析
- 最好、最坏、平均、均摊时间复杂度
- 基础数据结构和算法
- 线性表和非线性表
- 结构 -- 数组
- JS -- 数组
- 结构 -- 栈
- JS -- 栈
- JS -- 栈有效圆括号
- JS -- 汉诺塔
- 结构 -- 队列
- JS -- 队列
- JS -- 双端队列
- JS -- 循环队列
- 结构 -- 链表
- JS -- 链表
- JS -- 双向链表
- JS -- 循环链表
- JS -- 有序链表
- 结构 -- JS 字典
- 结构 -- 散列表
- 结构 -- js 散列表
- 结构 -- js分离链表
- 结构 -- js开放寻址法
- 结构 -- 递归
- 结构 -- js递归经典问题
- 结构 -- 树
- 结构 -- js 二搜索树
- 结构 -- 红黑树
- 结构 -- 堆
- 结构 -- js 堆
- 结构 -- js 堆排序
- 结构 -- 排序
- js -- 冒泡排序
- js -- 选择排序
- js -- 插入排序
- js -- 归并排序
- js -- 快速排序
- js -- 计数排序
- js -- 桶排序
- js -- 基数排序
- 结构 -- 算法
- 搜索算法
- 二分搜索
- 内插搜索
- 随机算法
- 简单
- 第一题 两数之和
- 第七题 反转整数
- 第九题 回文数
- 第十三题 罗马数字转整数
- 常见一些需求
- 把原始 list 转换成树形结构