数据结构与算法
文章平均质量分 76
xy_向阳
这个作者很懒,什么都没留下…
展开
-
Set集合
Set集合概念集合:集合是由一组无序且唯一的项组成的。空集:不包含任何元素的集合。(注意:空集并不是无,它只是里边没有放任何元素,相当于是一个空袋子)创建一个集合类class Set { constructor () { this.items = {} }}这里有一个细节,使用对象表示集合而不是数组,JavaScript的对象不允许一个指针指向两个不同的属性,这可以保证集合里的元素都是唯一的。不过,也可以使用数组来实现。集合的一些可用方法add(element):向集原创 2021-02-24 17:17:19 · 1128 阅读 · 0 评论 -
选择排序
选择排序选择排序原理外层循环控制循环的次数,每次循环找出一个最大值,当集合中只剩下一个元素没有被选中位最大值的时候,说明它是最小值,可以减少一次循环,所以循环的次数是集合的长度-1内层循环找集合中的最大元素第一次循环,找出集合中最大的元素,放在元素的最后一位第二次循环,最后一位已经是集合中的最大的元素了,所以不用再对其进行比较,找出前边元素中的最大的元素,放入到倒数第二位中第三次...原创 2020-01-17 23:33:07 · 113 阅读 · 0 评论 -
冒泡排序
冒泡排序排序的本质是比较和交换通过比较,判断是否需要交换冒泡排序的原理冒泡排序是通过对一个集合中相邻的两个元素进行比较,然后按照排序的规则(升序\降序),判断是否要交换两个元素的位置实现的以升序为例比较相邻的两项如果前一项比后一项大,则交换两项的位置,接着进行后续的比较如果前一项比后一项小,则不变,进行后续的比较,接着进行后续的比较这样一轮比较下来,就会把大的...原创 2020-01-12 23:09:07 · 215 阅读 · 1 评论 -
链表的逆置
链表逆置的原理想要实现链表的逆置,只要反转链表中每一个节点的指向即可但是如何反转就要思考一下了链表中间除了最后一个节点,每一个节点的都通过当前节点node.next指向下一个节点只有最后一个节点的下一个节点指向的是null所以,就可以从最后一个节点入手首先,把最后一个节点node.next指向倒数第二个节点然后将倒数第二个节点node.next指向null,这个时候的链表仍然是连...原创 2020-01-12 17:50:09 · 604 阅读 · 0 评论 -
线性数据结构的遍历
线性数据结构的遍历// 数组的遍历// 创建一个数组arr = [1, 2, 3, 4, 5, 6]const traverseArr = arr => { // 遍历数组的方法 for (const item of arr) { // 数组属于可迭代对象,可以使用for-of循环进行遍历 console.log(item) }}traverseArr(arr)...原创 2020-01-09 20:23:41 · 503 阅读 · 0 评论