
算法
abstractCla
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法笔记中对于k^2/[n(n-1)(n-2)/6]的理解
在一个数列中随机取三个数,这三个数的中位数恰好是该数列的中位数的概率:同时设数列长度为n,n=2k+1分三步:第一步:取第一个数恰好是中位数的概率:1/n第二步:取第二个数恰好位于中位数左侧:k/(n-1)第三步:取第三个数恰好位于中位数右侧:k/(n-2)此时概率为k^2/[n(n-1)(n-2)],第二步第三步可能存在先取位于右侧再取位于左侧的情况,故乘2此时概率为...原创 2019-03-02 12:05:47 · 1308 阅读 · 0 评论 -
关于在大量数据n个中取前k个数据的一点记录
之前面试的时候硬是想不起来,面试官提醒之后才想起来自己也接触到过这样的题目。一般都是用的堆排序,建立大小为k的大顶堆,使用前k个数直接建堆,则对顶是最大数,再使用第k+i(i=1,2,3...)个数去和堆顶做比较,小于则替换堆顶,再进行沉降,大于则跳过。这样就可以始终保持此k大小的堆为前k个数。复杂度应该是nlogk。今天看到算法笔记中提到使用快排也可以。思想是选中合适...原创 2019-03-02 12:19:31 · 587 阅读 · 0 评论 -
算法笔记部分内容学习记录
梳排序:对冒泡排序的改进,类似于冒泡和希尔的结合。内省排序:非单一排序,是快排+插入+堆排的结合,主体框架是快排,采用递归实现:当递归达到一定的层数时,采用堆排序,以避免递归层数太深占用内存过大,影响效率。 当待排序的子序列较小时,采用插入排序。Timsort:归并+插入,TimSort。...原创 2019-03-02 18:57:49 · 152 阅读 · 0 评论 -
编辑距离Levenshtein距离
一般特指Levenshtein距离,也是最常见的字符串编辑距离,包括插入、删除、修改三中操作,其他常见的字符串编辑距离包括:DamerauLevenshtein:在上述三种操作中,再加入了交换两个相邻字母的操作,如diary到dairy的DamerauLevenshtein 距离为1,而Levenshtein距离为2。 最长公共子序列距离(Longest Common Subseque...原创 2019-03-02 19:25:33 · 423 阅读 · 0 评论