用 JavaScript 实现归并排序

2020-11-04
阅读 3 分钟
6.4k
在本文中,我们学习 Merge Sort 背后的逻辑,并用 JavaScript 实现。最后,在空间和时间复杂度方面将归并排序与其他算法进行比较。

用 JavaScript 实现快速排序

2020-10-27
阅读 4 分钟
9.6k
作者:Abhilash Kakumanu翻译:疯狂的技术宅原文:[链接]未经允许严禁转载介绍排序是指以特定顺序(数字或字母)排列线性表的元素。排序通常与搜索一起配合使用。有许多排序算法,而迄今为止最快的算法之一是快速排序(Quicksort)。快速排序用分治策略对给定的列表元素进行排序。这意味着算法将问题分解为子问题,直到...

用回溯算法求解数独问题

2020-10-19
阅读 3 分钟
5.5k
回溯是通过逐步构建解决方案来解决递归问题的算法。通常回溯从可能的解决方案开始,如果它不起作用,则需要回溯并尝试另一种解决方案,直到找到可行的解决方案为止。回溯在解决 CSP(约束满足问题)时特别有用,例如填字游戏、迷宫和数独等。

浅析常见的算法范式

2020-10-14
阅读 4 分钟
3.5k
作者:Aral Roca翻译:疯狂的技术宅原文:[链接]未经允许严禁转载首先明确三个概念:算法: 按步骤解决问题的过程。范式: 思考问题的模式。算法范式: 为问题构建高效解决方案的常规方法。本文讨论一些常用的算法范式,例如分治算法动态规划贪婪算法回溯算法分治法在排序算法中,合并和快速排序这两种算法的共同点就是...

算法面试指南

2020-05-06
阅读 4 分钟
3.1k
算法是技术面试的重要组成部分,尤其是在国内外的大厂中。本文将为你介绍在面试中需要了解的常见算法以及提高它们效率的方法(这是面试中常见的问题),最后会为你提供一些练习题。

用 JavaScript 学习算法复杂度

2020-02-06
阅读 4 分钟
3k
在后面的例子中,我将引用这两个数组,一个包含 5 个元素,另一个包含 50 个元素。我还会用到 JavaScript 中方便的 performance API 来衡量执行时间的差异。

理解算法的时间复杂度

2019-06-13
阅读 3 分钟
4k
在计算机科学中,算法分析是非常关键的部分。找到解决问题的最有效算法非常重要。可能会有许多算法能够解决问题,但这里的挑战是选择最有效的算法。现在关键是假如我们有一套不同的算法,应该如何识别最有效的算法呢?在这里算法的空间和时间复杂度的概念出现了。空间和时间复杂度是算法的测量尺度。我们根据它们的空间...

JavaScript算法题:查找数字在数组中的索引

2019-05-15
阅读 4 分钟
5.2k
翻译:疯狂的技术宅原文:[链接] 本文首发微信公众号:前端先锋欢迎关注,每天都给你推送新鲜的前端技术文章 编写算法时,排序是一个非常重要的概念。它有各种各样的种类:冒泡排序、希尔排序、分块块排序,梳排序,鸡尾酒排序,侏儒排序 —— 这些可不是我瞎编的! 这个算法题能够让我们一睹精彩的世界。我们必须对数字数...

用JavaScript实现插入排序

2019-05-11
阅读 4 分钟
5.2k
插入排序是一种非常简单的算法,最适合大部分已经被排好序的数据。在开始之前,通过可视化演示算法如何运作一个好主意。你可以参考前面的动画来了解插入排序的工作原理。