数据压缩 数据压缩
数据压缩 在此主要介绍使用Huffman编码压缩和LZW压缩算法 地址: 整合为JUI程序(Java 8+) 1.Huffman压缩(霍夫曼压缩)1.1.BitBuffer辅助类 - 按bit位处理字节数组/** * BitterBuf
2019-07-30
正则表达式 正则表达式
正则表达式 对于任意正则表达式都存在一个与之对应的非确定有限状态自动机(NFA),反之亦然 1.正则匹配/** * 正则表达式的模式匹配 * 概述: 每个正则表达式都对应一个NFA,反之亦然 * 思路: 将正则表达式转换为有向图(仅
2019-07-16
子字符串查找 子字符串查找
子字符串查找 给定一段长度为n的文本txt和一个长度为m的pattern模式串,在文本中找到和该模式匹配的字串 1.BruteForce算法(暴力子字符串查找算法)/** * 暴力子字符串查找: * 时间复杂度: 一般情况1.1N
2019-07-15
单词查找树 单词查找树
单词查找树 利用字符串的性质构建比通用的查找算法更有效的查找算法 1.R向单词查找树/** * R向单词查找树 * 概述: 1.每个节点都含有R个连接,对应着每个可能出现的字符 * 2.字符和键隐式的保存在数据结构中
2019-06-24
字符串排序 字符串排序
字符串排序 利用字符串的特殊性质将字符串排序,比通用的排序算法效率更高 1.低位优先的字符串排序(LSD)/** * 低位优先的字符串排序(LSD) * 概述: 适合相同长度的字符串排序,是稳定排序 * 思想: 键索引计数法 *
2019-06-21
最短路径 最短路径
最短路径 加权有向图的最短路径 地址: 整合为JUI程序(Java 8+) 1. 加权有向边API/** * 加权有向边API * v -> w */ public class DirectedEdge { private
2019-06-11
最小生成树 最小生成树
最小生成树 加权无向图的最小生成树 1.加权边API//加权边API public class Edge implements Comparable<Edge>{ private final int v; //边的一个顶点
2019-06-05
有向图 有向图
有向图 概述: 使用邻接表的数据结构表示有向图 1.有向图数据结构public class DiGraph { private int v; //顶点数目 private int e; //边数 private L
2019-05-22
无向图 无向图
无向图 概述: 在此使用邻接表的数据结构表示无向图 1.无向图数据结构public class Graph { private int v; //顶点数目 private int e; //边数 private L
2019-05-14
标准红黑树 标准红黑树
标准红黑树 概述: 标准红黑树是2-3-4树的一种表示, 特性: 1.节点是红色或黑色。 2.根是黑色。 3.所有叶子都是黑色(叶子是NIL节点)。 4.每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的
2019-01-23
散列表 散列表
散列表 优点: 插入和查找操作的时间复杂度都是O(1) 缺点: 性能的保证来自散列函数的质量,是无序符号表,不支持有序性相关操作,是以空间换取时间的数据结构. 1. 基于拉链法的散列表 概述: 通过链表方式处理碰撞冲突,将碰撞冲突的键放
2019-01-05
左倾红黑树 左倾红黑树
左倾红黑树 概述: ​ 通过二叉查找树可以发现,在最坏情况下(变成长链),性能很差, ​ 因此理想的情况下就是构建一个完美平衡的树,然而维护完美平衡需要额外的开销 ​ 红黑树在性能和维护平衡之间进行协调 左倾红黑树特点:
2018-12-28
1 / 2