06 2022 档案
摘要:trie trie树是通过字符串前缀来优化字符串的存储和查找。 存储:从开头空字符(根节点)开始,向下查找它的子节点,若它的子节点中有所对应的字符,则直接向下查找,否则创建一个新节点后再继续向下查找,知道将整个字符串全部存下。 查找:和存储操作基本一样,但不用建新节点,若子节点中没有所对应的字符,直
阅读全文
摘要:替罪羊树 一种不带旋转的平衡树,当不平衡时(一棵树不平衡就是这棵树的左子树或右子树上的节点总数大于这棵树的总节点数*平衡因子(0.7-0.8)),通过暴力重构的方式维护平衡。 对于替罪羊树上的每个节点需要存储: 1.节点的值。 2.节点的左右儿子节点。 3.删除标记(表示此节点是否被删除)。 4.以
阅读全文
摘要:二叉搜索树 一种树形结构,满足对于树上的任意一个节点,它的左子树上的任意一个节点的值都不大于这个节点的值,它的右子树上的任意节点的值都不小于这个节点的值。 但是如果是按顺序添加,这个树形结构就会退化为一个链式结构。 为了使得它还是一个树形结构,就需要用到平衡树。 平衡树 一种左右子树平衡的二叉搜索树
阅读全文
摘要:问题:给你$n$个矩形的左上角的坐标和右下角的坐标,问你这$n$个矩形所覆盖的总面积。 对于这个问题,我们可以使用扫描线。 扫描线: 将几个矩形分成如下图所示的样子(不同的颜色分开求,蓝色表示原矩形): 使用线段树维护$y$轴,$x$轴上的直线从左到右作添加删除操作(矩形左边就加,右边就减),同时计
阅读全文