![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端数据结构与算法
sh_yangpan
这个作者很懒,什么都没留下…
展开
-
前端数据结构 -- 链表(单向/双向/循环)
偶然一次接触到双向链表结构,有点懵,前端不都是用数组存储数据么,既然没听过就翻翻书,涨涨见识,哈哈 单向链表 链表 如图,链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个 元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称指针或链接)组成。 链表与数组的区别在于: 数组的大小是固定的,从数组的起点或中间插入 或移除项的成本很高,因为需要移动元素...原创 2019-07-29 16:54:07 · 287 阅读 · 0 评论 -
基于Javascript,实现快速排序
最近不忙,了解下前端数据结构和算法,因看到不同的实现方法,故单独写一篇记录快速排序,便于日后回顾。 参考书籍:《学习JavaScript数据结构与算法》第2版;《数据结构与算法JavaScript描述》第1版 方法一: 《学习JavaScript数据结构与算法》 (1) 首先,从数组中选择中间一项作为主元。 (取数组中间项) (2) 创建两个指针,左边一个指向数组第一个项,右边一个指...原创 2019-07-25 16:26:18 · 135 阅读 · 0 评论 -
冒泡排序,选择排序,插入排序
冒泡排序 思路:比较任何两个相邻的项,如果第一个比第二个大,则交换它们。元素项向上移动至 正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名。 冒泡排序代码实现: function bubbleSort2(arr){ let len = arr.length; for(var i=0;i<len;i++){ // 已排序好的不用再遍历,故取j<len-1-i...原创 2019-07-25 17:45:25 · 101 阅读 · 0 评论