
算法
文章平均质量分 63
顾人间讥诘
这个作者很懒,什么都没留下…
展开
-
算法时间复杂度简单理解
常见算法时间复杂度:、、、、、按复杂度从小到大排序很多人肯定对这些算法时间复杂度表示只了解相互之间大小,可能并不清楚具体每种算法时间复杂度对应那些常见的编码写法。下面分别举个例子。1.:算法复杂度是最快的算法时间,其表示算法所需时间与数据量大小无关,所需计算时间是固定的。例如:map.get(x)或array[0],这两个典型的时间复杂度,这里的map底层实现是数组类型,链表类型不一定。这里无论数组多大,数据有多少,都是从数组指定位置的内存直接获取。这也是为什么最朴素的循环数组可能比有些增强写.原创 2021-01-05 18:00:44 · 349 阅读 · 0 评论 -
单向链表是否有环以及入环起点节点
判断一个链表是否有环就有点像判断一个小数是否为循环小数。如:12.3756954756954...循环体为756954进入节点为7。如果我们从这个思路来考虑那就走远了。因为,可能这个循环体长度特别长,而这个循环体中又可能存在很多小的循环体。比如:1.1235353512791235353512791...如果我们把35当做循环体那就错了,循环体应该是123535351279。正确的思路应该是参照环......原创 2018-05-17 18:05:10 · 1061 阅读 · 0 评论 -
卡塔兰数与n节点二叉树有多少种形式
首先说一下什么事卡塔兰数,n对括号组成的合法数,和n个节点的二叉树形式其实本质都是计算卡塔兰数。原创 2018-05-21 13:49:51 · 525 阅读 · 0 评论 -
布隆过滤器设置合适指标
布隆过滤器用于快速检测不存在数据,主要用位数组的结构来存储。其中为了保证布隆过滤器有适当的正确率通常会设置几个参数。设:k = hash函数个数,用于将一个数据通过不同hash函数计算为不同值,如“test” hash1-> 10,hash2-> 91, hash3->88等等,其中hash值即为位数组下标。如上面计算的三个值则位数组上坐标为10、91、88的位置上会被标......原创 2019-10-11 16:43:27 · 7896 阅读 · 0 评论