
Algorithm&Data Structure
HackerDotCn
If not me, who?
If not now, when?
If I can, why not?
展开
-
Algorithms:Reservoir Sampling
所谓蓄水池算法,参考资料: http://www.cnblogs.com/HappyAngel/archive/2011/02/07/1949762.html原创 2017-12-04 10:08:29 · 245 阅读 · 0 评论 -
Algorithms: Bitmap算法
位图算法Java中有相关类图可以用原创 2017-11-25 18:59:11 · 228 阅读 · 0 评论 -
Algorithms: DP
思路暴力搜索(递归)首先不要对递归心存偏见,虽然其在dp问题上时间复杂度很高,但是代码简洁,容易理解,递归方式在很多场合都是有大量应用的,不啻为一个“短小精悍”的工具,比如对于二叉树结构相关问题中。即使对于dp问题,如果能写出递归式,再将其优化成经典的dp也不难。 记忆化搜索暴力递归中涉及大量的重复计算,记忆化搜索就是将递归计算的状态存储起来,遇到计算过的状态直接返回即可,“以空间换时间”。记忆化搜原创 2017-11-23 21:09:29 · 317 阅读 · 0 评论 -
Data Structure -Tree
树的基本概念高度:节点n的高度为从节点n到树叶节点的最长路径长度;树叶节点高度为0;一棵树的高度为根节点的高;深度:节点n的深度为从节点n到根节点的路径长度;根节点深度为0;一棵树的深度为最深的树叶节点的深度,该深度等于树的高;树的表示法:二叉树概念注意二叉树的左子树和右子树是有顺序的,不能颠倒,比如三个节点的二叉树就有五种不同的形态。 特殊二叉树:斜二叉树满二叉树完全二叉树:按层序编原创 2017-10-09 20:53:31 · 347 阅读 · 0 评论 -
Data Structure-Diagram
基本概念完全图(有向、无向) 任意两个顶点之间有边(强)连通图、连通分量 任意两个顶点之间有路径 度、出度、入度、度与边的关系存储结构邻接矩阵无向图邻接矩阵为对称阵。 有向图出度为某行之和,入度为某列之和。 网图不存在的边用无穷大表示。 稀疏图用邻接矩阵存储浪费空间。邻接表十字链表邻接多重表边集数组图的遍历原创 2017-10-05 10:58:42 · 367 阅读 · 0 评论 -
Algorithms&Data Structure:Basic Sort
内部排序是在内存中进行排序,而外部排序由于待排序的数据很大,内存无法容纳全部的排序记录,在排序过程中需要访问外存,多次进行内外存的交换。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。直接插入排序思路:先将序列的第1个元素看成是一个有序的子序列,然后从第2个元素逐个进行插入直到最后一个元素,直至整个序列有序为止。 插入过程中,如果碰见一个和插入元素相等原创 2017-09-25 22:49:59 · 232 阅读 · 0 评论