摘要:
在 JavaScript 中,原始数据类型是存储在栈区的,引用数据类型存储在堆区。在代码执行的过程中,一部分数据在被使用之后就不在被需要了,这些数据就变成了垃圾数据。如果不清除它们,内存消耗会越来越多。因此,需要对这些垃圾数据来做回收,释放有限的空间。 垃圾回收策略 手动回收 -- C/C++ 阅读全文
摘要:
KMP (Knuth-Morris-Pratt) 字符串查找算法可在一个字符串 S 内查找一个词 P 的出现位置。 一个词在不匹配时本身就包含足够的信息来确定下一个匹配可能的开始位置,此算法利用这一特性以避免重新检查先前匹配的字符。 朴素字符串匹配算法(暴力)- s 串中查找子串 p 挨个字符遍历 阅读全文
摘要:
LeetCode 887. 鸡蛋掉落 附上大佬的题解 给你 k 枚相同的鸡蛋,并可以使用一栋从第 1 层到第 n 层共有 n 层楼的建筑。 已知存在楼层 f ,满足 0 ⇐ f ⇐ n ,任何从 高于 f 的楼层落下的鸡蛋都会碎,从 f 楼层或比它低的楼层落下的鸡蛋都不会破。 每次操作,你可以取一枚 阅读全文
摘要:
进程:具有一定独立功能的程序在一个数据集合一次动态执行的过程。 是操作系统对处于执行状态的程序的抽象 - 是程序的执行,是暂时的(一个状态变化的过程) 由程序、数据、进程控制块组成 包含了一个正在运行的程序的所有信息 动态性:可动态地创建、结束进程 并发性:可被独立调度,占用处理机处理 独立性:不同 阅读全文
摘要:
在字典中我们可以查找字,字典树可以用来查找单词。 假设单词全部由小写字母组成 根节点不存储字母,设为空。children表示26种不同的子节点:单词首字母 每个节点可以存储一个字母,一个children数组存储若干个子节点(最多26个) 可以使用map or ,若有删除操作使用map更方便 有相同前 阅读全文
摘要:
二叉树-百度百科: 二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分 。 二叉树是n个有 阅读全文
摘要:
**前序遍历的第一个元素为根节点,在中序遍历中:根节点左右两侧即为左右子树的中序遍历结果。** 思路: 找到前序遍历的根节点在中序遍历中的位置 使用两个数组分别存储左子树的前序、中序遍历结果,递归构建左子树(中序结果为空--> 父节点为叶节点) 使用两个数组分别存储右子树的前序、中序遍历结果,递归构 阅读全文
摘要:
P1216 数字三角形 每个节点的值只受左上,右上两节点影响。索引从1开始,避免处理边界问题。 int n,ans,a[1005][1005],dp[1005][1005]; //pull: dp[i][j] = max(dp[i - 1][j - 1], dp[i - 1][j]) + dp[i] 阅读全文
摘要:
在数学的分支图论中,图(Graph)用于表示物件与物件之间的关系,是图论的基本研究对象。一张图由一些小圆点(称为顶点或结点)和连结这些圆点的直线或曲线(称为**边**)组成 -- 维基百科 有向图&无向图:图中的边是否有方向。 入度与出度(有向图的顶点),入度:以当前顶点为终点的边的数量;出度:以当 阅读全文
摘要:
模拟 按题中要求找规律,模拟操作,这种题可以巨难.... 提前写好所有的流程 每个操作模块化(函数、结构体、类等) 枚举:DFS/BFS DFS:枚举所有可以到达目标状态的路径,对一个传入状态,遍历它的子状态,对每一个都进行判断,若合法,则递归搜索这一子状态,直到达成目标条件或者状态不合法,则回溯到 阅读全文