抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

定义哈希表 (散列表)在线性表中,所有的数据都是顺序存储,当我们需要在线性表中查找某一数据时,当线性表过长,需要查找的数据排序比较靠后的话,就需要花费大量的时间,导致查找性能较差 所以我们可以把数据存在哈希表中,通过 key 去拿到数据。这个过程可以描述为: 拿到key(关键字) > 关键字通过散列函数(哈希函数)计算出来的值则称为散列值(哈希值、Hash 值) > 过散列值到...

如何真正的打乱数组? 12let arr = [1, 2, 3]arr.sort(() => Math.random() - 0.5) 上述代码看似可以打乱,但是不是真正的打乱。做下测试: 123456789101112131415161718192021222324252627const RandomShuffle = (arr) => { return ar...

LeetCode分类做题方法发现输入和输出的规律,寻找突破点当给的例子太简单的时候可以自己多画一些复杂的例子选择合适的数据结构和程序结构(算法) 小技巧if..else.. 比较简单的话可以简写成 ? :的形式switch case 的写法对数组用 forEach,参数函数用了 return false,这里似乎只是回跳出循环而不是整个 return false? 用 while 语句就不会...

前言吹爆这个博客:awesome-coding-js,强烈建议刷完这个博客 字符串常用API:操作方法。拼接concat(), 裁剪slice(), substr(), substring(),拆分变数组split(),repeat()(接收一个大于等于0的整数为参数,返回复制这个整数倍次数的字符串)位置方法。indexof(), lastIndexof()模式匹配方法。match()(接受...

语法/pattern/flags flags g:全局匹配;找到所有匹配,而不是在第一个匹配后停止 i:忽略大小写 m:多行; 将开始和结束字符(^和$)视为在多行上工作(也就是,分别匹配每一行的开始和结束(由 \n 或 \r 分割),而不只是只匹配整个输入字符串的最开始和最末尾处 … 常用字符类别 . :匹配任意单个字符。例如,/.y/ 匹配 “y...

对于树的遍历来说,有三种遍历方法,分别是先序遍历、中序遍历、后序遍历。三种遍历的区别在于何时访问节点。在遍历树的过程中,每个节点都会遍历三次,分别是遍历到自己,遍历左子树和遍历右子树。如果需要实现先序遍历,那么只需要第一次遍历到节点时进行操作即可 先序遍历先序遍历可用于打印树的结构。先序遍历先访问根节点,然后访问左节点,最后访问右节点。如下图所示: 用JS实现如下: 12345678910p...