algorithm
文章平均质量分 56
Don't_Touch_Me
努力可以改变一切!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法:trie 树(字典树)
概念:字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。(百度百科)图解:上图为一颗字典树,它表示字符串:aa、aaeb、aaec、ad、b、ba、cb、ca、cac...原创 2020-04-14 20:42:47 · 502 阅读 · 0 评论 -
算法:线段树
概念:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。问题:在一维数组中求任意区间的和,要求尽可能的速度快该问题使用线...原创 2020-04-13 22:03:58 · 1165 阅读 · 0 评论 -
算法:并查集
概念:并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题(百度百科)博主理解:1.并查集可以用来快速查询某一项元素在哪个集合中2.并查集可以快速将两个不相交集合合并为一个集合基本介绍:一般并查集使用数组进行实现ids = [0, 1, 2, 3, 4, 5, 6, 7]ids 为一维数组,这个一维数组和其他的数组不一样,数组下标:用来...原创 2020-04-12 13:05:13 · 334 阅读 · 0 评论 -
时间戳分析(Java 版)
我们经常看到一个时间用long类型数据来表示,例如:1580704106823 表示当前时间:2020年02月03日12时28分26秒823毫秒那么为什么时间可以用一个long类型数据来表示呢?下面我们来一点点的分析:首先,介绍一个概念,时间戳:百度百科:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数...原创 2020-02-03 13:25:32 · 2053 阅读 · 0 评论 -
二进制负数的补码为什么是符号位不变,其他位取反加一?
今天看了《逻辑设计基础》才明白了为什么二进制负数的补码是符号位不变,其他位取反加一1. 什么是补码?补码:计算机是用来将减法转换成加法的一种手段,在计算机系统中,数值一律用补码来表示和存储。2. 如何求补码?如何求解一个补码,就要先涉及到模的概念,那么什么是模呢?“模”是指一个计量系统的计数范围。比如说:对于 1 位十进制数字,它的范围是:0-9,那么它的模就是 10模可以理...原创 2019-10-30 00:06:40 · 11564 阅读 · 8 评论 -
数据结构 拓扑排序、AOV 、AOE、关键路径
AOV (Activity On Vertex) 活动在顶点上AOV 网: 强调的是在一个完整的过程中,各个活动所发生的顺序其中用顶点表示活动,用弧表示活动之间的优先关系,例如:在 ???? 图中,活动 A 应该在活动 B 之前发生把各个活动按照发生的先后顺序进行排序就称为拓扑排序而经过排序后形成的序列就称为拓扑序列拓扑排序:下面是一个 AOV 网,进行拓扑排序(排序后的结果为:...原创 2019-09-04 23:10:49 · 2687 阅读 · 3 评论 -
逆波兰表达式(后缀表达式)
百度百科:逆波兰表达式又叫做后缀表达式。逆波兰表示法是波兰逻辑学家J・卢卡西维兹(J・ Lukasewicz)于1929年首先提出的一种表达式的表示方法。后来,人们就把用这种表示法写出的表达式称作“逆波兰表达式”。逆波兰表达式把运算量写在前面,把算符写在后面。博主理解:逆波兰表达式,就是一种将平时人们所写的算术表达式(中缀表达式)按照一定的规则进行转换后形成的一种表达式形式其好处:...原创 2019-10-03 19:51:29 · 8248 阅读 · 4 评论 -
数制及进制转换
数制:也称为“计数制”,是用一组固定的符号和统一的规则来表示数值的方法。任何一个数制都包含两个基本要素:基数和位权。基本概念:数码:数制中表示基本数值大小的不同数字符号。例如:十进制中有10个数码:0、1、2、3、4、5、6、7、8、9基数:数制中所使用数码的个数。例如:十进制使用的数码个数为 0-9 ,一共 10 个数码,所以十进制的基数为 10位权:数制中每一固定位置对应的单位...原创 2019-10-07 13:46:06 · 2283 阅读 · 0 评论 -
快速幂(Java 实现代码)
本篇来说一下快速幂的原理,如果发现我叙述的听不明白,可以先去我之前的博客文章,有关数制了解一下https://blog.csdn.net/assiduous_me/article/details/102295812快速幂:快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高原理:对于 a^b 计算,一般做法是让 b 个 a 连续相...原创 2019-10-07 15:58:20 · 5434 阅读 · 3 评论 -
字符串全排列(字典序法)
字典序求字符串全排列:要求 123456789 这个序列的全排列时,我们可以知道这个序列的取值范围范围:123456789-987654321如何进一步在这个范围内生成我们所需要的所有序列思想:让连续的两个子序列的公共前缀尽可能的长比如:当生成序列为 123456978,那么下一个序列是多少呢?当然是:123456987了这样下来,就可以一个序列接着一个序列生成,最后生成所有的...原创 2019-10-08 15:06:47 · 1491 阅读 · 0 评论
分享