- 博客(39)
- 资源 (24)
- 收藏
- 关注
转载 数组分割问题-详细版
本文说是《编程之美》2.18新思路,其实也是July的《微软等公司面试100题》上的32题的解法。 两个序列大小均为n,序列元素的值为任一整数,无序;要求通过交换两个序列的元素,使序列a元素之和与序列b的元素之和的差最小(可能存在很多种组合,要求找出其中一种即可)。如序列:1 5 7 8 9和序列6 3 11 20 17我们可以通过交换得到新
2013-08-07 10:15:21
269
原创 java实现Dijkstra算法
最近在复习一些数据结构的知识,就把经典的Dijkstra算法用java实现了一下。总结一下思想就是:每次找到距离最短的点,用这个点去更新它的邻接点到开始点的距离,直到所有点都被选成最短点为止。代码中只输出开始点到其它所有点的最短距离,没有实现输出最短路径的具体路径,如果要记录的话,需要额外用一个数据结构记录是谁更新的它。import java.util.HashMap;imp
2013-07-24 11:36:29
5261
原创 关于java中使用HashMap要注意的地方
阅读了一下HashMap的原理和源码,自己也做了下实验,提醒下需要注意的地方。如果两个Key的hashcode相同equals也相同,那么第二个一定会替代第一个。如果两个Key的hashcode相同但是equals不同,这是比较危险的,因为程序会在第一个key做hash后的位置中去找和第二个key equals的地方,结果发现没找到,整个entry链表都会清空,
2013-07-23 15:34:49
336
转载 Java的内存回收机制
本文转自 http://www.cnblogs.com/xiaoxuetu/archive/2013/03/29/2987805.html在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序
2013-06-15 10:18:13
556
原创 k-means聚类java实现
以前做项目时候写的代码,数据是一维的,多维的也一样,把距离计算的改一改就行int term = Math.abs(dotlist.get(centerIndex[j]).x- dotlist.get(i).x);package uestc.dmlab.call;import java.io.BufferedReader;import java.io.FileReader;imp
2013-06-09 10:00:28
3394
1
转载 JAVA程序的平滑停止(程序停止时有“收尾工作”)
转自:http://singleant.iteye.com/blog/1441219java应用程序退出的触发机制有:1.自动结束:应用没有存活线程或只有后台线程时;2.System.exit(0);3.kill 或 ctrl+C;4.kill -9 强制退出; 如何做到应用程序平滑停止 程序的退出就像关机一样,我们希
2013-06-08 15:01:41
632
转载 爬虫伪装方法
原文:http://pisces-java.iteye.com/blog/1471651最近因为业务需要,要将豆瓣上的图书以及影视信息抓取下来,网页抓取其实很简单,很快就完成,但是系统还没上线就发现了问题,豆瓣会根据请求分析客户的行为,判断是否是机器人,如果判断为机器人,将要求输入验证码,最终导致抓取不到数据。要解决这个问题,主要就两个思路,一个是识别验证码,当要求输入验证码时
2013-05-29 20:40:10
3865
原创 LIRE(Lucene Image Retrieval)相似图像索引和搜索机制
众说周知,lucene是一个开源的强大的索引工具,但是它仅限于文本索引。基于内容的图像检索(CBIR)要求我们利用图像的一些基本特征(如颜色纹理形状以及sift,surf等等)搜索相似的图片,LIRE(Lucene Image Retrieval)是一款基于lucene的图像特征索引工具,它能帮助我们方便的对图像特征建立索引和搜索,作者也在不断加入新的特征供用户使用。如果你熟悉lucene,那么用
2013-04-09 11:07:42
10677
转载 Lucene的发展历史,截止到4.1
Lucene发展历史 Lucene最初是由Doug Cutting编写,并于2000年3月在SourceForge上开源并提供下载的。2000年10月份发布1.0版本,2001年7月发布了最后一个SourceForge版本1.01b。2001年9月份Lucene作为高质量的Java开源软件产品加入Apache软件基金会的Jakarta家族。2005年Lucene升级成为Apa
2013-03-26 09:06:13
936
转载 MySQL索引背后的数据结构及算法原理
这篇文章粗略看了下,写的很好,转过来,有时间仔细读一下。.......................................................................................................................................................................
2013-02-27 16:50:41
434
转载 c/c++内存释放知识总结
原文地址:http://www.cnblogs.com/chuncn/archive/2011/04/12/2014273.html基础知识:五大内存分区 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一
2013-01-17 14:24:32
539
转载 LHS重要学习资料(转)
自1998年提出LSH,距今已经10多年了,中间有不少对该算法的改进、挑战、应用、介绍等等。这里根据自己的学习过 程,列一个LSH参考文献和相关资源列表:一则是小结学习LSH可以参考的资料,二则是为了避免本人的LSH小结系列文章对大家产生误导。欢迎对该列表进 行指正和补充。重要解析:http://blog.sina.com.cn/s/blog_67914f2901019p3v.html
2013-01-14 21:06:30
1273
转载 寻找发帖水王
题目:Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗? –《编程之美》扩展:随着Tango的
2013-01-08 09:44:48
635
原创 八皇后c语言
#include "stdio.h"#include "conio.h"#define N 8int site[N];int count=0;void output();void Queen(int n){ int i; if(n==N){ output(); count++; return;
2012-10-19 15:46:47
738
原创 关于Android的Drawable文件夹下图片的自动放缩
术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸)。 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小。 程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。屏幕长宽比 屏幕的物理长度与物理宽度的比例。程序可以为
2012-04-27 17:47:15
328
原创 华为编程大赛初赛的一个字符串匹配的题目
自己写的逻辑写了半天没有搞定回来翻了一下java里面正则表达式相关的东西要是能用Matcher和Regex那真是太简单了题目:字符串匹配问题,给定一串字符串,按照指定规则对齐进行匹配,并将匹配结果保存至output数组中,多个匹配项用空格间隔,最后一个不需要空格。要求1、匹配规则中包含通配符?和*。?表示匹配任意一个字符,*表示匹配任意多个字符串。2、匹配规则要
2012-04-22 19:22:08
1384
转载 个性化推荐的十大挑战
原文:http://bbs.sciencenet.cn/home.php?mod=space&uid=3075&do=blog&id=554630 个性化推荐很多人都知道,但其中不乏认识上的误区。有的人觉得个性化推荐就是细分市场和精准营销,实际上细分市场和精准营销往往是把潜在的用户分成很多群体,这固然相比基于全体的统计有了长足的进步,但是距离“给每一个用户量身定做的信息服务”
2012-04-07 18:15:10
2191
转载 1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次
1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现? (1) 方法一:(当N为比较大时警惕溢出)将1001个元素相加减去1,2,3,……1000数列的和,得到的差即为重复的元素。 int Find(int* a)
2012-03-17 15:53:36
3103
转载 操作系统为什么要分用户态和内核态
在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃。比如:清内存、设置时钟等。如果所有的程序都能使用这些指令,那么你的系统一天死机n回就不足为奇了。所以,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING
2012-03-13 15:48:26
5098
2
转载 数据挖掘十大算法之C4.5决策树
1. 算法背景介绍分类树(决策树)是一种十分常用的分类方法。他是一种监管学习,所谓监管学习说白了很简单,就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。分类本质上就是一个map的过程。C4.5分类树就是决策树算法中最流行的一种。下面给出一个数据集作为算法例子的基
2012-03-02 14:55:49
200
转载 linux下java程序与C语言程序通过SOCKET通信的简单例子
今天上午实验了java程序与c语言程序通过socket进行通信。由于没学过java,因此只是编写了C语言端的代码,java端的代码是从网上别的文章中找的,经过少量修改后与C语言端程序通信成功。本例中C语言端作为服务器,java端作为客户端代码如下:/****************** server program *****************/#include
2012-02-29 18:49:23
678
转载 java下载网络上某图片
URL url = new URL("图片地址"); File outFile = new File(“图片保存到本地路径”); OutputStream os = new FileOutputStream(outFile); InputStream is = url.openStream(); byte[] buff = new byte[1024]; w
2012-02-15 13:42:38
838
转载 JAVA下载图片流
昨天在做日常时碰到了一个问题:根据图片的URL地址,返回该图片文件的byte数据。第一种方案:通过HttpURLConnection创建连接,然后,从该连接获取图片流。public class ImageReaderUtil { /** * @param * imageUrl * @return * by
2012-02-15 13:30:06
90
转载 HashMap遍历的两种方法比较
java Map 遍历速度最优解第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object
2012-02-15 10:20:06
540
原创 为LinkedList实现迭代器Iterator
看了一下马士兵老师讲的设计模式之Iterator,他在视频中为顺序表ArrayList实现了Iterator组件,可以方便的对ArrayList进行遍历。首先我们理解一下Iterator接口的2个基本方法:public interface Iterator { Object next(); boolean hasNext();}其中next()返回的是容器中存储的下一个的元素
2012-01-09 17:04:17
2218
转载 从对象的内存角度来理解“父类的引用指向子类的对象”
从对象的内存角度来理解试试.假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,它里面的变量需要占用0.5M内存.现在通过代码来看看内存的分配情况:Father f = new Father();//系统将分配1M内存.Son s = new Son();//系统将分配1.5M内存!因为子类中有一个隐藏的引用super会指向父类实例,所以在实例化子类
2012-01-09 16:15:07
1302
转载 overfitting(过度拟合)的概念
最近几天在看模式识别方面的资料,多次遇到“overfitting”这个概念,最终觉得以下解释比较容易接受,就拿出来分享下。overfittingt是这样一种现象:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集上却不能很好的拟合数据。此时我们就叫这个假设出现了overfitting的现象。出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少。而解决ove
2011-12-30 16:37:10
22743
原创 推荐系统的循序进阶读物
已经上传,请移步下载:http://download.youkuaiyun.com/detail/fengzhe0411/5164627为了方便大家从理论到实践,从入门到精通,循序渐进系统地理解掌握推荐系统及相关知识。特做了个读物清单。大家可以按此表阅读,也欢迎提出意见和指出未标明的经典文献以丰富各学科需求(为避免初学者疲于奔命,每个方向只推荐几篇经典文献)。1. 中文综述(了解概念-入门
2011-12-25 13:59:09
3587
原创 Java构建最大堆排序例子
//最大堆排序public class HeapSort { public static void main(String[] args) { int a[] = new int[]{4,1,3,2,16,9,10,14,8,7}; buildHeap(a); System.out.println("构建好的最大堆是:"); for(int x:a) System.ou
2011-12-25 13:44:11
2889
1
转载 基于 Apache Mahout 构建社会化推荐引擎
推荐引擎简介推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户。通常情况下,推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的,或是基于用户所在的社会或社团环境。根据如何抽取
2011-12-10 18:31:59
593
原创 推荐系统的分类
一、基于内容的:根据用户以前买过的商品来推荐相似的商品。比如用户以前给一部喜剧电影打了高分,那么系统就会推荐给你这个类别的电影。二、协同过滤:根据用户过去的购买记录寻找口味相似的用户,给某个用户推荐和他口味相似用户的打分高的商品。三、基于人口统计学的:根据用户的母语、国籍、年龄对他们进行分类,从而导向这个类别可能会喜欢的商品。比如给小孩推荐玩具,给年轻人推荐啤酒。四、基于知
2011-12-09 17:08:41
1037
原创 采用java.util.concurrent包来重新实现生产者-消费者模型
我在此篇文章( http://blog.youkuaiyun.com/fengzhe0411/article/details/6949622 )中详细介绍了生产者-消费者模型的实现和操作系统的一些原理但是,对操作系统原理不是太了解的人可能写起wait(),notify(),notifyAll()之类的方法会很吃力好在java1.5以后提供了concurrent包 里面包含了大量线程同步所需要的工具
2011-11-14 19:02:09
1261
原创 java多线程发生死锁的一个例子
package com.damlab.fz;public class DeadLock { public static void main(String[] args) { Resource r1= new Resource(); Resource r2= new Resource(); //每个线程都拥有r1,r2两个对象 Thread myTh1 = new
2011-11-09 18:10:03
5876
原创 从java多线程实现“生产者-消费者”模型来谈谈操作系统中线程状态的转换
前言:自己尝试着用java多线程实现了操作系统原理中讲到的“生产者-消费者”模型,在这里和大家分享一下遇到的问题和心得。我们姑且模糊“线程”和“进程”的区别,只记住它们都是可并发执行的一组过程即可。一、什么是“生产者-消费者”模型? 这个模型所描述的是假设有一个能容纳N个产品的工厂,生产者进程不断向工厂中输入产品,而消费者进程不断从工厂中取
2011-11-08 22:05:02
4216
转载 多核平台下的JAVA优化
现在多核CPU是主流。利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集。但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了。目前内存和CPU之间的带宽是一个主要瓶颈,每个核可以独享一部分高速缓存,可以提高性能。JVM是利用操作系统的”轻量级进程”实现线程,所以线程每操作一次共享内存,都无法在高速缓存中命中,是一次开销较大的系统调用。所以区别
2011-11-08 14:33:32
378
转载 Android开发之旅:环境搭建及HelloWorld
——工欲善其事必先利其器引言本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。在开始Android开发之旅启动之前,首先要搭建环境,然
2011-09-29 21:16:30
357
原创 java多线程写文件
package cn.uestc.fz;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;public cla
2011-09-27 23:57:24
3819
原创 Java实现文件目录列表的自定义排序
用Java列出某个文件目录的文件列表是很容易实现的,只用调用File类中的list()方法即可。 String[]list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。但是此时文件
2011-09-26 23:37:13
3112
转载 进程或者线程监控程序
#include #include #include #include //#include #include #include //#define DEBUG// 搜索/proc/*/task/* -name stat > /var/local/
2011-09-20 19:32:14
902
推荐系统的循序进阶读物
2013-03-21
[麻省理工学院-算法导论].Introduction.to.Algorithms,.Second.Edition
2011-11-05
MLDN魔乐所有javaSE的pdf文档
2011-09-26
数据挖掘:概念与技术.pdf
2011-07-08
java数据结构课程设计(2个选题,内附源码和详细的设计报告)
2009-12-12
程序设计经典问题,经典算法
2009-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人