数据结构和算法
bo_hai
这个作者很懒,什么都没留下…
展开
-
JAVA 实现二叉树。
<br />一、创建结点类:<br />public class Node { public Node leftNode; public Node rightNode; int data; /** * @author hbliu * @param newData */ public Node(int newData) { this.data = newData; this.leftNode = null; this.rightNode = nu原创 2011-01-18 13:35:00 · 852 阅读 · 0 评论 -
Hadoop 统计不同引用次数的专利数目(三)
.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapre2013-11-23 16:14:36 · 90 阅读 · 0 评论 -
Hadoop 自定义数据类型实例
6417:16:56 http://blackproof.iteye.com/blog/180626517:16:30 http://blackproof.iteye.com/blog/180626617:16:45 http://blackproof.iteye.com/blog/180626717:16:23 http://blackproof.iteye.com/blog/1806268 需求是:把后面的URLString 封装成 URL类型。代码如下: import ja2013-11-23 16:21:26 · 68 阅读 · 0 评论 -
插入排序、选择排序、冒泡排序 简单实例
2013-12-18 18:52:31 · 83 阅读 · 0 评论 -
判断是否是回文数的简单实例
(i))) { n++; System.out.print(i); System.out.print('\t'); if (n % 5 == 0) { System.out.println(); } } } } public static boolean isPalindrome(String str) { boolean result = true; int length = str.length();2013-12-18 19:51:21 · 440 阅读 · 0 评论 -
快速排序的简单实例
tUtil.showArr(arr); } public static void quickSort(int[] arr,int low ,int high) { int i = low; int j = high; int temp = arr[i]; while(i < j) { while (i < j && temp < arr[j]) { j--; } i2013-12-19 19:41:56 · 130 阅读 · 0 评论 -
斐波那契数列 的两种实现方式
2013-12-23 18:58:04 · 245 阅读 · 0 评论 -
循环单向链表JAVA实现
tSingleLinkedList<E> implements List<E> ,java.io.Serializable { private static final long serialVersionUID = -2856058002090891038L; private transient Entry<E> header = null; private transient int size ;2013-12-29 16:25:52 · 96 阅读 · 0 评论 -
Stack (堆栈)使用JAVA实现
bstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ private static final long serialVersionUID = 1L; private Object[] elementData; private int size; private int length; publ2013-12-29 17:25:43 · 129 阅读 · 0 评论 -
队列(Queue)用JAVA简单实现
te static final long serialVersionUID = 6203363761107460505L; // 指向队头 private transient Entry<E> front; private transient int size ; // 指向队尾 private transient Entry<E> rear; @Override public Iterator&l2014-01-04 14:15:58 · 137 阅读 · 0 评论 -
二叉排序树使用List 实现(JAVA)
.List;public class BinaryTreeList<E> extends AbstractSingleLinkedList<E> implements List<E> ,java.io.Serializable { private static final long serialVersionUID = -5672690815694732101L; private Entry<2014-01-04 17:05:49 · 161 阅读 · 0 评论 -
Condition 在多线程协作中应用实例
til.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class NewPlate { private List<Object> eggs = new ArrayList<Object>(); private Lock lock = new ReentrantLock(); private Conditio2014-01-16 15:47:16 · 96 阅读 · 0 评论 -
JAVA多线程 Exchanger 应用
有空杯中不断倒水,消费者不断从原有装满水的杯中喝水。 * 当服务员倒满水和消费者喝完水时,两个杯子进行交换。一直这样周而复始。 * @author liuhongbo * */public class ExchargerTest { static Exchanger<Cup> exchanger = new Exchanger<Cup>(); // 初始化时,100 只杯子都是满的 static Cup fu原创 2014-01-24 15:42:30 · 109 阅读 · 0 评论 -
JAVA多线程 Semaphore 应用
public static void main(String[] args) { // 线程池 ExecutorService exec = Executors.newCachedThreadPool(); // 只能5个线程同时访问 final Semaphore semp = new Semaphore(5); // 模拟20个客户端访问 for (int index = 0; index < 20; index++) { final in原创 2014-01-24 16:04:54 · 100 阅读 · 0 评论 -
JAVA notifyAll wait 实例
2A34B56C78D910E ,怎么搞 ? * @param args */ public static void main(String[] args) { int[] numArr = {1,2,3,4,5,6,7,8,9,10}; char[] charArr = {'A','B','C','D','E'}; NotifyAllTest obj = new NotifyAllTest(); new Thread(new OneThread(numArr, ob2014-06-27 13:55:39 · 104 阅读 · 0 评论 -
安全发布单例模式
ion; }}2、使用lazy的方法:public class ResourceFactory { private ResourceFactory(){} private static class ResourceHandle{ public static Resource resource = new Resource(); } public static Resource getResource() { return ResourceFact原创 2014-06-27 17:24:13 · 68 阅读 · 0 评论 -
ReadWriteLock 使用实例
l.Map;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class WriteReadMap<K, V> { private final Map<K,V> map; pr原创 2014-06-28 20:21:29 · 133 阅读 · 0 评论 -
FutureTask 实例
复杂的计算。代码如下:import java.util.concurrent.Callable;import java.util.concurrent.FutureTask;import java.util.concurrent.TimeUnit;public class FutureTaskTest { private FutureTask<String> futureTask = new FutureTask<String&am原创 2014-06-29 10:56:21 · 214 阅读 · 0 评论 -
Hadoop 统计专利被引用次数(二)
ava.io.IOException;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Ma原创 2013-11-23 16:03:45 · 365 阅读 · 0 评论 -
Hadoop 统计专利被那些专利所引用(一)
043858243,29496113858243,31464653858243,31569273858243,32213413858243,35742383858243,36817853858243,36846113858244,140403858244,174453858245,17445 注:第一列是专利号,第二列是引用的专利号。二、Hadoop 代码如下: import java.io.IOException;import org.apa2013-11-23 13:01:27 · 196 阅读 · 0 评论 -
权限不对导致datanode启动不成功
he.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permission for /home/hongbo/hadoop/dfs/data, expected: rwxr-xr-x, while actual: rwxrwxrwxERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.d2013-10-29 20:07:13 · 172 阅读 · 0 评论 -
JAVA 实现二叉树。
e(int newData) { this.data = newData; this.leftNode = null; this.rightNode = null; } }二、创建树类:package com.test.tree;public class BinaryTree { private Node root; /** * 功 能:创建一个空的二凡树 */ public BinaryTree() { root = nul2011-01-18 13:35:00 · 54 阅读 · 0 评论 -
有N个小朋友围成一圈做游戏....用java程序实现
之剩下最后一人。问:所剩下的人在原来的圈子排第几位置?用Java 编写代码程序如下:public class ShowNum { public static void main(String[] args) { int[] arrayNum=new int[14]; int outNum=0; int j=1; int n=0; for (int i = 0; i < arrayNum.le2010-12-04 09:52:00 · 314 阅读 · 0 评论 -
冒泡排序和选择排序
.length-i-1; j++) { if(oldArray[j] > oldArray[j+1]){ temp=oldArray[j]; oldArray[j]=oldArray[j+1]; oldArray[j+1]=temp; } } }2010-12-04 09:33:00 · 58 阅读 · 0 评论 -
JAVA 二叉树的遍历
u * @param node * 功 能:二叉树后序遍历输出 */ private void PostOrder(Node node){ if (node == null){ return ; } PostOrder(node.leftNode); PostOrder(node.rightNode); System.out.print(node.data + " "); } /** * @原创 2011-01-19 09:52:11 · 87 阅读 · 0 评论 -
二叉树中查找算法。
thor hbliu * @param node * @param data * @return * 功 能:二叉树中查找数据元素 */ private Node searchNode(Node node,int data){ Node searchResutlNode = null; if(node == null){ return null; } if(node.data == data){ return node;原创 2011-01-19 13:19:37 · 94 阅读 · 0 评论 -
用JAVA实现折半查找
* @param end 结束下标 * @return 数据在数组中下标的位置,如果数据不在数组中,返回 -1 * 功 能:折半查找 */ public static int splitHalf(int[] arrayData,int searchData,int start,int end){ int index = (start + end)/2; int data = arrayData[index]; if(start > end ){原创 2011-01-20 09:55:24 · 222 阅读 · 0 评论 -
JAVA实现直接插入排序
2011-02-17 14:07:29 · 62 阅读 · 0 评论 -
JAVA 字节数截取字符串
2011-03-10 13:25:09 · 74 阅读 · 0 评论 -
JAVA MD5 加密
ng str) { MessageDigest messageDigest = null; try { messageDigest = MessageDigest.getInstance("MD5"); messageDigest.reset(); messageDigest.update(str.getBytes("UT原创 2011-11-11 17:06:36 · 74 阅读 · 0 评论 -
JAVA Encrypter 加密算法
个字符 private static final String key = "*:@1$7!a*:@1$7!a*:@1$7!^"; private static final String alg = "DESede"; static { try { SecretKey skey = new SecretKeySpec(key.getBytes(), alg);2011-11-11 17:19:11 · 307 阅读 · 0 评论 -
Arrays.asList 使用注意事项
<String> list = Arrays.asList(str); list.add("4"); }} 你们猜猜,有问题吗?运行程序,报以后错误:Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:131) at java.2011-11-16 13:03:58 · 92 阅读 · 0 评论 -
obj使用后赋值null讨论
TestObject> objs = new ArrayList<TestObject>(); TestObject obj = null; for (int i = 0 ;i < 3; i++) { obj= new TestObject(); obj.setName("yihaodian"+String.valueOf(i)); objs.add(obj); // obj 设置成2011-11-16 13:13:01 · 132 阅读 · 0 评论 -
MySQL 随机取数据
2012-01-18 15:16:51 · 77 阅读 · 0 评论 -
拥有私有构造器的类,在类外面创建对象的方法(AccessibleObject)
void setName(String name) { this.name = name; } } 这个类是私有构造器,除了在本类中创建这个类的对象外,没有其它方式可以创建这个类的对象了。下面的程序是在这个类的外部创建这个类的对象:public class Test { public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalA原创 2012-01-20 16:31:59 · 186 阅读 · 0 评论 -
connect by prior 使用总结
Y PRIOR c.category_parent_id = c.id START WITH c.id = 123 上面的sql查询是 123 父结点的结果集。2012-03-12 18:20:01 · 197 阅读 · 0 评论 -
Hbase 伪分布模式配置
,可以在控制台上运行 echo ${JAVA_HOME} 来看输出结果; export HBASE_CLASSPATH=/usr/hadoop/conf 将HBASE_CLASSPATH 指向 hadoop/conf 可以在控制台上运行echo ${HADOOP_HOME} 来看输出结果; export HBASE_MANAGES_ZK=true 将HBASE_MANGES 设置成true; 2、配置 hbase-site.xml文件:内容如下: &2013-06-04 18:55:04 · 92 阅读 · 0 评论 -
Hadoop 配置分享
<value>hdfs://192.168.56.101:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <!-- 使用你的自己定义路径 --&g2013-10-28 20:13:49 · 69 阅读 · 0 评论 -
ThreadPoolExecutor 中饱和策略分析
hreadPoolTask(Object tasks) { this.threadPoolTaskData = tasks; } @Override public void run() { System.out.println("start :" + threadPoolTaskData); try { TimeUnit.SECONDS.sleep(consumerTaskSleepTime); } catch (Exception e)原创 2014-07-03 15:25:42 · 163 阅读 · 0 评论