
算法
harryhare
这个作者很懒,什么都没留下…
展开
-
二分法的边界选择
要在有序数组中找某个数,这个数只出现一次这个写法有三个点需要注意end 是指向实际的值的begin=m+1, end=m-1循环的条件是 begin<=end, 因为begin,end 都指向数组中的元素,所以相等时依然要再判断一次int find(int x, int *a, int begin, int end) { while (begin <= end) ...原创 2020-04-18 13:54:07 · 252 阅读 · 0 评论 -
拓扑排序
题目突然想起这个话题,是因为这道题Given a sorted dictionary of an alien language, find order of charactersleetcode 上有个更简单的相似题目verifying an alien-dictionaryleetcode 这道就很简单,用不着什么拓扑排序。每对相邻的单词,可能得到一对字母的顺序,然后在词典中检查者两个...原创 2020-04-17 01:54:23 · 215 阅读 · 0 评论 -
Dijstra和prim的区别
prim 与dijkstra 的区别参考:http://blog.youkuaiyun.com/bill_ming/article/details/7579507原创 2015-03-22 10:21:01 · 873 阅读 · 0 评论 -
Markov Chains
油管视频:https://www.youtube.com/watch?v=uvYTGEZQTEs&amp;amp;amp;amp;amp;amp;amp;index=1&amp;amp;amp;amp;amp;amp;amp;list=PLANMHOrJaFxPMQCMYcYqwOCYlreFswAKP概括一下:首先,稳定态(absorb)就是去找特征值为1的特征向量,这个大家都能想到。但是,你会发现 转移矩阵(transition matrix)的写法和 线原创 2018-11-04 18:14:43 · 969 阅读 · 0 评论 -
快速平方倒数
好像是8年前,被师兄科普卡马克时,听说过个这个算法。 今天在搜索引擎中偶然看到, 虽然想不到,但是还是很容易看懂的 链接 原文:http://h14s.p5r.org/2012/09/0x5f3759df.html 中文翻译: http://blog.jobbole.com/105295/?ref=myread...转载 2018-09-10 08:06:05 · 488 阅读 · 0 评论 -
mongo GeoHash 使用及原理
https://www.jianshu.com/p/7332dcb978b2 https://www.cnblogs.com/qcloud1001/p/6676616.html转载 2018-07-26 16:17:29 · 638 阅读 · 0 评论 -
杨氏矩阵
https://articles.leetcode.com/searching-2d-sorted-matrix-part-ii/转载 2018-07-20 15:40:28 · 172 阅读 · 0 评论 -
匈牙利算法
只是想贴一张图 图是原创的 代码是从《啊哈算法》中抄的 1, book 数组这个地方一直都很奇怪, 如果说对应dfs中的当前路径中节点,所以每次dfs前都要重置。但是又不能再dfs返回前吧这个值重新值为零,因为下一次搜索到同一个地方,如果知道这个点已经访问过,就证明这个点必然不能形成增光路径,因此就不用再访问。 但是如果说仅仅是已经访问过的节点,每次最外层的for循环又会把它重置,说...原创 2018-02-23 01:26:32 · 285 阅读 · 0 评论 -
平衡二叉树 AVL
三年后的今天,我终于把这个坑填上了。。。1.插入节点,旋转好像只要调整一次: 因为需要调整时,必然一侧是n,另一侧是n+2, 插入之前,必然一侧是n,另一侧是n+1, 调整之后,两侧都是n+1,整个子树的高度是n+1, 和插入之前相同, 所有不用再想上找父节点调整2.删除节点,可能需要多次旋转调整因为一侧是n,另一侧是n+1,是,删掉n那一侧的节点,调整后可能高度变为n,结果就是整个书的高...原创 2015-01-09 12:37:36 · 535 阅读 · 0 评论 -
记忆化搜索之一: hihoCoder 1491 : Monster Killing
微软2017年预科生计划在线编程笔试 第一场 第三题 hihoCoder #1491 : Monster Killing http://hihocoder.com/problemset/problem/1491可以用记忆化搜索做 参考 这篇http://blog.youkuaiyun.com/buptzhengchaojie/article/details/69831275 的思路。原创 2017-05-21 01:49:09 · 841 阅读 · 0 评论 -
记忆化搜索之二:集合上的动态规划,最优配对问题
题目出自《算法竞赛入门经典》动态规划那一章 大意:空间里有n个点P0,P1,…,Pn-1,你的任务是把它们配成n/2对(n是偶数),使得每个点恰好在一个点对中。所有点对中两点的距离之和应尽量小。 OJ 版本:10911 - Forming Quiz Teams 书中的解法不好,原因是,计算了大量无用的状态所以使用记忆化搜索会更快一些原创 2017-05-21 23:38:45 · 534 阅读 · 0 评论 -
二分查找
null原创 2017-05-12 14:37:43 · 355 阅读 · 0 评论 -
KMP
好吧,我是第一次手写KMP参考:1.帮助建立KMP的直觉:http://kb.cnblogs.com/page/176818/2.具体求解方法:http://www.matrix67.com/blog/archives/115看来好多篇blog,还是觉得matrix67的最赞。代码我稍后补上。原创 2015-01-07 17:42:01 · 661 阅读 · 0 评论 -
图的几种表示
节点中的数字均为点在数组中的下标。0对应顶点V11对应顶点V2。。。原创 2015-01-06 10:26:59 · 552 阅读 · 0 评论 -
有序二叉树转为有序双向链表
看到一个大神关于面试的文章http://blog.renren.com/blog/258531212/942892717里面提到了这个问题(好吧,大神只是用这个例子的原因是,大神觉得这个问题简单爆了)看到有人提到这个问题还可以升级为不利用辅助空间来实现。想了半天之后发现,在不增加时间开销的情况下,把辅助空间降为O(1)是无解的。(也可能是我太笨,所以想不到,如果你想到了,请原创 2015-01-04 19:11:34 · 909 阅读 · 0 评论 -
快速排序
占个位置原创 2015-01-08 09:15:57 · 786 阅读 · 0 评论 -
多路归并
在书上外部排序那一章。代码如下:void Merge(int **in, int m,int n,int* out){ static int loser_tree[M*2-1]; static int index_tree[M*2-1]; static int next[M]; for(int i=0;i<m;i++) { in[i][n]=INT_MAX; }原创 2015-01-04 22:34:58 · 890 阅读 · 0 评论