- 博客(24)
- 资源 (7)
- 收藏
- 关注
原创 Linux下用gcc生成静态库和动态库 (转载)
一、基本概念 1.1 什么是库 在 windows 平台和 linux 平台下都大量存在着库。 本质上来说库是 一种可执行代码的二进制形式,可以被操作系统载入内存执行。 由于 windows 和 linux ...
2012-10-19 16:57:32 133
原创 (转载) 快速排序、希尔排序、插入排序、选择排序、归并排序、堆排序总结
一、快速排序的基本思想 设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为:①分解: 在R[low..high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low..pivotpos-1)和R[pivotpos+1..high],并使左边子区间中所有记录的关键字均小于等于基准...
2012-10-17 11:14:20 151
原创 不借助其它变量交换两变量值的三种算法
在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是:定义一个新的变量,借助它完成交换。代码如下:int a,b,t;a=10; b=15;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值...
2012-10-16 10:27:09 203
原创 编程珠玑开篇--磁盘文件排序问题
转载。。。。编程珠玑开篇--磁盘文件排序问题 输入:所输入的文件,至多包含n个正整数,每个正整数都小于n,题目中n = 10^7,如果输入时某个正整数重复出现俩次,就会产生致命的错误,这些整数,与其他任何数据都不相关.输出:以增序形式输出经过排序的整数列表约束至多只有1MB(包括程序本身)可用的主存,但是可以用的磁盘空间是充足的,运行时间至多几分钟,...
2012-10-16 10:07:55 131
原创 各种排序算法的稳定性和时间复杂度小结
各种排序算法的稳定性和时间复杂度小结 冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好的,大多数情况...
2012-10-16 09:22:03 108
原创 套接字select异步模型
Select模型原理利用select函数,判断套接字上是否存在数据,或者能否向一个套接字写入数据。目的是防止应用程序在套接字处于锁定模式时,调用recv(或send)从没有数据的套接字上接收数据,被迫进入阻塞状态。 select参数和返回值意义如下:int select ( IN int...
2012-06-07 18:19:54 104
原创 GetData软件使用--获取曲线图中的数据
使用场合:1、想引用别人论文中的某个数据(曲线)图,但论文中没有这个图的数据,直接把图抓过来显得太逊了,希望提取出这个图中的数据信息生成矢量图;2、希望从这个图中提取出数据用于自己的研究;软件来源:此软件由俄国人开发(好多这种功能强大的小软件都是俄国人开发的,pfpf)getdata-graph-digitizer.com上可以下载到试用版,21天的试用期,好像无功能限制,目前最新版本...
2012-03-21 21:54:51 3706
原创 HDFS的缺点以及相应的改进策略
HDFS是一个不错的分布式文件系统,它有很多的优点,但也存在有一些缺点。目前而言,它在以下几个方面就效率不佳: 低延时访问 HDFS不太适合于那些要求低延时(数十毫秒)访问的应用程序,因为HDFS是设计用于大吞吐量数据的,这是以一定延时为代价的。HDFS是单Master的,所有的对文件的请求都要经过它,当请求多时,肯定会有延时。当前,对于那些有低延时要求的应用程序,HBase是一个...
2012-03-09 20:24:06 131
原创 求一个数列的最长非递增(递减)子序列
问题描述:给出一个数列,找出其中最长的单调递减(或递增)子序列。比如数列 4,2,6,3,1,5 最长递增子数列为2,3,5 相似的问题:1求最大和的子序列 2最大公共子串 3最大公共子序列 注意:串与...
2012-03-09 16:22:16 1082
原创 数列的排列与组合问题
关于数列的全排列已经另外一篇文章中提到过了, 下面来介绍下数列的组合问题: 例如;序列12345 如果输入m=3,原序列的长度n=5得到的组合数组是:123 124 125 134 135 145 234 235 245 345 如上得到所有的位数为2的组合方式,从上面的数我们也可以用序号表示:a[0],a[1],a[2],a[3],a[4],a[5] 得到的...
2012-03-03 19:25:08 793
原创 n-皇后以及全排列的问题--递归以及非递归的解法
首先说下全排序的问题 这个问题可以说是最经典的问题, 实现这个问题的最经典的方法莫过于递归实现了: 代码确实很简洁:(从网上转载---很多的)void perm(char *buf,int start,int end) { if(start==end){//当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可 ...
2012-03-01 09:19:53 154
原创 关于链表追赶--链表中环的问题
关于环的问题,介绍几个个经典的题目:1.求链表倒数第k个结点 最经典,最常见的解法就是,设置两个指针p1,p2,一开始分别指向头结点,首先p2先移动k个节点,之后开始p1,p2每次移动1个节点,直到p2达到最后一个节点位置,那么p1指向的就是倒数第k个节点。 不过这种解法主要是针对单链表,且链表中不存在环的,如果是双向链表,或者是存在环的链表呢?在判断是否在最后...
2012-02-28 15:19:07 102
非递减字符串问题
如题: 在非递减字符串中,从左到右的字符依次按ASC码非递减排列,例如 abcd,aaaa,aabb等等,现在假设字符串由a-j等10个字符串组成,请你确定特定长度的非递减字符串的数目。 算法思想:当我显现看到这个题,有些迷惑,为什么是十个字符串呢,,后才自然想到对应十个阿拉伯数字0-9. 问题就可以从这个地方解决。把某个长度的串看成是...
2012-02-16 13:29:34 645
原创 MapReduce框架中PageRank算法的简单实现
主要实现思想在另一篇博客中已经提到: 具体实现每次迭代包括两个Job第一个分散各个节点的PR值 第二个用于将dangling节点的PR值分散到其它节点 主要包括5个类PageRankNode:图中的节点类-代表一个页面PageRankJob:实现分散各个节点的PR值的类DistributionPRMass:实现dangling节点的PR值分散到其它节点的Jo...
2012-02-15 14:27:04 204
原创 PageRank算法 之我看
PageRank是google搜索中用于计算页面的重要程度,即PR值。下面就是其计算公式: 我们可以把这也页面的连接关系看成图的结构,页面就是图中的一个节点,边代表页面之间的链接关系,其中P(n)代表的就是第n个节点的PR值,L(n)代表n节点的所有入度节点的集合,C(m)代表m节点的出度,G代表的是所有的节点数目,a代表的是随机的跳转到任何一个页面的概率,1-a代表进...
2012-02-15 13:22:01 153
原创 Eucalyptus 使用注意事项
Eucalyptus镜像的问题 1.官方网站提供的镜像 分为三个部分 1.ramdisk 2.kernel 3.文件系统镜像 用户每次启动镜像实例,上次使用的数据是不被保存的,类似于还原系统,因为手动制作镜像比较麻烦,所以建议修改原有的镜像,首先扩大文件系统镜像的大小,然后才有足够的空间来向镜像中安装一些应用软件...
2012-02-14 14:37:06 174
原创 Eucalyptus平台搭建(centos5.7)日志
因为实验需要 ,这个平台搭建了好多遍了,下面就是搭建的全过程 ,看起来很复杂 ,只要了解了 其实搭建起来很快的坐下笔记,以防后患! 有点乱---当时只用了两台机器搭建,现在扩展到多台机器了, 多台机器的话:举个实验的例子 用6台机器:安装的图 如下文章是使用两台机器装得 sc单独一台机器 ,其它的全部装到一台机器 一. 安装前准备...
2012-02-14 14:33:25 222
原创 MapReduce框架中全排序的算法思想--学习笔记
关于全排序的问题 Tom White的书中提出的数据取样方法 ,最近学习了一下,下面做个比较,以防后患!! 主要思想就是在要排序的所有数据中随机取出一定量的数据,这些数据取自三个部分,1.选取总得数据(键值对)数目2.选取的split数目3.每个split选取...
2012-02-14 14:13:34 166
原创 Mapreduce框架求Pi值的思路
关于在mapreduce框架上求近似Pi的值,hadoop源码包的example中源代码,在这里只是简单写写学习笔记 首先说下大概思路:这个图大家在网上肯定见都见过 正方形的面积 As = (2r)*(2r)也就是 4r*r. 内切圆形的面积 Ac = pi * r*r. pi = Ac / r*rAs = 4r*rr*r= As / 4...
2012-02-14 11:09:45 281
原创 MapReduce框架中矩阵相乘的算法思路及其实现
关于在mapreduce框架中的两个矩阵相乘(A*B)的算法实现,有如下两种思路。。 第一,因为我们在学校课堂内的矩阵相乘的基本算法就是A的行与B的列相乘 当然要满足A的列的维数与B的行维数相同,才能满足相乘的条件。所以有如下基本思路:让每个map任务计算A的一行乘以B的一列,最后由reduce进行求和输出。这是最原始的实现方法: 假设A(m*n) B(n*s)map的输...
2012-02-14 10:36:02 431
原创 Mapreduce 编程测试
最近对mapreduce框架比较感兴趣,所以会去测试许多例子,hadoop自带的就有很多 但是如何编写自己的例子并在其上运行以及调试呢? 第一种方法 使用hadoop 自带的 eclipse-插件 但是许多朋友并不具备这样的条件 而且 插件的版本兼容性也有许多的问题第二种就是 自己的写好的代码 然后打成jar包 然后 放到hadoop下运行 比较笨得 原生态的方法---...
2012-02-13 22:32:41 75
原创 hadoop搭建手册--集群分布式
搭建准备工作:1.四台主机: 192.168.1.34—master-namenode 192.168.1.32—slave-datanode1192.168.1.33—slave-datanode2192.168.1.37—slave-datanode3...
2012-02-13 22:22:23 75
原创 现阶段MapReduce框架 实现简单图的算法
刚开始接触hadoop的mapreduce并行计算的编程框架,使用的是java语言,对于一些简单的日志文档处理,相当的容易上手,但是经过一段时间的学习调研,发现用其实现一些图的算法,相当蹩脚,效率很低。。。 下面我列出下mapreduce实现图的单源最短路径的算法(伪代码)这里假设的是每个节点之间是单源节点1: class Mapper2: method Map(nid n,nod...
2012-02-13 22:17:42 232
安家落户---我的新博客
第一篇博客,终于俺家落户了,记录平时比较重要的东西,锻炼自己的表达能力希望在接下里的日子里再接再厉,多总结才会有收获,,,,加油!
2012-02-12 22:31:44 140 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人