自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(40)
  • 资源 (4)
  • 收藏
  • 关注

翻译 taxyddyduqkzx_laogt

转卒宗妆最撰转卒宗妆最撰

2014-07-03 22:10:01 51

原创 64位Win7安装setuptools

如今想用下pytude看看能不能下载youtube上的视频,不过刚刚装的python没有setuptools模块,找了下,貌似这有这个可以在64位机器安装setuptools1、下载ez_setup.py2、python ez_setup.py

2013-01-20 21:34:16 525

原创 Java序列化

印象当中只记得Java序列化需要实现Serializable这个只有标记功能的接口,唉,原来啥都不会啊序列化(Serialization):将对象以字节流的方式进行编码。反序列化(Deserialization):通过字节流构建对象。序列化只保存对象的状态,对于类成员变量不做处理。将对象以字节流方式存到磁盘,网络中传输对象时,RMI时都需要用到。

2012-04-29 16:41:46 44

原创 去掉字符串中的空格

刚开始p1, p2同时指向字符串开头,p2开始移动,一致移到不是空格的字符,然后开始赋给p1,一致这样到遇到'\0'结束,最后*p1给字符串搞0结束。#include int main(void) { char s[] = " abc de f "; char *p1, *p2; p1 = p2 = s; while(*p2 != '\0') { while(*p2 ==

2012-04-07 16:40:07 179

求最大子序列和

HDOJ 1003求最大子序列和并返回下标使用DP可以在O(n)的时间内搞定,状态转移方程为:DP[i] = max{dp[i-1] + a[i], }

2012-04-01 15:36:25 42

原创 MySQL学习笔记

执行sql脚本文件1、在shell下:mysql -t -h localhost -u root employees -t让输出与在交互模式下输出一致,比较好看, -h指定主机, -u指定用户2、在交互模式下执行:source test.sql或\. test.sql3、选出薪水为薪水最大值的员工的员工编号:select * from salaries where salary

2011-09-20 23:50:50 244

MySQL学习笔记

执行sql脚本文件1、在shell下:mysql -t -h localhost -u root employees -t让输出与在交互模式下输出一致,比较好看, -h指定主机, -u指定用户2、在交互模式下执行:source test.sql或\. test.sql

2011-09-20 22:40:04 50

原创 Java Collection Framwork中的equals方法

刚刚看到Set的equals方法,从Collection到Set,没有多了什么别的方法,不过多了些限制,比如Set的中的元素不能重复(不会有e1和e2都属于一个Set,且e1.equals(e2)这种情况),然后就是在equals方法上的限制,两个Set equals当且仅当它们

2011-08-14 12:19:23 348

原创 通过学习p(y|x)来分类需要估计的参数个数

通过学习p(y|x)来进行分类,计算在新的x的条件下的p(y|x),然后判断x应该属于哪个类。之前一直想不通要计算p(y|x)需要估计的参数个数,其实是这样的:这里这假设x=(x1, x2, ..., xn),xi与y都是二元随机变量,就是xi与y都只取0和1中的一个值。

2011-08-10 00:50:42 552

原创 通过学习p(y|x)来分类

通过学习p(y|x)来进行分类,计算在新的x的条件下的p(y|x),然后判断x应该属于哪个类。之前一直想不通要计算p(y|x)需要估计的参数个数,其实是这样的:这里这假设x=(x1, x2, ..., xn),xi与y都是二元随机变量,就是xi与y都只取0和1中的一个值。

2011-08-09 23:33:10 398

原创 朴素贝叶斯分类

假设要对邮件进行分类(spam/non-spam)。为了用向量描述我们的邮件,可以保存所有训练集中的每一个单词,总共有n个不同的单词(比如说总共有50000个不同的单词,通常对于一些叫做stop-word的词不做统计,因为它们一般不提供有用的信息,比如the、a、is这种),那么一封邮件就可以用一个n维的向量表示,邮件中有某个词(字典中的第i个词),那么向量的第i维就是1,否则是0,比如:

2011-08-06 01:29:43 949

原创 朴素贝叶斯分类

假设要对邮件进行分类(spam/non-spam)。为了用向量描述我们的邮件,可以保存所有训练集中的每一个单词,总共有n个不同的单词(比如说总共有50000个不同的单词,通常对于一些叫做stop-word的词不做统计,因为它们一般不提供有用的信息,比如the、a、is这种),那么

2011-08-05 13:50:25 50

原创 Logistic Regression

一种分类算法,属于Discriminant Learning Algorithms,是这样一种类型的算法:直接计算p(y|x)(比如Logistic Regression),或者直接把一个输入判定为一种类别(比如Perceptron Algorithm);而另一种叫做Genera

2011-07-31 22:30:08 495

原创 Hadoop的WordCount程序的一些说明

感觉接触Hadoop也有些时间了,但是因为机器环境的关系,一直没能好好折腾。Hadoop处理数据用MapReduce,存储数据用HDFS,其他先不考虑。接触的第一个程序自然是WordCount,源代码的example中就有:import java.io.IOException;

2011-07-25 21:41:38 832

原创 enum实现的单例

自己最熟悉的设计模式估计就是单例模式了:public class Singleton { private static final Singleton INSTANCE = new Singleton(); private Singleton() { if(INSTANCE != null) { throw new IllegalStateException(

2011-06-24 10:04:00 1399

原创 一些常见的距离与一些常用的measure

距离具有一些性质。如果d(p1, p2)是两个点p1和p2之间的距离,则如下性质成立:      (1)非负性              (a)对于所有的p1和p2,d(p1, p2)≥0,              (b)当且仅当p1=p2时,d(p1, p2)=0。      (2)对称性              对于所有的p1和p2,d(p1, p2)=d(p2, p1

2011-06-19 10:15:00 2335

原创 理解红黑树

<br />关于红黑树,这个名字的来历就说多说了,是Guibas和Sedgewick也算是看了好多遍,但没有一次真正理解过,也没有去实现它。<br /> <br />红黑树满足二叉查找树的所有性质,不同的是它近似平衡,所有的操作都可以在O(lg(n))内完成,所以效率比较高,先列出红黑树的5条性质:<br />1、每个结点或者是红的,或者是黑的<br />2、根结点是黑的<br />3、每个叶子结点是黑的(这里的叶结点是外部结点,貌似只在统计黑结点个数的时候用)<br />4、如果一个结点是红的,那么它的两

2011-05-08 01:37:00 258

原创 Java中的异常

<br />以前一直以为有-able的就都是接口,今天发现Throwable是一个具体的类,不是接口。Throwable有两个直接子类:Error和Exception。都说Java所有的异常可被概括为两类:checked exception class和unchecked exception class,JLS上是这样说的:The unchecked exception classed are the class RuntimeException and its subclasses, and the cl

2011-05-07 21:32:00 178

原创 删除一个无序单链表中重复的元素

<br />定义一个指针cur,指向当前没有重复元素的那部分的下一个元素,pre指向cur的前驱,比如1→2→3→5→4→3→7→6→7为当前链表的形状,刚开始cur指向2,pre指向1,定义一个工作指针runner,每次从head开始向后扫描,最多会扫描到cur就退出循环,如果在到cur之前遇到一个节点的值与cur指向节点的值相同,那么删除当前节点,跳出循环,又开始新一轮循环,如果扫描到cur的时候才停止循环,说明前面没有重复的节点,更新当前节点和它的前驱:pre = cur; cur = cur->ne

2011-05-03 22:42:00 1464

原创 用oracle语句查询出第10条到第100条数据

<br />sqlplus远程连接一下<br />sqlplus /nolog<br />conn sys/11111 @192.168.0.39/orcl as sysdba;<br />alter user hr account unlock<br />alter user hr identified by hr<br />用hr的employees表做实验:<br />select * from (select employee_id , rownum rn from employees where

2011-05-03 14:49:00 1558

原创 把一个矩阵中0元素所在的行和列的所有元素都置为0

<br />咋一看很简单,一边遍历一边搞就好,但其实不是想象中的那么简单。<br />#include<stdio.h>#define N 9#define M 8int main(void){ int a[M][N]; int i,j; int seed = 1; for(i=0; i<M; i++) for(j=0; j<N; j++) a[i][j] = seed++; a[1][3] = 0

2011-05-02 00:48:00 559

原创 顺时针旋转一个方阵90度

<br />要求在O(1)的空间复杂度进行<br />要旋转多少层呢?<br />1 2<br />3 4<br />这个旋转一层<br />1 2 3<br />4 5 6<br />7 8 9<br />也是一层,因为5不用旋转<br />1    2   3    4<br />5    6   7    8<br />9   10  11 12<br />13 14  15 16<br />旋转两层<br />所以需要旋转的层数是n/2<br />每层需要旋转4条边,我们按这种方式转:左→顶,底→左

2011-05-02 00:32:00 664

原创 螺旋矩阵

<br />这里是指这样的N*N矩阵<br />1 2 3<br />8 9 4<br />7 6 5<br />把四个方向的关系用笔写出来就好了,数组下标从0开始<br />右:[i, i][i, n-i-1]<br />下:[i+1, n-i-1][n-i-1, n-i-1]<br />左:[n-i-1, n-i-1-1], [n-i-1, i]<br />上:[n-i-1-1, i][i+1, i]<br />#include<stdio.h>#define N 9int main(void)

2011-05-01 21:53:00 239

原创 删除一个字符串中重复的字符

<br />其实就是让"123456224437889"变为"123456789",设置一个变量last,始终指向没有重复字符的字符串的下一个位置,最后让s[last]=0,就搞到一个符合要求的C字符串了<br />void del_duplicated(char *s){ int n = strlen(s); if(n<=1) return; int i, j; int last = 1; //刚开始认为被处

2011-04-29 22:29:00 1874

原创 反转一个字符串

<br />定义一个指针指向字符串开始,把它移到最后,不停交换首尾两个指针指向的字符串就好了,一直到两个指针相遇.<br />#include<stdio.h>void reverse(char *s){ char *end = s; if(s) { while(*end) end++; end--;//因为++,end最后会指向'/0',也就是*end的值是0,所以要再-- while

2011-04-29 19:25:00 299

原创 求逆序对个数(inversions)

<br />逆序对:设a是一个有n个不同元素的数组,,如果在i<j的情况下,a[i]>a[j],则(i, j)称为a的一个逆序对。<br />给定一个数组,求逆序对的个数,可以通过做循环,在n^2的时间内求出逆序对数目,但通常用归并排序在nlog(n)的时间内解决,只是当求出逆序对数目后,数组也已经排好序了,如果不想让原数组发生变化,可以把原数组拷贝到另一个数组,对新数组操作就好。整个过程一边排序一边数,递归到最深的地方如果有一个数,那么返回0,如果有两个数,看做有两个元素的子数组,两个子数组都已经排好序,

2011-04-28 20:48:00 1156

原创 由前序遍历和中序遍历结果构造二叉树

<br />前序遍历的第一个元素一定是根节点,构造出根节点,然后找到根节点在中序遍历中的位置,从而知道左右子树的都有哪些元素,递归进行处理,最后得到整棵二叉树。在一般情况下的时间复杂度是nlog(n),但是可以对中序遍历得到的字符串做哈希映射,key是字符,value是key在中序遍历中的位置,这样可以在常量时间内找到根节点的位置,可以达到log(n)的复杂度,最坏也是n的复杂度。<br />nlog(n)的情况(最坏为n^2):<br />int get_root_idx(char *preorder,

2011-04-27 11:59:00 619

原创 归并排序

<br />腾讯实习面试,被问到归并排序,很快地描述了一遍,面试官说:你写在纸上,假设我不会归并排序,解释给我听,让我明白,小弟一时懵了,因为紧张,我一边想怎么写,他又一边问其他问题,最后当然是杯具了,都怪自己不扎实,md,手写代码的能力更加差。<br /> <br />归并排序采用分治的策略,将n个元素分成个含n/2个元素的两个子序列,用归并排序对两个子序列递归地进行排序,最后合并两个已经排好序的两个子序列,得到一个有序的序列。合并的过程是:void merge(int *a, int l, int m,

2011-04-26 23:13:00 63

原创 二叉树的那些遍历(递归与非递归)

<br />参考着别人的写一些遍历的方式,其中后序只用一个栈的遍历还不能理解,先总结到一起去吧。<br />#include <stdio.h>#include <stdlib.h>#include<memory.h>#define MAX 100 //最多一百个节点typedef struct btnode{ char value; struct btnode *left; struct btnode *right;} btnode;btn

2011-04-24 22:36:00 166

原创 快速排序

<br />快速排序由C.A.R.Hoare于1960年发明,快速排序的平均时间复杂度是nlogn,最坏时间复杂度是n^2,但实际上快速排序的性能是相当不错的,不然为啥叫快速排序。快速排序做原地排序(in-place sort),只需要一个额外的栈空间。算法的核心是做分划(partition),分划可以在线性时间内完成,每次分划都会把一个元素(我们经常称它为pivot)放到它最终的位置上,分划把所有小于等于pivot的元素放在了pivot的左边,所有大于等于pivot的元素放在了pivot的右边。分划的过程

2011-04-24 00:35:00 203

原创 计数排序

<br />假设一个数组的元素大于等于0,有时可以考虑用计数排序。其实就是先对数个数组中每个数出现的次数做统计(计数),保存到一个数组,这个数组的大小可以用数组的最大值和最小值的差加一得到(max-min+1)。<br />void counting_sort(int *a, int n){ int i, j, min, max; min=max=a[0]; for(i=1; i<n; i++) { min = a[i]<min?a[i]:min

2011-04-23 20:41:00 127

原创 希尔排序

<br />希尔排序 有Donald Shell发明,每次,都使得部分数有序,最后整个数组有差不多有序的时候使用增量为1的插入排序(用了插入排序在有序情况下的时间复杂度是O(n)这个特点),至于希尔排序的分析真的很复杂,一般说它的时间复杂度是O(n(logn)^2)。其实就是对相隔为h的元素使用插入排序,最后h减到1,最后一次插入排序得到一个有序数组。<br />void shell_sort(int *a, int n){ int i, j, h; for(h=n/2; h>0;

2011-04-23 19:53:00 71

原创 求质数(:大于1的只能被1和它本身整除的自然数)

有时候就想记下一些白痴问题:public class Test { public static void main(String[] args) { for(int i = 1; i < 1000; i++) { if(isPrime(i)) { System.out.print(i + " "); } } } public static

2009-03-13 13:51:00 190

原创 JSP的derective与action

derective: page、include、taglib   buffer="budderSize/none" errorPage="" isErrorPage=""....>即所谓的静态包含,相当于将被包含页面的内容插入包含页面的代码,所有页面公用一个request对象,tomcat只会生成一个java源文件与对应的class文件,在translation time(还不清楚是什

2009-03-10 11:43:00 105

原创 收集的一些面试题(都是从网上来的)

1、如何优化以下程式的效率,为什么?   for(int i=0; i       for(int j=0; j           for(int k=0; k             System.out.print("out");           }       } }  2、谈谈你对web MVC的理解,其优缺点  3、谈谈你对javaEE框架的

2009-03-08 10:38:00 124 1

原创 Insertion Sort

 听说算法导论很牛,就下了个英文版的看看,第二章就介绍插入排序了,用Java实现了下,没实现一个就写下一个,方便以后复习,希望自己能坚持,挑些简单的看完,呵呵public class InsertionSort { public static void main(String[] args) { int[] array = {9, 3, 2, 4, 6, 8, 7};

2009-02-24 20:25:00 87

原创 统计一个对象出现的次数

见了很多次,就随便记下来吧package com.ibm.lan.test;import java.util.HashMap;import java.util.Map;public class CountTest { public static void main(String[] args) { String s = "张三,李四,张三,小王,张三";

2009-02-23 18:03:00 89

原创 Hibernate继承映射-每个类生成一张表

英文的叫法叫Table per subclass,但其实每个类都生成了一张表,子类生成的表的primary key是参照父类映射得到的表的primary key生成的外键,实际上是一种one-to-one的关联(比如t_animal有两条记录,id为1和2,当我们保存一个Pig和一个Bird后,t_pig有一条记录,pig_id为1,t_bird也是一条记录,id为2)。Animal.javapa

2009-01-06 12:41:00 133

原创 Set的equals()

现在才发现Set的equals()方法相当特殊,两个Set equals each other,只要他们包含的元素相同而不管它的implementation是不是一个type(后来发现List也是如此):import java.util.HashSet;import java.util.Set;import java.util.TreeSet;public class SetTest {    p

2009-01-05 01:13:00 107

原创 Hibernate Session flush

flush occurs by default at the following points• before some query executions• from org.hibernate.Transaction.commit()• from Session.flush()The SQL statements are issued in the following order1. all e

2008-12-29 14:44:00 88

Mahout in action(17章,287页)

学习Mahout的一本不错的书,貌似还是这个比较全面,涉及很多机器学习算法

2011-07-21

JAVA_Puzzlers

有面试时经常遇到的一些变态问题哦,有助于更深理解java基础中的一些概念

2008-11-10

JSTL官方帮助-详细介绍JSTL各个标签

JSTL帮助,比较详细地介绍了JSTL中各个标签的用法,是一份很适用的文档

2008-11-01

Thinking in Patterns with Java

Thinking in Patterns with Java

2008-08-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除