07 2010 档案

随机打乱一个数组的算法
摘要:给定一个数组,要求你把数组的顺序随机打乱,然后输出,主要是要保证效率。 这个算法其实简单,首先从所有元素中选取一个数与第一个进行交换,然后在2至n中选择一个元素与第二个交换,直到最后一个元素。 这样能确保每个元素在每个位置的概率都是1/n。代码如下: #include #include #include // 随机打乱一个数组 void random(int a[], int ... 阅读全文

posted @ 2010-07-29 13:12 小橋流水 阅读(735) 评论(0) 推荐(0) 编辑

bit_vector的实现(类似于标准库中的bitset的功能)
摘要:#pragma once #include using namespace std; class bit_vector { public: bit_vector(int); ~bit_vector(void); int get_bit(int); void set_bit(int); void clear_bit(int); void reverse_bit(int); st... 阅读全文

posted @ 2010-07-29 12:44 小橋流水 阅读(430) 评论(0) 推荐(0) 编辑

海量数据面试题整理
摘要:1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。... 阅读全文

posted @ 2010-07-20 07:15 小橋流水 阅读(232) 评论(0) 推荐(0) 编辑

最大子序列和最大子矩阵
摘要:数组的最大子序列问题:给定一个数组,其中元素有正,也有负,找去其中一个连续子序列,使和最大。 这个问题可以可以动态规划的思想解决: 设b[i]:表示以第i个元素a[i]结尾的最大子序列,那么显然 b[i+1]=b[i]>0?b[i]+a[i+1] 基于这一点很快就可以完成如下代码: int maxSubArray(int ar[], int n){ int max = ar[... 阅读全文

posted @ 2010-07-16 06:54 小橋流水 阅读(272) 评论(0) 推荐(0) 编辑

Ubuntu 10.04 64位安装flash插件(转)
摘要:1. Download it from here (now here). The beta has been closed and Adobe plans to release a 64-bit linux version soon. In the meanwhile you can get the latest version here (the md5 checksum is 5aa96... 阅读全文

posted @ 2010-07-14 16:38 小橋流水 阅读(250) 评论(0) 推荐(0) 编辑

HITS算法Java实现
摘要:HITS算法是重要的链接分析算法。很多书上是用矩阵的形式来描述HITS算法: 其中,为邻接矩阵,和分别为权威值和中心值,幂法迭代算法如下: 但是为了空间的考虑,我们在存储Web图的时候,一般都是用的邻接矩阵表示。 经过分析发现,一个页面的权威值,其实是指向它的页面的中心值之和;一个页面的中心值,是它指向的页面的权威值的过程。这是一个相互加强的过程。 下面是用Java实现的代码... 阅读全文

posted @ 2010-07-11 08:33 小橋流水 阅读(811) 评论(0) 推荐(0) 编辑

导航

统计

点击右上角即可分享
微信分享提示