算法与数据结构
文章平均质量分 57
来打小怪啊
You can be who you want to be
展开
-
二叉树基础-1
一. 树树?上面图片所示是是自然树的形态!下图是数据结构中的树,看起来就像倒挂的树(根朝上,叶子朝下)吧!看一下定义吧。树形数据结构是一类重要的非线性数据结构。树形数据结构可以表示数据元素之间一对多的关系。其中以树与二叉树最为常用,直观看来,树是以分支关系定义的层次结构。节点: 树上每个元素(如:A、B、C、D 节点)父子关系: 来连接相邻节点之间的关系(如:A 节点和 B 节点之间为父子关系)父节点和子节点: 相对关系(如:A 节点是 B 节点的父节点,B 节点是 A 节点的子节点)原创 2021-02-20 14:48:13 · 103 阅读 · 0 评论 -
递归基本点
一. 可以用递归解决的问题的特征问题可以分解为数据规模更小的子问题;原问题和子问题,数据规模不一样,但是求解思路完全一样的;问题存在终止条件。二. 编写递归代码的关键找到递推公式,推导出终止条件,将它们改写为代码就可以了。三. 编写递归代码要注意的点堆栈溢出问题可使用一个变量来统计函数调用次数。当函数调用次数很大时,停止调用,直接抛出异常。重复计算问题使用一个 HashMap 来存储每次计算出来的结果。在每次计算前,先查看 HashMap 里有没有缓存过要计算的输入对应的结果原创 2021-02-08 13:29:15 · 91 阅读 · 0 评论 -
Javascript 实现链表的常见操作
1. 单链表反转2. 链表中环的检测3. 两个有序的链表合并4. 删除链表倒数第 n 个结点5. 求链表的中间结点/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} head * @return {ListNode} */var middle原创 2021-02-04 13:07:54 · 154 阅读 · 0 评论 -
数组和链表(回文链表、双向链表实现 LRU 缓存)
思路1:遍历链表节点,将其中的值保存到数组中,使用数组的 reverse() 和 join() 方法,就能比较轻松的判断出是否回文串。/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} head * @return {boolean} */var .原创 2021-02-03 14:10:00 · 292 阅读 · 0 评论 -
时间复杂度和空间复杂度
前言在计算机领域中,经常用时间复杂度和空间复杂的来客观描述某个算法或者某段代码的执行效率(执行时间)和内存消耗(内存使用情况)。一. 大 O 复杂度表示法在分析某个算法或者代码的执行效率或者内存消耗时,经常能看到 O(1)、O(n) 这类似的表示,它们就是复杂度的表示方法。那它们又是怎么得到的呢?现在,用大 O 复杂度表示法,来分析下面这段代码的执行时间。 function cal(n) { let sum = 0; for (let i = 1; i <= n; i++) {原创 2021-01-31 22:29:23 · 122 阅读 · 0 评论 -
从0开始,数据结构和算法是什么?
数据结构和算法是什么从广义上来看,数据结构可以理解成对数据存储方式的一种结构化的描述,而算法则是为达到某种目的,对数据进行处理的一系列的步骤。其实,数据结构和算法的使用,在日常的工作和生活中,是很常见的。举个生活中的例子来看:图书馆的书的排列存储也是具有一定的结构的。比如说:按类别的不同,划分不同的区域;在特定的区域,再按照作家、发行时间等依据进行书架、行列的划分,对每一本书进行编号排列。在这个例子中,书籍 --> 数据项;图书馆划分区域、书架、行列的规则 --> 数据存储的特点原创 2021-01-30 18:27:53 · 103 阅读 · 0 评论 -
JS 实现 10 大经典排序算法
0. 算法复杂度排序算法时间复杂度(平均)空间复杂度稳定性冒泡排序O(n2)O(1)稳定快速排序O(nlog2n)O(log2n)不稳定简单插入排序O(n2)O(1)稳定shell 排序O(n1.3)O(1)不稳定简单选择排序O(n2)O(1)不稳定堆排序O(nlog2n)O(1)不稳定二路归并排序O(nlog2n)O(n)稳定计数排序O(n + k)O(n + k)稳定桶排序O(n原创 2020-05-14 08:49:12 · 462 阅读 · 0 评论