算法

简单选择排序 simple selection sort

选择排序(Selection Sort)的基本思想是:
每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。

简单选择排序(simple selection sort)也是直接选择排序。

复杂度:O(n2)

稳定性:稳定。

public static void sort(int[] nums) {
    int tmp;
    for (int i = 0; i < nums.length; i++) {
        int min = i;
        for (int j = i + 1; j < nums.length; j++) {
            if (nums[min] > nums[j]) {
                min = j;
            }
        }
        if (i != min) {
            tmp = nums[min];
            nums[min] = nums[i];
            nums[i] = tmp;
        }
    }
}
算法

冒泡排序

复杂度:O(n2)

public static void sort(int[] nums) {
    int tmp;
    for (int i = 0; i < nums.length; i++) {
        for (int j = 0; j < nums.length - i - 1; j++) {
            if (nums[j + 1] < nums[j]) {
                tmp = nums[j + 1];
                nums[j + 1] = nums[j];
                nums[j] = tmp;
            }
        }
    }
}
算法

直接插入排序

直接插入排序( straight insertion sort )是一种最简单的排序方法。
它的基本操作是将一个记录插入到一个长度为 m (假设)的有序表中,使之仍保持有序,从而得到一个新的长度为 m+1 的有序表。

时间复杂度:此算法外循环 n-1 次,在一般情况下内循环平均比较次数的数量级为O(n) ,所以算法总时间复杂度为O(n2) 。

稳定性:稳定。

public static void sort(int[] nums) {
    int tmp;
    for (int i = 1; i < nums.length; i++) {
        tmp = nums[i];
        int j = i - 1;
        while (j >= 0 && tmp < nums[j]) {
            nums[j + 1] = nums[j];
            j--;
        }
        nums[j + 1] = tmp;
    }
}
J2EE

Cookie和Session之间的那些事

既然上一篇文章我已经详细分析了session是什么时候建立的问题,
http://www.zhouwenze.com/archives/20120406-612.html
我觉得很有必要重新温习下session和cookie的一些问题。

什么是Cookie?

Cookie是服务器在本地机器上存储的小段文本,它是一个简单的字符串形式的键值对。
网络服务器用HTTP头向客户端发送cookie,
(一般情况下Cookie是由服务端生成的,当然js也能操作cookie)
在客户端,浏览器解析这些cookies并将它们保存到本地,
而后当浏览器访问这个服务器时,它会在任何请求上加上这些cookie。
说白了就是每次你和服务器的交互都会带着这些cookie。
read more »

J2EE

当你访问网站时,Session会立刻建立吗?

Session 机制:

session机制是一种服务器端的机制,
用来在无状态的HTTP协议下越过多个请求页面来维持状态和识别用户。
当程序需要为某个客户端的请求创建一个session的时候,
服务器首先检查这个客户端的请求里是否已包含了一个session标识。

这个标识称为session id,
如果已包含一个session id则说明以前已经为此客户端创建过session,
服务器就按照session id把这个session检索出来使用,
若没有创建过,则创建一个新的Session。
read more »

实用技巧

光标跑到换行符后面 = =

今天坑爹得发现,我的光标居然跑到了换行符的后面!!

如图

网上搜了下,只要做个替换操作就OK了…
开始 – 替换
read more »

前端的一些东东

使用prototype给类型增加方法

有时候我们需要得到javascript的Array数组中元素所在位置的索引
在Firefox和Chrome下,我们可以简单得用indexOf()这个方法来得到,
然后IE却不支持indexOf,所以我们需要手动给IE添加这个方法。

给Array添加indexOf方法,我们肯定会立马想到原型prototype
javascript允许给语言的基本类型增加方法

原型:每个对象都连接到一个原型对象,并且它可以从中继承属性。所有通过对象字面量创建的对象都连接到Object.prototype这个JavaScript中标准的对象。

这里我给Array.prototype添加一个indexOf方法

首先给Function.prototype添加一个method辅助方法,这样之后就不用输入prototype这个属性名了。

//辅助函数
Function.prototype.method = function(name, func){
    this.prototype[name] = func;
    return this;
}
//实现函数
Array.method('indexOf', function(str){
    for(var i=0; i < this.length; i++){
        if(str == this[i]){
            return i;
        }
    }
    return -1;
});
Page 1 of 1112345...10...Last »