JavaScript 算法有哪些?
一、算法优劣评判
- 稳定:如果 a 原本在 b 前面,而 a = b,排序之后 a 仍然在 b 的前面;
- 不稳定:如果 a 原本在 b 前面,而 a = b,排序之后 a 可能会出现在 b 的后面;
- 内排序:所有排序操作都在内存中完成;
- 外排序:由于数据太大,因此把数据放在磁盘,而排序通过磁盘和内存中的数据才能进行排序
- 时间复杂度:一个算法执行所消耗的时间;
- 空间复杂度:运行完一个算法所需内存的大小;
二、排序算法
三、时间复杂度的推导
算法的时间复杂度是表示算法所消耗时间大小的量度,通常使用 大 O 表示法
来建立数学模型,即 O(f(n))
,随着 n
的数值增大,O(f(n))
的数值增长的越慢就越是时间复杂度低的算法。
- 用常数
1
取代运行时间中的所有加法常数。 - 在修改后的运行次数函数中,只保留最高阶项。
- 如果最高阶项存在且不是
1
,则去除与这个项相乘的常数。得到的结果就是大O
阶。(如某一步不存在,忽略该步)
参考文章
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论