随笔分类 -  数据结构与算法

常见的数据结构与算法
摘要:蓄水池抽样算法是一类随机算法,实现从n个元素中随机选择k个元素,n 通常很大或者未知,该算法保证每个元素被选到的概率均为k / n. 阅读全文
posted @ 2015-07-14 22:50 python27 阅读(11027) 评论(0) 推荐(0)
摘要:LRU Cache Algorithm C++ 阅读全文
posted @ 2015-06-26 22:20 python27 阅读(3032) 评论(0) 推荐(0)
摘要:问题描述 设 A[1...n] 是一个数组,如果对于 i A[j], 则 A[i] 和 A[j] 构成一对逆序。给定一个数组,计算数组中逆序对的个数。例如数组 a[] = {1, 4, 3, 2}, 则 {4, 3} {4, 2} {3, 2}是逆序对,返回 3。解法一:暴力求解 两个 for 循... 阅读全文
posted @ 2015-03-31 21:17 python27 阅读(8370) 评论(0) 推荐(0)
摘要:题外话 最近有些网友来信问我博客怎么不更新了,是不是不刷题了,真是惭愧啊,题还是在刷的,不过刷题的频率没以前高了,看完《算法导论》后感觉网上很多讨论的题目其实在导论中都已经有非常好的算法以及数学证明,只是照搬的话好像意义也不是很大,希望找到些有代表性的题目在更新,另外希望能接着前面的《穷举递归和回溯... 阅读全文
posted @ 2015-03-20 22:40 python27 阅读(5035) 评论(0) 推荐(0)
摘要:穷举递归和回溯算法在一般的递归函数中,如二分查找、反转文件等,在每个决策点只需要调用一个递归(比如在二分查找,在每个节点我们只需要选择递归左子树或者右子树),在这样的递归调用中,递归调用形成了一个线性结构,而算法的性能取决于调用函数的栈深度。比如对于反转文件,调用栈的深度等于文件的大小;再比如二分查... 阅读全文
posted @ 2014-10-20 20:46 python27 阅读(12553) 评论(3) 推荐(0)
摘要:问题描述题目来源:Topcoder SRM 627 Div2 BubbleSortWithReversals给定待排序数组A,在最多反转K个A的不相交子数组后,对A采用冒泡排序,问最小的swap次数是多少?冒泡排序的伪代码如下:BubbleSort(A): 循环len(A) - 1次: for i ... 阅读全文
posted @ 2014-07-14 11:19 python27 阅读(11159) 评论(0) 推荐(0)