/* * @FileName: 有序链表 * @Author: duxinyue * @Date: 2021-05-04 12:26:55 * @LastEditors: duxinyue * @LastEditTime: 2021-05-04 19:29:19 * @FilePath: \JavaScript\dataStructure\SortedLinkedList.js * @Description: 有序链表的数据结构 */ import LinkedList from "./linkedList.js"…

2021年5月4日 0条评论 11点热度 0人点赞 读心悦 阅读全文

链表的扩展——循环链表

2021年5月4日 0条评论 9点热度 0人点赞 读心悦 阅读全文

链表的扩展——双向链表

2021年5月4日 0条评论 15点热度 0人点赞 读心悦 阅读全文

 链表 一种动态的数据结构,会按需扩容。 链表存储有序的元素集合,链表的元素在内存中不是连续存放的,每一个元素是由元素本身节点和指向下一个元素的引用(指针或者是链接)构成。 在访问链表的时候,需要从起点开始迭代链表,直到找到指定元素位置。 /* * @FileName: 链表 * @Author: duxinyue * @Date: 2021-04-29 14:30:00 * @LastEditors: duxinyue * @LastEditTime: 2021-05-04 00:53:27 * @FilePat…

2021年5月4日 0条评论 9点热度 0人点赞 读心悦 阅读全文

在数据结构算法中常见和不常见的排序方式,可分为比较类排序和非比较类排序: 比较类排序,通过比较来决定元素之间的相对次序,它的时间复杂度不能突破O(nlogn),也称之为非线性时间比较类排序。非比较类排序则与之相反。 比较类排序 冒泡排序 快速排序 插入排序 普通选择排序 堆排序 归并排序 非比较类排序 计数排序 桶排序 基数排序 冒泡排序 使用某种规则来比较两个元素,当顺序出错时,就交换两个元素的位置。一直遍历数列,直到不再需要交换元素,也就是该数列已经排序结束了。 /* * @fileName: 冒牌排序 * @…

2021年4月29日 0条评论 19点热度 0人点赞 读心悦 阅读全文

队列:是遵循先进先出原则的一组有序数据。最新添加的元素只能排在这组数据的末尾了,就像生活中常见的排队,最先排队的人也就最先可以接受服务。 双端队列:是一种特殊的队列,允许我们同事在队列的开头和结尾添加和删除元素。   class Queue { constructor() { this.count = 0; // 队列大小 this.lowestCount = 0; // 追踪第一个元素的下标 this.items = {}; // 用对象来存储队列元素 } enqueue(element) { this…

2021年4月26日 0条评论 16点热度 0人点赞 读心悦 阅读全文