[置顶] Zookeeper Monitor集群监控开发

随着线上越来越多的系统依赖Zookeeper集群,以至于Zookeeper集群的运行状况越来越重要。但是目前还没有什么好用的Zookeeper集群监控系统(淘宝开源了一个Zookeeper监控系统,但是我觉得很不好用,里面主要有四个线程在跑,而且需要SSH登录到线上集群,这用起来很不方便。)于是我们开发了一套Zookeeper集群监控程序,可以监控Zookeeper集群。  从官方文档我们可以了解...
阅读(7017) 评论(2)

[置顶] Spark Standalone模式应用程序开发

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Spark Standalone模式应用程序开发》本文链接:http://www.iteblog.com/archives/1041Hadoop、Hive、Hbase、Flume等QQ交流群:138615359(已...
阅读(5496) 评论(0)

[置顶] Spark快速入门指南(Quick Start Spark)

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Spark快速入门指南(Quick Start Spark)》本文链接:http://www.iteblog.com/archives/1040Hadoop、Hive、Hbase、Flume等QQ交流群:13861...
阅读(5032) 评论(0)

[置顶] Apache Kafka-0.8.1.1源码编译

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Apache Kafka-0.8.1.1源码编译》本文链接:http://www.iteblog.com/archives/1044Hadoop、Hive、Hbase、Flume等QQ交流群:138615359(已...
阅读(6595) 评论(0)

[置顶] Hadoop YARN中web服务的REST API介绍

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Hadoop YARN中web服务的REST API介绍》本文链接:http://www.iteblog.com/archives/960Hadoop、Hive、Hbase、Flume等QQ交流群:13861535...
阅读(6815) 评论(0)

[置顶] Apache Hadoop 2.3.0三大重要的提升

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Hive几种数据导入方式》本文链接:http://www.iteblog.com/archives/949Hadoop、Hive、Hbase、Flume等QQ交流群:138615359  hadoop更新实在是太快...
阅读(5694) 评论(0)

[置顶] Hive几种数据导入方式

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Hive几种数据导入方式》本文链接:http://www.iteblog.com/archives/949Hadoop、Hive、Hbase、Flume等QQ交流群:138615359  写在前面的话,学Hive这...
阅读(5610) 评论(0)

[置顶] 《Hive的那些事》序列博文汇总

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《《Hive的那些事》序列博文汇总》本文链接:http://www.iteblog.com/archives/922Hadoop、Hive、Hbase、Flume等QQ交流群:138615359  经过去年年底的一段...
阅读(4765) 评论(0)

[置顶] Flume-0.9.4和Hbase-0.96整合(2)

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Flume-0.9.4和Hbase-0.96整合(2)》本文链接:http://www.iteblog.com/archives/916Hadoop、Hive、Hbase、Flume等QQ交流群:138615359...
阅读(4258) 评论(0)

[置顶] Flume-0.9.4和Hbase-0.96整合(1)

作者:过往记忆 | 新浪微博:左手牵右手TEL | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明博客地址:http://www.iteblog.com/文章标题:《Flume-0.9.4和Hbase-0.96整合(1)》本文链接:http://www.iteblog.com/archives/915Hadoop、Hive、Hbase、Flume等QQ交流群:138615359...
阅读(4298) 评论(0)

[置顶] Flume-0.9.4配置Hbase sink

在本博客的《Flume-1.4.0和Hbase-0.96.0整合》我们已经学习了如何使用Flume-1.4.0和Hbase-0.96.0进行整合。我们可以很容易的配置Hbase sink,并和最新版的Hbase整合,但是由于项目的特殊情况,我需要将Flume-0.9.4和Hbase-0.96整合,搞过这个的人应该知道,Flume-0.9.4和Hbase-0.96非常棘手,各种版本的不兼容等情况,最...
阅读(5151) 评论(0)

[置顶] Hive日志调试

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。http://www.iteblog.com/archives/tag/hive的那些事  这些天看到很多人在使用Hive的过程遇到这样或那样的错...
阅读(6749) 评论(0)

[置顶] Hive几种参数配置方法

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。  Hive提供三种可以改变环境变量的方法,分别是:(1)、修改${HIVE_HOME}/conf/hive-site.xml配置文件;(2)、命...
阅读(5845) 评论(0)

[置顶] Hive内置数据类型

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。http://www.iteblog.com/archives/tag/hive的那些事  Hive的内置数据类型可以分为两大类:(1)、基础数据...
阅读(6719) 评论(0)

[置顶] HDFS文件内容追加(Append)

HDFS设计之处并不支持给文件追加内容,这样的设计是有其背景的(如果想了解更多关于HDFS的append的曲折实现,可以参考《File Appends in HDFS》:http://blog.cloudera.com/blog/2009/07/file-appends-in-hdfs/),但从HDFS2.x开始支持给文件追加内容,可以参见https://issues.apache.org/jir...
阅读(9642) 评论(5)

[置顶] Hive的数据存储模式

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。  Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(...
阅读(6091) 评论(1)

[置顶] 精心收集的Hadoop学习资料(持续更新)

最近发现自己收集到的Hadoop学习资料有很多本,想想放在那里也浪费,所以觉得贴出来给大家分享,需要的可以去我CSDN里面下载,保证全部资源免费下载!这里面很多英文的资料。  1、《Hadoop技术内幕:深入解析Hadoop Common和HDFS》下载地址:http://download.csdn.net/detail/w397090770/6643259。  2、《Hadoop技术内幕:深入解...
阅读(10763) 评论(8)

[置顶] Hive安装与配置

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。  前提条件:安装好相应版本的Hadoop(可以参见《在Fedora上部署Hadoop2.2.0伪分布式平台》)、安装好JDK1.6或以上版本(可...
阅读(5481) 评论(1)

[置顶] Hive创建索引

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。  Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(...
阅读(9648) 评论(1)

[置顶] Hive:简单查询不启用Mapreduce job而启用Fetch task

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。  如果你想查询某个表的某一列,Hive默认是会启用MapReduce Job来完成这个任务,如下:01020304050607080910111...
阅读(7270) 评论(0)

[置顶] Hive到底是什么

写在前面的话,学Hive这么久了,发现目前国内还没有一本完整的介绍Hive的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《Hive的那些事》序列文章,分享给大家。我会在接下来的时间整理有关Hive的资料,如果对Hive的东西感兴趣,请关注本博客。  Hive最初是应Facebook每天产生的海量新兴社会网络数据进行管理和机器学习的需求而产生和发展的。那么,到底什么是Hive,我们先看看Hi...
阅读(4157) 评论(0)

[置顶] Hive:用Java代码通过JDBC连接Hiveserver

我们可以通过CLI、Client、Web UI等Hive提供的用户接口来和Hive通信,但这三种方式最常用的是CLI;Client 是Hive的客户端,用户连接至 Hive Server。在启动 Client 模式的时候,需要指出Hive Server所在节点,并且在该节点启动 Hive Server。 WUI 是通过浏览器访问 Hive。今天我们来谈谈怎么通过HiveServer来操作Hive。...
阅读(19061) 评论(13)

[置顶] Hadoop1.x集群升级Hadoop2.x相关文章

1、《从Hadoop1.x集群升级到Hadoop2.x步骤》:http://www.iteblog.com/archives/8562、《从Hadoop1.x集群升级到Hadoop2.x失败回滚步骤》:http://www.iteblog.com/archives/8573、《Hadoop1.x程序升级到Hadoop2.x需要的依赖库》:http://www.iteblog.com/archive...
阅读(3367) 评论(0)

[置顶] Hadoop多文件输出:MultipleOutputFormat和MultipleOutputs深究(一)

直到目前,我们看到的所有Mapreduce作业都输出一组文件。但是,在一些场合下,经常要求我们将输出多组文件或者把一个数据集分为多个数据集更为方便;比如将一个log里面属于不同业务线的日志分开来输出,并交给相关的业务线。  用过旧API的人应该知道,旧API中有 org.apache.hadoop.mapred.lib.MultipleOutputFormat和org.apache.hadoop....
阅读(3464) 评论(0)

[置顶] Hadoop2.2.0中HDFS的高可用性实现原理

在Hadoop2.0.0之前,NameNode(NN)在HDFS集群中存在单点故障(single point of failure),每一个集群中存在一个NameNode,如果NN所在的机器出现了故障,那么将导致整个集群无法利用,直到NN重启或者在另一台主机上启动NN守护线程。  主要在两方面影响了HDFS的可用性:  (1)、在不可预测的情况下,如果NN所在的机器崩溃了,整个集群将无法利用,直到...
阅读(2843) 评论(2)

[置顶] Hadoop2.2.0完全分布式集群平台安装与设置

经过好多天的各种折腾,终于在几台电脑里面配置好了Hadoop2.2.0分布式系统,现在总结一下如何配置。  前提条件:  (1)、首先在每台Linux电脑上面安装好JDK6或其以上版本,并设置好JAVA_HOME等,测试一下java、javac、jps等命令是否可以在终端使用,如何配置JDK这里就不说了;  (2)、在每台Linux上安装好SSH,如何安装请参加《Linux平台下安装SSH》。后面...
阅读(4410) 评论(6)

[置顶] Hive0.11.0的新特性

1、新增”Explain dependency”语法,以json格式输出执行语句会读取的input table和input partition信息,这样debug语句会读取哪些表就很方便了123456789hive> explain dependency select count(1) from p;OK{"input_partitions":[{"partitionName":"default@...
阅读(2465) 评论(1)

[置顶] Hive insert into语句用法

在Hive0.8开始支持Insert into语句,它的作用是在一个表格里面追加数据。标准语法语法如下:123456789用法一:INSERT OVERWRITE TABLE tablename1 [PARTITION \(partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] \select_statement1 FROM from_statemen...
阅读(22392) 评论(1)

[置顶] 编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行

经过几天的折腾,终于配置好了Hadoop2.2.0(如何配置在Linux平台部署Hadoop请参见本博客《在Fedora上部署Hadoop2.2.0伪分布式平台》),今天主要来说说怎么在Hadoop2.2.0伪分布式上面运行我们写好的Mapreduce程序。先给出这个程序所依赖的Maven包:01020304050607080910111213141516171819202122...
阅读(6658) 评论(1)

[置顶] Guava学习之ArrayListMultimap

ArrayListMultimap类的继承关系如下图所示:Guava ArrayListMultimap  ListMultimap是一个接口,继承自Multimap接口。ListMultimap接口为所有继实现自ListMultimap的子类定义了一些共有的方法签名。ListMultimap接口并没有定义自己特有的方法签名,里面所有的方法都是重写了Multimap接口中的声明,只是将Multim...
阅读(4417) 评论(0)

[置顶] Guava学习之CharSequenceReader

CharSequenceReader类是以CharSequence的形式读取字符。CharSequenceReader类继承自Reader类,除了remaining()、hasRemaining()以及checkOpen()函数之后,其他的函数都是重写Reader类中的函数。CharSequenceReader类声明没有用public关键字,所以我们暂时还不能调用这个类CharSequenceRe...
阅读(1655) 评论(0)

[置顶] Guava学习之HashBiMap

HashBiMap存储的键和值都只能唯一,不存在键与键、值与值相同的情况(详细分析见我博客:Guava学习之BiMap)。HashBiMap类继承了AbstractMap类并实现了BiMap接口,其类继承关系如下图所示:HashBiMap  AbstractMap类实现了Map接口定义的一些方法,而BiMap类定义了其子类需要实现的一些方法,使得所有实现BiMap的类必须符合其独有的特性:键、值都...
阅读(2741) 评论(1)

[置顶] Guava学习之AbstractMapBasedMultimap

AbstractMapBasedMultimap源码分析:AbstractMapBasedMultimap是Multimap接口的基础实现类,实现了Multimap中的绝大部分方法,其中有许多的方法还是靠实现类的具体实现,比如size()方法,其计算方法在不同实现是不一样的。同时,AbstractMapBasedMultimap类也定义了自己的一些方法,比如createCollection()。A...
阅读(1724) 评论(0)

[置顶] Guava学习之Iterators

Iterators类提供了返回Iterator类型的对象或者对Iterator类型对象操作的方法。除了特别的说明,Iterators类中所有的方法都在Iterables类中有相应的基于Iterable方法对应。  性能说明:除非特别说明,所有在这个类中的迭代器都是懒惰的,这意味着在觉得必要的时候,需要提前得到迭代功能。Iterators类可以通过emptyIterator()方法得到一个空的并且不...
阅读(2249) 评论(1)

[置顶] Guava学习之Lists

Lists类主要提供了对List类的子类构造以及操作的静态方法。在Lists类中支持构造ArrayList、LinkedList以及newCopyOnWriteArrayList对象的方法。其中提供了以下构造ArrayList的函数:下面四个构造一个ArrayList对象,但是不显式的给出申请空间的大小:   newArrayList()    newArrayList(E... elements...
阅读(7832) 评论(0)

[置顶] Guava学习之Splitter

Splitter:在Guava官方的解释为:Extracts non-overlapping substrings from an input string, typically by recognizing appearances of a separator sequence. This separator can be specified as a single character, fix...
阅读(7288) 评论(0)

[置顶] Maven如何手动添加依赖的jar文件到本地Maven仓库

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。曾是Jakarta项目的子项目,现为独立Apache项目。  大家肯定遇到过想在pom文件中加入自己开发的依赖包,这些包肯定是不是在Maven仓库(http://repo1.ma...
阅读(9878) 评论(3)

[置顶] Guava学习之Preconditions

在编写程序的时候,很多时候都需要检查输入的参数是否符合我们的需要,比如人的年龄需要大于0,名字不能为空;如果不符合这两个要求,我们将认为这个对象是不合法的,这时候我们需要编写判断这些参数是否合法的函数,我们可能这样写:package com.wyp; import java.util.ArrayList; import java.util.List; /** * Created with I...
阅读(3722) 评论(0)

[置顶] Guava学习之RangeMap

在《Guava学习之RangeSet》中谈到了RangeSet的特点及其用法。今天要谈的的RangeMap和RangeSet有许多不一样的。  在Google Guava官方API上面可以得知:RangeMap是一种集合类型( collection type),它将不相交、且不为空的Range(key)映射给一个值(Value)。和RangeSet不一样,RangeMap不可以将相邻的区间合并,即...
阅读(4422) 评论(1)

[置顶] Guava学习之RangeSet

前面谈到了Guava中新引入的Range类,也了解了其中的作用,那么今天来谈谈Guava中用到Range来的地方:RangeSet类。RangeSet类是用来存储一些不为空的也不相交的范围的数据结构。假如需要向RangeSet的对象中加入一个新的范围,那么任何相交的部分都会被合并起来,所有的空范围都会被忽略。  讲了这么多,我们该怎么样利用RangeSet?RangeSet类是一个接口,需要用它的...
阅读(2509) 评论(0)

[置顶] Guava学习之Range

在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构。从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。比如1到100之间的整型数据。不过我们无法遍历出这个区间里面的值。如果需要达到这个目的,我们可以将这个范围传给ContiguousSet.create(com.goog...
阅读(2264) 评论(0)

[置顶] Guava学习之Immutable集合

Immutable中文意思就是不可变。那为什么需要构建一个不可变的对象?原因有以下几点:在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比)。尤其当一个对象是值对象时,更应该考虑采用Immutable方式;被不可信的类库使用时会很安全;如果一个对象不需要支持修改操作(mutation),将会节省空间和时间的开销;经过分析,所有不可变的集合实现都比可变集...
阅读(2830) 评论(0)

[置顶] Guava学习之Multisets

今天谈谈Guava类库中的Multisets数据结构,虽然它不怎么经常用,但是还是有必要对它进行探讨。我们知道Java类库中的Set不能存放相同的元素,且里面的元素是无顺序的;而List是能存放相同的元素,而且是有顺序的。而今天要谈的Multisets是能存放相同的元素,但是元素之间的顺序是无序的。从这里也可以看出,Multisets肯定不是实现Java中Set接口的,因为Set接口是不能存放相同...
阅读(3637) 评论(0)

[置顶] Guava学习之BiMap

在前面的《Guava学习之Multimap》文章中我们谈到了Guava类库中的Multimap,其特点是存在在Multimap中的键值对可以不唯一;而我们又知道,在Java集合类库中有个Map,它的特点是存放的键(Key)是唯一的,而值(Value)可以不唯一,如果我们需要键(Key)和值(Value)都唯一,该怎么实现?这就是今天要谈的BiMap结构。  在过去,如果需要将Map结构中的键值对反...
阅读(3120) 评论(0)

[置顶] Guava学习之Multimap

相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知道,Map中存储的Key是唯一的。什么意思呢?就是假如我们有两个key相同,但value的元素需要插入到map中去,那么先前的key对应的value将会被后来的值替换掉。如果我们需要用Map来把相同key的值存在一起,代码看起来像下面一样:/** * */ p...
阅读(2730) 评论(0)

[置顶] 社会关系网之中心性分析法

经常研究社会关系网的同学应该对社会关系网中的分析法比较熟悉,最近在写毕业设计用到了这方面的知识,所以在这做个总结。社会关系网是一门研究社会中社会实体(称为参与者)以及他们之间的活动与关系的学问。这种关系和活动可以用网络或者图来进行表示,其中,每一个顶点用来表示一个参与者,而一条边的链接用来表示两个参与者之间的关系。利用网络图我们可以研究该网络的结构特性,以及每一个社会参与者的职责、位置、威望等属性...
阅读(3090) 评论(0)

[置顶] 给Fedora修改默认的软件下载源

(转载请注明:http://www.wypblog.com/archives/124,请不要用于商业目的。)Fedora安装完毕之后最头疼的问题就是软件更新,因为Fedora默认的更新源服务器是在国外,所以每次更新的速度奇慢!那么,我们是否可以修改Fedora的默认下载源呢?答案是可以的。目前国内有很多大学都提供了Fedora的更新包下载服务器,下载速度相对国外的快。下面以华中科技大学的源(htt...
阅读(3958) 评论(1)

[置顶] 爬虫程序中怎么加入动态代理

原文地址:http://www.wypblog.com/archives/118,http://blog.csdn.net/w397090770/article/details/8751268源码下载地址:http://www.wypblog.com/archives/118#zz相信很多人都用过代码写过不同的爬虫程序吧,来获取互联网上自己需要的信息,这比自己手动的去一个一个复制来的容易。但是,居...
阅读(6005) 评论(4)

[置顶] 利用VPN申请Akismet KEY

转载请注明来源:http://www.wypblog.com/archives/67Akismet(Automattic Kismet)是应用广泛的一个垃圾留言过滤系统,其作者是大名鼎鼎的WordPress创始人Matt Mullenweg,Akismet也是WordPress默认安装的插件,其使用非常广泛,设计目标便是帮助博客网站来过滤留言spam。有了akismet之后,基本上不用担心垃圾留言...
阅读(2307) 评论(0)

[置顶] 安装JUDDI服务器以及发布WSDL:第二部分,发布WSDL

Installing thejUDDI UDDI Server and Publishing WSDL, Part 2Publishing WSDLByJoel Barnum, Descriptor Systems.IntroductionIn this article, you will learn how to publish a service's WSDL to the jUDDIserv...
阅读(2042) 评论(0)

[置顶] 安装JUDDI服务器以及发布WSDL:第一部分,安装及配置

Installation andConfigurationByJoel Barnum, Descriptor Systems.IntroductionIn this article, you will learn how to install the open-source jUDDI server andconfigure it. In Part 2,you will publish a Web...
阅读(2524) 评论(0)

[置顶] 过程挖掘(Process Mining Manifesto):从日志中挖掘知识

近年来,事件日志数据越来越多,也越来越容易获取。作为一个年轻的跨领域的交叉研究方向,过程挖掘发展迅速。什么是过程挖掘,过程挖掘算法如何在各类学术和商业系统中得以实现,以及过程挖掘面临哪些技术挑战。本文将进行深入探讨。 IEEE过程挖掘工作组         过程挖掘(process mining),指从现代信息系统中常见的事件日志中获取过程知识,发现、监测和改进实际系统行为...
阅读(5352) 评论(0)

[置顶] 数据结构:块状链表

已转到:http://www.wypblog.com/archives/166一、概述           有时候我们需要设计这样一种数据结构:它能快速在要求位置插入或者删除一段数据。先考虑两种简单的数据结构:数组和链表。数组的优点是能够在O(1)的时间内找到所要执行操作的位置,但其缺点是无论是插入或删除都要移动之后的所有数据,复杂度是O(n)的。链表优点是能够在O(1)的时间内插入和删除一段数据...
阅读(10908) 评论(20)

[置顶] 数据结构:位图法

已移到:http://www.wypblog.com/archives/148一、定义       位图法就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。在STL中有一个bitset容器,其实就是位图法,引用bitset介绍:A bitset is a special container clas...
阅读(16677) 评论(15)

[置顶] 数据结构:线段树

已迁往:http://www.iteblog.com/archives/144一、线段树基本概念           线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。    对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子...
阅读(113990) 评论(4)

[置顶] 数据结构: 平衡二叉树

一、定义         平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用算法有红黑树、AVL、Treap、伸展树等。      平衡二叉树是在二叉排序树(BST)上引入的,就是为了解决二叉排序树的不平衡性导致时间复杂度大大下...
阅读(38560) 评论(2)

[置顶] 2013年各大IT公司研发类笔试题

不可以看见的部分请见http://www.wypblog.com/archives/262一、百度(武汉地区)第一部分:1、描述数据库的简单操作。2、描述TCP\IP四层模型,并简述之。3、描述MVC的内容。第二部分:1、给出a-z0-9,在其中选择三个字符组成一个密码,输出全部的情况,程序实现。2、字符串的反转,比如abcde,输出edcba.3、许多程序会大量使用字符串。对于不同的字符串,我们...
阅读(2899) 评论(4)

[置顶] 数据结构:红黑树

一、定义     红黑树是一种特殊的二叉查找树,它的每一个结点都被标记为红色或者黑色。是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在...
阅读(33254) 评论(1)

[置顶] 数据结构:堆

已移到:http://www.wypblog.com/archives/97堆常用来实现优先队列,在这种队列中,待删除的元素为优先级最高(最低)的那个。在任何时候,任意优先元素都是可以插入到队列中去的,是计算机科学中一类特殊的数据结构的统称一、堆的定义最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树。小顶堆是一棵完全完全二...
阅读(39651) 评论(3)

[置顶] 数据结构:胜者树与败者树

已移到: http://www.iteblog.com/archives/93假设有k个称为顺串的有序序列,我们希望将他们归并到一个单独的有序序列中。每一个顺串包含一些记录,并且这些记录按照键值的大小,以非递减的顺序排列。令n为k个顺串中的所有记录的总数。并归的任务可以通过反复输出k个顺串中键值最小的记录来完成。键值最小的记录的选择有k种可能,它可能是任意有一个顺串中的第1个记录。并归k个顺串的最...
阅读(21519) 评论(10)

[置顶] 各种常见的排序算法及其实现

一、排序的概念 一、排序(sort)或分类 所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下: 输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。 输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。   1.被排序对象--文件 被排序的对象--文件由一组记录组成。记录...
阅读(14140) 评论(0)

[置顶] 字符串相似度计算

已迁移到:http://www.wypblog.com/archives/58思想是编程之美上面的,我只是做了一点点优化。。。许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程序。我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:   1.修改一个字符(如把“a”替换为“b”);       2.增加一个字符(如把“abdd”变为“aebdd”);...
阅读(12093) 评论(0)

[置顶] 小米2013校园招聘笔试题

题目:一个数组里,除了三个数是唯一出现的,其余的都出现偶数个,找出这三个数中的任一个。比如数组元素为【1, 2,4,5,6,4,2】,只有1,5,6这三个数字是唯一出现的,我们只需要输出1,5,6中的一个就行。 下面是我的思路:这个数组元素个数一定为奇数,而且那要求的三个数一定不可能每一bit位都相同,所以我们可以找到其中一个bit位不同,可以把那三个数字分出来,而且可以很推出三个数肯定可以分到...
阅读(30127) 评论(79)

[置顶] 快速排序及优化

转载地址:http://rdc.taobao.com/team/jm/archives/252  quicksort可以说是应用最广泛的排序算法之一,它的基本思想是分治法,选择一个pivot(中轴点),将小于pivot放在左边,将大于 pivot放在右边,针对左右两个子序列重复此过程,直到序列为空或者只有一个元素。这篇blog主要目的是关注quicksort可能的改进方法,并对 这些改进...
阅读(7624) 评论(1)

[置顶] 又一道编程面试题

题目以及要求:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。  我的实现类似冒泡排序。 #include #include // Author: 397090770 // E-mail:wyphao.2007@163.com // Date: 2012/09/29 //题目以及要求:把一个字符串的大写字母放到字符串的后面, //各个字符的相...
阅读(23856) 评论(43)

[置顶] 用01背包解决石子归并问题

题目:有一堆石头质量分别为W1,W2,W3...WN.(W<=100000)现在需要你将石头合并为两堆,使两堆质量的差为最小。      这道题目可以用01背包问题来解决。即求出和最接近sum/2的一个子集 令f(i, j)表示前i个元素中和最接近j的子集的和(有点绕),则有: f(i, j) = max( f(i-1, j), f(i-1, j-a[i])+a[i] ) ,其中a数组是用来...
阅读(7999) 评论(2)

[置顶] [ACM]在命令行以LED样式显示输入的数字

昨天,一个同学和我说了一道ACM题目,说很有趣,于是乎我就听了他给我介绍了题目的要求: 每行输入两个数如下所示: 1        1234567890 输出:    2      1234567890 输出 3        1234567890 输出 我想我图贴到这里大家应该知道题目的要求了吧。 分析:上面的数字输出有点想LED数字输出,不知...
阅读(32834) 评论(5)

[置顶] 用分数形式精确表达有理数和循环无理数

已迁往:http://www.iteblog.com/archives/63学过计算机编程的就知道,在计算机中,浮点数是不可能用浮点数精确的表达的,如果你需要精确的表达这个小数,我们最好是用分数的形式来表示,而且有限小数或无限小数都是可以转化为分数的形式。比如下面的几个小数:0.3333(3)  = 1/3的(其中括号中的数字是表示循环节)0.3 = 3 / 100.25 = 1 / 40. 28...
阅读(21672) 评论(39)

[置顶] Java实现抓取相应地区中央天气预报

先上图:程序一开始运行默认的是显示本地的天气(界面好难看咯)当获取本地地址失败的时候,程序默认显示北京的天气,可以在上面的下拉列表里面选择相应的城市来获取相应城市的天气。全国各地区都是有编码的,所以当你在下拉列表里面选择相关的地方时,程序将会得到相关地区的编码,然后根据编码组成相应的URL地址,以这个URL地址获取到相关的天气信息。当然中央天气网站提供了一个API供我们调用,如下 h...
阅读(27386) 评论(3)

[置顶] 【面试题】判断一个序列是不是栈的输出序列

题目描述:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5、6、7,那么2、1、4、3、7、6、5就有可能是一个pop系列。但序列4、3、5、1、2、7、6就不可能是push序列1、2、3、4、5的pop序列。 问题分析:解决这个问题我们可以申请...
阅读(41407) 评论(15)

[置顶] 自己动手写CSDN博客提取器源码分析之四:抓取网页源码

前几天公布了保存文件的一些源码,今天我发一下怎么抓取网页源码。学过java和C的都知道,java抓取源码要比C语言简单的多,很多东西java都封装好了,只需要调用URL这个类的一些接口就可以获得我们需要的一些资源,而不像C一样,自己构造包,自己再发送,自己要非常懂HTML的一些发送和接收消息包的格式,相当的麻烦。。。下面就是我工程里面的获取源码的类(精简了)。 /** * */ pac...
阅读(32671) 评论(27)

[置顶] [原创]自己动手写博客园博文提取器,提取文件保存支持PDF、doc、txt三种格式

下载地址http://download.csdn.net/detail/w397090770/4443454同样是免积分的 前几天发了一个[原创]自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式  飞程序,有网友反映要做一个可以提取博客园博文,今天我分析了一些博客园的网站,做了一个相似的博客园博文提取器,见下图: 功能和前面的CSDN博客提取器一样 #######...
阅读(32989) 评论(22)

[置顶] 自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件

下面我讲下处理pdf文件的,这里我用了PD4ML来处理的,原因有几个:(1)、它对CSS的支持做的很好;(2)、可以处理图片(很爽吧)(3)、可以处理中文,不过麻烦一些。基础的过程可以看我的另外一篇帖子java编程将HTML文件转换成PDF文件http://blog.csdn.net/w397090770/article/details/7753166。下面是我的处理流程: /** *...
阅读(26813) 评论(6)

[置顶] 自己动手写CSDN博客提取器源码分析之二:处理网页保存为doc文件

下面是把抓取到的网页用itext包保存为doc文件,过程很简单的。下面是这个类的实现: /** * */ package com.wyp.html2doc; import java.io.File; import java.io.FileOutputStream; import java.io.StringReader; import java.util.List;...
阅读(5118) 评论(2)

[置顶] 自己动手写CSDN博客提取器源码分析之一:处理网页保存为txt文件

在昨天上午发了一个帖子[原创]自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式有很多网友比较感兴趣,有些网友说要公布一下源码,在这里,我就把这个软件制作的一些核心代码贴出来,给大家分享。 下面是把抓取到的网页用正则表达式处理留下纯文本然后保存为txt文件。这个代码很简单的,相信大家都看得懂吧。 /** * */ package com.wyp.html2...
阅读(5297) 评论(7)

[置顶] [原创]自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式

下载地址http://download.csdn.net/detail/w397090770/4438566(不需要积分) 下面有网友说爬取到的博文没有任何博主的信息,今天我更新了一下代码, 在每一篇爬取到的博文中添加了作者博客名字以及这篇博文的地址,详细见下图。 用了好久的CSDN博客,发现里面有很多的很不错的文章,但是一篇一篇的复制、粘贴总觉得很麻烦,于是,花了1天半的时间做了一个CS...
阅读(68762) 评论(64)

[置顶] java编程将HTML文件转换成PDF文件

网上有好几种方法可以将将HTML文件转换成PDF文件但是有些对HTML文件格式要求比较严格,稍微错了一些就不能生成我们所要的PDF文件,这里我推荐一个 PD4ML,它可以解决HTML文件格式不正确的问题,可以生成一个比较好的PDF文件,其处理速度快,而且对CSS文件兼容的非常好。下面是最基本的 PD4ML编程: package samples; import java.awt.Insets...
阅读(8684) 评论(8)

[置顶] 将一个长度超过100位数字的十进制非负整数转换为二进制数(大数据处理)

已迁往:http://www.wypblog.com/archives/141题目描述:将一个长度超过100位数字的十进制非负整数转换为二进制数输出。输入:多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出:每行输出对应的二进制数。样例输入:0 1 3 8样例输出:0 1 11 1000分析:这个数不应该存储到一个int类型变...
阅读(3732) 评论(0)

[置顶] 给定a和n,计算a+aa+aaa+a...a(n个a)的和(大数据处理)

题目描述: 给定a和n,计算a+aa+aaa+a...a(n个a)的和。 输入: 测试数据有多组,输入a,n(1 输出: 对于每组输入,请输出结果。 样例输入: 1 10 样例输出: 1234567900 从题中就可以看出,当a = 9, n = 100的时候,一个int类型的数是存不下100位的数,所以不能运用平常的方法来求,下...
阅读(4226) 评论(2)

[置顶] C调用C++链接库

C调用C++链接库:   1.编写C++代码,编写函数的时候,需要加入对C的接口,也就是extern “c"   2.由于C不能直接用"class.function”的形式调用函数,所以C++中需要为C写一个接口函数。例如本来要调用student类的talk函数,就另外写一个cfun(),专门建一个student类,并调用talk函数。而cfun()要有extern声明   3....
阅读(5605) 评论(0)

[置顶] 运用向量求两个很长正数的和

已迁往:http://www.wypblog.com/archives/54题目要求:实现一个加法器,使其能够输出a+b的值。输入:输入包括两个数a和b,其中a和b的位数不超过1000位。输出:可能有多组测试数据,对于每组数据,输出a+b的值。样例输入:2 6 10000000000000000000 10000000000000000000000000000000样例输出:8 100000000...
阅读(2277) 评论(1)

[置顶] 运用向量求10000!的阶乘

已迁往:http://www.wypblog.com/archives/61我们知道,电脑里面的10000的数阶乘结果肯定是不能用int类型存储的,也就是说,平常的方法是不能来求得这个结果的。下面,我介绍一些用向量来模拟这个算法,其中向量里面的每一位都是代表一个数。#include #include using namespace std; //就是n的阶乘 void calculate...
阅读(2769) 评论(0)

[置顶] log4j.properties配置详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。 1. 配置文件 Log4J配置文件的基本格式如下: #配置根Logger log4j.rootLogger  =   [ level ]   ,  appenderName1 ,...
阅读(3187) 评论(1)

[置顶] C++中如何使类不能继承 [转]

如何使类不能被继承   如果大家熟悉java的话应该知道java中有一种类不能被继承,那就是final类.这种类有很多用处,尤其是在大 的项目中控制类的继承层次. 使子类数量不至于爆炸.在使用了多继承的类层次中这也是防止出现菱形继承层次结构的一个好办法. 要实现一个不能被继承的类有很多方法.    主要的思路就是使子类不能构造父类的部分,这样子类就没有办法实例化整个子类.这样就限制了子类的...
阅读(4786) 评论(4)

[置顶] java画图双缓冲机制

主要就是重写了update方法,制定了其刷新的方式~   原理:  1.建立一个Image对象DbBuffer,通过DbBuffer=createrImage(int width,int height)来在内存中开辟一个长为width 宽为heithr空间.次空间的大小可以和你动画窗口的大小保持一致,也可以利用getwidth()和getheight()来获得动画窗口的大小.  2...
阅读(7052) 评论(0)

[置顶] 寻找二叉树两节点的最近的公共祖先[转载+整理]

1.树节点定义中带有parent指针 struct TreeNode { int data; TreeNode *left,*right,*parent; }; 算法思想: (1). p->parent (2). 将q的所有祖先节点依次和p->parent作比较,如果发现两个节点相等,则该节点就是最近公共祖先,直接将其返回。如果没找到相等节点,则转3...
阅读(6803) 评论(1)

[置顶] 堆和栈的区别 [转贴]

非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥! 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据...
阅读(4402) 评论(1)

[置顶] WSDL[Web 服务描述语言]

SDL就是对Web服务软件的描述。具体来说,它描述所有公共可用的方法、交换方法、消息类型以及用在网络层的传输协议和Web服务的地址。客户端应用程序可以为使用的特定传输协议找到Web服务,以及调用任何公共方法。基本上,WSDL可以看作是服务提供者和服务请求者之间的契约。WSDL是XML格式的,所以它也具有平台无关性。WSDL和Java类似,因为它支持抽象和具体概念、以及接口。类似于Java,WSDL...
阅读(4191) 评论(1)

[置顶] UDDI[统一描述发现和集成]

UDDI是一个规范,它定义了与Web服务相关的信息的发布、发现和管理。UDDI以2000年的1.0版本开始,现在UDDI的规范已经是3.0版本,它向后兼容以前的版本。该规范中存在3种类型的组件。第一种类型(节点)是UDDI服务器,它确切地属于一个UDDI注册库。节点在UDDI数据上执行操作。对于API,规范区分了两种不同类型的节点:UDDI服务器和UDDI客户端。组件的第二种类型,注册库,包含一个...
阅读(4234) 评论(0)

[置顶] 关于毕业论文的致谢,我真想这么写……

以下转帖,我真得很想这么写,可惜,有贼心没贼胆啊 感谢冯.诺依曼先生。是他整出了世界上的第一台计算机,才使得我们这些后人鸟枪换炮,由“剪刀加糨糊”的“学术土匪”晋级为“鼠标加剪贴板”的“学术海盗”。计算机,将我们从枯燥的书本中解救了出来,我们无须再在图书馆里东寻西觅,只要一敲键盘,我们就能方便快捷地搞定所需的一切。计算机,是我们写论文的制胜法宝,是我们写论文的大功臣。因此,他是我所应感谢的第...
阅读(4984) 评论(3)

[置顶] 编辑距离

一、问题描述 设A和B是两个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括:   (1)删除一个字符;   (2)插入一个字符;   (3)将一个字符改为另一个字符;   将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的两个字符串A和B,计算出它们的编辑距离d(A,B)。...
阅读(4331) 评论(0)

[置顶] 二叉树的非递归前序、中序以及后序遍历C++模版类实现

#include using namespace std; /////////////////////////////////////////////////////////////////////// //stack template class Stack{ public: Stack(int size = 50); ~Stack(); void push(T* data);...
阅读(4442) 评论(0)

[置顶] 各种排序算法C++模版类实现

闲来无事,于是把常用的排序算法自己写了一遍,也当做是复习一下。 /*************************************************************** * * * * * Date : 2012. 05. 03 * *...
阅读(5200) 评论(0)

[置顶] 二叉树的建立、节点查找以及节点删除C和C++实现

程序是建立一颗二叉排序树,查找节点找到了返回其父节点,失败的时候返回NULL,删除节点分为四种情况:1、左子树和右子树都为空;2、左子树为空,右子树不为空;3、左子树不为空,右子树为空;4、左子树和右子树都不为空。 C语言版本(利用结构体实现): #include #include typedef int DataType; typedef struct BTree{ DataT...
阅读(22146) 评论(4)

[置顶] 二叉树的链表表示法实现

本程序实际上是构建了一颗二叉排序树,程序最后输出构建数的中序遍历。 代码实现: #include #include typedef int DataType; typedef struct BTree{ DataType data; struct BTree *Tleft; struct BTree *Tright; }*BTree; BTree CreateTree()...
阅读(4574) 评论(0)

[置顶] 树的中序非递归遍历和层次遍历实现

在树的中序遍历中需要用到栈,在层次遍历中需要用到队列,下面就是树的结构: 代码实现: #include #include // TreeNode ////////////////////////////////////////////////////////////////////////// typedef struct TreeNode { char m_cVal;...
阅读(4033) 评论(0)

[置顶] LaTex数学符号+代码运行结果

\[ \Gamma_{ij}^{k} =\frac{1}{2}(\frac{\partial g_{il}}{\partial u^j} +\frac{\partial g_{jl}}{\partial u^i} -\frac{\partial g_{ij}}{\partial u^l}) \] \[\sum_{i,j,k=1}^{\infty}{x_{i_{j_{k}}}}\] \[\fra...
阅读(5303) 评论(0)

[置顶] LaTex基本语法

1.LaTeX文件的通常语法如下: \documentstyle{article} \begin{document} This is a first example of a simple input file. \end{document} 如果是中文,将\documentstyle{article}改为 \documentstyle{carticle}...
阅读(7985) 评论(0)

[置顶] Short URL implement

Few months ago, I introduced a simple algorithmthat allow users to implement their own short URL into their system. Today,I have some spare time so I decided to write the short URL algorithm'simplem...
阅读(7091) 评论(1)

[置顶] Implement your own short url

Short URL or tiny URL is an URL used to represent a long URL. For example,http://tinyurl.com/45lk7x will be redirect to http://www.snippetit.com/2008/10/implement-your-own-short-url. There ar...
阅读(8340) 评论(4)

[置顶] C++虚函数

有虚函数的类内部有一个称为“虚表”的指针,这个就是用来指向这个类虚函数。也就是用它来确定调用该那个函数。 例如:#include using namespace std; class A{ public: virtual void fun1(){ cout << "In class A::fun1()!" << endl; } virtual void fun2(){ cou...
阅读(4082) 评论(1)

[置顶] linux网络编程之:DNS报文格式[转]

该报文由12字节的首部和4个长度可变的字段组成。标识字段由客户程序设置并有服务器返回结果。16bit的标志字段 如下: QR:0表示查询报文,1表示响应报文 Opcode:通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)。 AA:表示授权回答(authoritative answer). TC:表示可截断的(truncated) RD:表示期望递归 RA:表...
阅读(5577) 评论(0)

[置顶] linux网络编程之:UDP数据包格式

UDP数据报格式有首部和数据两个部分。首部很简单,共8字节。包括:      ◆源端口(Source Port):2字节,源端口号。      ◆目的端口(Destination Port ):2字节,目的端口号。      ◆长度(Length):2字节,UDP用户数据报的总长度,以字节为单位。      ◆检验和(Checksum):2字节,用于校验UDP数据报的数字段和包含UDP数据...
阅读(8743) 评论(0)

[置顶] linux网络编程之 :ARP协议的报文格式[转]

结构ether_header定义了以太网帧首部;结构arphdr定义了其后的5个字段,其信息用于在任何类型的介质上传送ARP请求和回答;ether_arp结构除了包含arphdr结构外,还包含源主机和目的主机的地址。定义常 #define EPT_IP 0x0800 /* type: IP */ #define EPT_ARP 0x0806 /* type: ARP */ #...
阅读(6635) 评论(0)

[置顶] linux网络编程之:TCP[13] flag combinations[转]

Capturing TCP packets with particular flag combinations (SYN-ACK, URG-ACK, etc.) There are 8 bits in the control bits section of the TCP header: CWR | ECE | URG | ACK | PSH | RST | SYN...
阅读(5201) 评论(0)

[置顶] linux网络编程之:接受网络中的ARP数据并分析(附C语言实现)

ARP协议是“Address Resolution Protocol”的缩写,它的作用是将IP地址转换成物理地址(就是常说的MAC地址),    协议ARP的分组格式如下: ------------------------------------------ 以太网目的地址(6个字节) 以太网源地址(6个字节) 帧类型(ARP = 0806)(2个字节) -------------------...
阅读(5757) 评论(0)

[置顶] linux网络编程之:多播

#include #include #include #include #include #include #define BUFLINE 256 int main(int argc, char *argv[]){ struct sockaddr_in local; int fd, n; struct ip_mreq mc; char msg[BUFLINE + 1]; i...
阅读(4654) 评论(0)

[置顶] linux网络编程之:获取指定网卡网络数据包并分析(附C语言源码)

#include #include #include #include #include int main(){ char *net_dev; char *ip_addr; char *net_mask; char errbuf[PCAP_ERRBUF_SIZE]; bpf_u_int32 netp; bpf_u_int32 mask; struct in_addr a...
阅读(5885) 评论(0)

[置顶] 2012年腾讯招聘实习生笔试题

已移到:http://www.wypblog.com/archives/155程序的问题:已知数组a[n],求数组b[n].要求:b[i]=a[0]*a[1]*……*a[n-1]/a[i],不能用除法。 a.时间复杂度O(n),空间复杂度O(1)。 b.除了迭代器i,不允许使用任何其它变量(包括栈临时变量等)大家有什么解法?先不要看我下面的解法。希望大家讨论讨论一下,留个言,一起交流一下。下面给出...
阅读(5995) 评论(5)

[置顶] 数独游戏的设计

前几天看到了一本面试的书上,里面有一道题目,是说数独游戏的生成,于是自己就想实现一下,看了一下别人的代码,自己修改了一些,代码的核心思想是:利用深度优先搜索,当搜索到的节点满足条件,则搜索下一点,否则回退。程序运行图: public void getSudoku(int [][] array, LEVEL level) { clear(array); int row = 1,...
阅读(5600) 评论(0)

[置顶] Java限制格式,只能输入数字的输入框JTextField

package com.ui.wyp; import java.text.ParseException; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.text.MaskFormatter; public class JustaTest { public stati...
阅读(8759) 评论(4)

[置顶] 编写自己的ls程序

本程序用来仿照linux中的ls -l命令来实现的,主要运用的函数有opendir,readdir, lstat等。代码如下: #include #include #include #include #include #include #include #include #include using namespace std; void getFileAndDir(ve...
阅读(4907) 评论(4)

[置顶] C语言解析多格式的lrc文件

昨天写了一个程序,只能解析简单的lrc文件,今天我有修改了一些源程序,现在可以解析很多格式的lrc文件,并弄好歌词的顺序 /** * create by: w397090770 * Email:wyphao.2007@163.com * create data: 2012.3.27 **/ #include //for printf,fgets... #include //for e...
阅读(5344) 评论(2)

[置顶] C语言解析lrc文件

本程序将歌词文件的时间和歌词分开来,并把 时间转换为微秒的单位。#include #include #include #include #define MAXLINE 256 #define MAXBUF 256 char *tmp; int chartoint(char ch){ return ch - '0'; } int strtoint(char *str){//计算时间...
阅读(5307) 评论(1)

[置顶] 再说C++模板类的一些使用技巧

已移到:http://www.wypblog.com/archives/184C++允许为模板类中的类型参数指定为一个迷人类型,例如:我们可以将int赋予通用类Stack中的类型参数T,作为默认类型,如下所示:template class Stack{ //other operator };现在我们就可以像如下代码一样使用默认类型来声明模板类对象了:Stack但是需要注意的是,默认类型只能用于模板...
阅读(6092) 评论(3)

[置顶] C++读写文件

#include #include using namespace std; int main() { const int SIZE = 5; fstream inData; inData.open("rubbish.dat", ios::out | ios::binary); double array[SIZE] = { 1.2, 2.3, 3.4,...
阅读(4529) 评论(0)

[置顶] C++模版树的建立

头文件: #ifndef TREE_H #define TREE_H namespace wyp{ template class SearchTree; template class TreeNode{ public: TreeNode() : data(NULL){ } TreeNode(T data, TreeNode *left, TreeNode...
阅读(4589) 评论(0)

[置顶] C++利用类建立链表

头文件 #ifndef LIST_H #define LIST_H namespace wyp{ template class Node{ public: Node(const T& data, Node* link) : data(data), link(link){ } Node * getLink(){ return link; } cons...
阅读(4638) 评论(1)

[置顶] 海量数据处理程序设计技巧(附C++代码)

已移到:http://www.wypblog.com/archives/158求解问题如下:在本地磁盘里面有file1和file2两个文件,每一个文件包含500万条随机整数(可以重复),最大不超过2147483648也就是一个int表示范围。要求写程序将两个文件中都含有的整数输出到一个新文件中。要求:1.程序的运行时间不超过5秒钟。2.没有内存泄漏。3.代码规范,能要考虑到出错情况。4.代码具有高...
阅读(7715) 评论(2)

[置顶] 一些经典的算法实现

//插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil; /** * @author treeroot * @since 2006-2-2 * @version 1.0 */ public class InsertSort implements SortUtil.Sor...
阅读(4595) 评论(0)

[置顶] C++重载[]数组操作符

#include #include using namespace std; class CharPair{ public: CharPair(){ } CharPair(char first, char second): first(first), second(second){ } char &operator[](int index); private:...
阅读(6045) 评论(0)

[置顶] c++重载自增和自减操作符

#include #include using namespace std; class Pair{ public: Pair(int firstPart, int secondPart); Pair operator++(); Pair operator++(int); void setFirstPart(int firstPart); void setSecondPart(int...
阅读(6536) 评论(0)

[置顶] 在fedora里面安装BerkeleyDB数据库

已转到:http://www.wypblog.com/archives/179         一、首先到oracle的官网下载Berkeley db数据库源文件下载地址http://download.oracle.com/otn/berkeley-db/db-5.3.15.tar.gz         二、下载之后的文件是一个打包好的文件,需要在命令行里面利用tar来解压(当然你也可以利用一些可...
阅读(5459) 评论(1)

[置顶] Unix网络编程(卷二)源码编译报错解决 .

源码下载地点:http://www.kohala.com/start/unpv22e/unpv22e.html 1、按照Readme操作,进入lib目录下make报错:     gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS   -c -o daemon_inetd.o daemon_inetd.c In file inc...
阅读(5685) 评论(0)

[置顶] C++预处理

一、预处理的由来:     在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个。C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarne博士简称为Cpp,不知道是不是C Program Preprocessor的简称)。   二、常见的预处理功能:     预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最...
阅读(4568) 评论(1)

[置顶] 平面上求最近点对问题

求点集中的最近点对有以下两种方法: 设p1=(x1, y1), p2=(x2, y2), …, pn=(xn, yn)是平面上n个点构成的集合S,设计算法找出集合S中距离最近的点对。   1、蛮力法(适用于点的数目比较小的情况下)      1)算法描述:已知集合S中有n个点,一共可以组成n(n-1)/2对点对,蛮力法就是对这n(n-1)/2对点对逐对进行距离计算,通过循环求得点集中的最近...
阅读(10908) 评论(9)

[置顶] Linux下创建临时文件

已移到:http://www.wypblog.com/archives/172        临时文件是一个暂时用来存储数据的文件。如果使用建立普通文件的方法来创建文件,则可能遇到文件是否存在,是否有文件读写权限的问题。Linux系统下提供的建立唯一的临时文件的方法如下:#include char *tmpnam(char *s); FILE *tmpfile();         函数tmpna...
阅读(6922) 评论(1)

[置顶] 中缀表达式转成后缀表达式(含java实现的具体代码)

已转到:http://www.wypblog.com/archives/161             后缀表达式又叫做逆波兰表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。          运用后缀表达...
阅读(9533) 评论(1)

[置顶] House of Quality

House of Quality is a diagram, resembling a house,[1] used for defining the relationship betweencustomer desires and the firm/product capabilities.[2] It is a part of theQuality Function Deployment...
阅读(5046) 评论(0)

[置顶] matble中生成Voronoi图

Definitions Consider a set of coplanar points P. For each point Px in the set P, you can draw a boundary enclosing all the intermediate points lying closer to Px than to other points in the set P....
阅读(5795) 评论(1)

[置顶] linux中的C里面使用pthread_mutex_t锁

linux下为了多线程同步,通常用到锁的概念。 posix下抽象了一个锁类型的结构:ptread_mutex_t。通过对该结构的操作,来判断资源是否可以访问。顾名思义,加锁(lock)后,别人就无法打开,只有当锁没有关闭(unlock)的时候才能访问资源。 它主要用如下5个函数进行操作。 1:pthread_mutex_init(pthread_mutex_t * mutex,const p...
阅读(26132) 评论(6)

[置顶] Linux系统中的信号

信号(Signal)是Linux系统中用于进程之间相互通信或操作的一种机制。信号是一个相当广泛的课题;在这里,我们仅仅探讨几种最重要的信号以及利用信号控制进程的技术。         信号是一个发送到进程的特殊信息。信号机制是异步的;当一个进程接收到一个信号时,它会立刻处理这个信号,而不会等待当前函数甚至当前一行代码结束运行。信号有几十种,分别代表着不同的意义。信号之间依靠它们的值来区分,但是通...
阅读(4982) 评论(2)

[置顶] 验证和确认——缺一不可

在软件测试中不仅要检查程序是否出错、程序是否和软件产品的设计规格说明书一致,而且还要检验所实现的正确功能是否就是客户或用户所需要的功能,两者缺一不可,这两部分活动构成了一个完整的测试活动。这就是软件测试中有名的V&V,即Verification和Validation。实际上,在整个软件开发生命周期,Verification和Validation每时每刻都存在着。 1. 验证——Verific...
阅读(4662) 评论(0)

[置顶] 如何判断一点在三角形内

假定在右手坐标系中的三角形3点坐标为A,B,C,判断P是否在ABC之内   ( 主要来自 3D引擎研发QQ群(38224573 )的各位朋友的讨论 ,我仅仅算做个总结吧,特别感谢各位朋友的热情支持。 )   方法1:三个Perplane的方法            设AB,BC,AC边上的垂直平面为Perplane[3],垂直朝向内侧的法向为n[3]           1)先根据任意...
阅读(5566) 评论(1)

[置顶] 平面中判断点是否在某一三角形内算法 .

给定平面上一点p(x0,y0),判断该点是否在三角形ABC中,三角形顶点坐标分别为A(xa,xb),B(xb,yb),C(xc,yc)。可以使用面积法来判断,方法如下:其中S(A,B,C)表示三角形ABC的面积。     1、 若abs( S(A,B,C) ) = abs( S(P,B,C) ) + abs( S(A,P,C) ) + abs( S(A,B,P) ) ,则P在三角形ABC的内部或...
阅读(11014) 评论(1)

[置顶] Delaunay三角剖分算法

1. 三角剖分与Delaunay剖分的定义      如何把一个散点集合剖分成不均匀的三角形网格,这就是散点集的三角剖分问题,散点集的三角剖分,对数值分析以及图形学来说,都是极为重要的一项预处理技术。该问题图示如下:    1.1.三角剖分定义     【定义】三角剖分:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段, E为e的集合。那么该点集V的一个三角剖分...
阅读(5660) 评论(0)

[置顶] Delaunay三角剖分(Delaunay Triangulation)相关知识

1.Delaunay三角剖分&Voronoi图定义 2.计算Delaunay三角剖分的算法及分析 3.例子程序&代码 大话 点集的三角剖分(Triangulation),对数值分析(比如有限元分析)以及图形学来说,都是极为重要的一项预处理技术。 尤其是Delaunay三角剖分,由于其独特性,关于点集的很多种几何图都和Delaunay三角剖分相关,如Voronoi图,EMST树,Gab...
阅读(4999) 评论(0)

[置顶] [原创]postgreSQL9.1.2总控walsender.c源码分析

一、程序涉及到的一些知识 1、主服务器是以连续的归档模式操作的,而备用服务器是以连续的恢复模式从主服务器的WAL文件中读取数据。 2、归档进程pgarch就是负责在重做日志文件切换后将已经写满的重做日志文件复制到归档日志文件中,以防止循环写入重做日志文件时将其覆盖。所以说,只有数据库运行在归档模式时,这个pgarch进程才会被启动。 3、日志传送是异步进行的。WAL记录的传送是在事务提交之后...
阅读(5613) 评论(1)

[置顶] Delaunay三角形网格

【摘要】本文探讨了以平面散点集逐点插入的Delaunay三角化方法为基础,在三角化过程中采用一定策略,将其改进成为一种简单高效的方法。该方法能够适应各种边界,包括多岛、多连通域等复杂情况,能够生成贴体的三角网,网格能够保证符合Delaunay法则。 【关键词】Delaunay  三角网  三角剖分  等值线     三角剖分是计算几何领域的主要课题之一,并具有广泛的应用前景。在计算机图形学、...
阅读(7409) 评论(1)

[置顶] Voronoi图,一个让人战栗的算法

求一个点集的最大空心圆,用基本的枚举可以很容易想到O(n^4)的方法,但是由于计算几何高级算法Voronoi图的存在,求最大空心圆的复杂度只需要O(n*logn)    Voronoi图是很复杂的东东,不过我和它还挺有缘的,第一次见面是在高二,《金牌之路——高中计算机竞赛解题指导》上面看到的,由于对几何的热爱当时还真学了,后来才知道这么偏僻的算法几乎不会考。昨晚复习了一晚上,也只是掌握了一种用双...
阅读(13515) 评论(4)

[置顶] 随机化快速排序

快速排序的算法的性能取决于划分的对称性。通过修改函数 Partition ,可以设计出采用随机选择策略的快速排序算法。在快速排序算法的每一步中,当数组还没有被划分时,可以在a[p:r]中随机选出一个元素作为划分基准,这样可以使划分基准的选择是随机的,从而可以期望划分是较对称的。   代码如下:     #include #include int a[]={15,56,2,5...
阅读(7298) 评论(2)

[置顶] Java主线程等待子线程执行完毕-CountDownLatch

主线程:   //Main主线程 publicclassMainThread { publicstaticvoid main(String[] args) throwsInterruptedException { longstartTime = System.currentTimeMillis(); intthreadNum =...
阅读(5786) 评论(0)

[置顶] [转]Java多线程--让主线程等待所有子线程执行完毕

朋友让我帮忙写个程序从文本文档中导入数据到oracle数据库中,技术上没有什么难度,文档的格式都是固定的只要对应数据库中的字段解析就行了,关键在于性能。     数据量很大百万条记录,因此考虑到要用多线程并发执行,在写的过程中又遇到问题,我想统计所有子进程执行完毕总共的耗时,在第一个子进程创建前记录当前时间用System.currentTimeMillis()在最后一个子进程结束后记录当前时间...
阅读(4804) 评论(2)

[置顶] 数据挖掘K-平均值(K-means)程序C实现

k平均聚类发明于1956年, 该算法最常见的形式是采用被称为劳埃德算法(Lloyd algorithm)的迭代式改进探索法。劳埃德算法首先把输入点分成k个初始化分组,可以是随机的或者使用一些启发式数据。然后计算每组的中心点,根据中心点的位置把对象分到离它最近的中心,重新确定分组。继续重复不断地计算中心并重新分组,直到收敛,即对象不再改变分组(中心点位置不再改变)。   劳埃德算法和k平均通常是紧密...
阅读(6782) 评论(0)

[置顶] Linux多线程编程(不限Linux)

——本文一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。 前言 线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到这样一道面试题: 是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能: 1)有一int型全局变量g_Flag初始值为0; 2...
阅读(4412) 评论(0)

[置顶] 安装postgreSQL出现configure:error:readline library not found解决方法及pg安装全过程

在安装postgreSQL的过程中遇到一个问题,在执行 configure 过程中报以下错误,configure: error: readline library not found ,可是我在系统中安装 readline 包了, 1 环境信息 2 根据提示,测试了下...
阅读(11350) 评论(0)

[置顶] scjp复习笔记(3)

Example 16: 在Java1.6中引入了许多新的接口,其中的两个是:java.util.NavigableSet和java.util.NavigableMap。 import java.util.*; public class Ferry {   public s...
阅读(4465) 评论(0)

[置顶] scjp复习笔记(2)

Example 11: 注意length和length()的用法:比如String str="My name is wuyangping"求长度为str.length();但String [] str=new String[5],求这个的长度为str.length. Exam...
阅读(4437) 评论(0)

[置顶] SCJP复习笔记(1)

example 1: 1. final int a = 1; 2. final int b; 3. b=5; 4. int x=0; 5. switch(x) 6. { 7. case a: 8. case b://Exception 9. } Switch(...
阅读(4478) 评论(1)

[置顶] 自己动手编程 :双向气泡排序

#include #include #define Elem int typedef struct sqlist{ Elem key ; int data ; }sqlist ; void doublesort(sq...
阅读(4383) 评论(0)

[置顶] 自己动手之 快速排序

#include #include #define Elem int typedef struct sqlist{ Elem key ; int data ; }sqlist ; void quicksort(sqlist R[] , int min , int max){ int i ,j ; i = min ; j = max ;...
阅读(4210) 评论(0)

[置顶] 用c语言产生随机数

在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的...
阅读(4697) 评论(1)

[置顶] 在J2ME里面实现J2SE中的split的方法

今天在用J2ME的时候发现里面没有J2SE中的分割字符串的函数,于是自己想了一会设计出下面的代码,可以用来分割一个所给的字符串,发出来让大家一起分享。 public String [] spilt(String original ,String regex){...
阅读(4371) 评论(0)

[置顶] Linux Socket编程(不限Linux)

“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ...
阅读(5804) 评论(0)

[置顶] linux非阻塞式socket编程之select()用法

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个...
阅读(38840) 评论(8)

[置顶] linux socket read 阻塞

read函数只是一个通用的读文件设备的接口。是否阻塞需要由设备的属性和设定所决定。一般来说,读字符终端、网络的socket描述字,管道文件等,这些文件的缺省read都是阻塞的方式。如果是读磁盘上的文件,一般不会是阻塞方式的。但使用锁和fcntl设置取消文件O_NOBLOCK状态,...
阅读(6119) 评论(0)

[置顶] size_t 与 ssize_t的解释

ssize_t是什么类型的? 解释一:为了增强程序的可移植性,便有了size_t,它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t可能不一样。      在32位系统上 定义为 unsigned int 也就是说在32位系统上是32位无符号整形。在64位系统...
阅读(15957) 评论(0)

[置顶] mysql 的乱码解决方法

SET NAMES gb2312;  ---okmysql的乱码解决方法第一个方法:MySQL 4.1 中文乱码的问题最近要将 MySQL 4.0 升级到 MySQL 4.1 ,发现了中文乱码的问题,希望以下见解对大家有用。1. MySQL 4.1 在文字上有很大改进,它有了 Character Set 与 Collation 的慨念。2. 在 MySQL 4.0 ,一般的程式都会将文字以拉丁...
阅读(4317) 评论(0)
166条 共17页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1549213次
    • 积分:14061
    • 等级:
    • 排名:第835名
    • 原创:124篇
    • 转载:7篇
    • 译文:35篇
    • 评论:542条
    联系我
    本博客微信公共帐号
    本博客开通了微信公共帐号,可以在微信里面搜索iteblog_hadoop,欢迎大家关注!
    《过往记忆》博客微信公共帐号
    关注互联网头条技术
    关注互联网头条技术
    rss订阅本站
    新浪微博
    博客专栏
    最新评论