javascript �������
��ν������Ҫ�����ļ��еļ�¼��ʹ֮���ؼ��ֵ���(���ݼ�)����������������ȷ�ж������£�
�������룺n����¼R1��R2������Rn������Ӧ�Ĺؼ��ֱַ�ΪK1��K2������Kn��
����������Ril��Ri2������Rin��ʹ��Ki1��Ki2�ܡ���Kin��(��Ki1��Ki2�ݡ���Kin)��
������Ǽ��ܼ���������ֱ�Ӳ���������ϣ��������ð��������������ֱ��ѡ���������������ἰ�Ĵ�����IE6�²���ͨ����
ֱ�Ӳ�����������˼��
�����������ļ�¼����������R[1..n]�С���ʼʱ��R[1]�Գ�1����������������ΪR[2..n]����i=2��ֱ��i=nΪֹ�����ν�R[i]���뵱ǰ��������R[1..i-1]�У����ɺ�n����¼����������
�㷨����
function InsertSort(arr) { //��������->ֱ�Ӳ��뷨����
var st = new Date();
var temp, j;
for(var i=1; i<arr.length; i++) {
if((arr[i]) < (arr[i-1])) {
temp = arr[i];
j = i-1;
do {
arr[j+1] = arr[j];
j--;
}
while (j>-1 && (temp) < (arr[j]));
arr[j+1] = temp;
}//endif
}
status = (new Date() - st) + ' ms';
return arr;
}
ϣ����������˼��
�� ��ȡһ��С��n������d1��Ϊ��һ�����������ļ���ȫ����¼�ֳ�d1���顣���о���Ϊdl�ı����ļ�¼����ͬһ�����С����ڸ����ڽ���ֱ�Ӳ���������Ȼ����ȡ�ڶ�������d2<d1�ظ������ķ�����������ֱ����ȡ������dt=1(dt<dt-l<��<d2<d1)�������м�¼����ͬһ���н���ֱ�Ӳ�������Ϊֹ��
���÷���ʵ������һ�ַ������뷽����
�㷨���� function ShellSort(arr) { //��������->ϣ������ status = (new Date() - st) + ' ms';
var st = new Date();
var increment = arr.length;
do {
increment = (increment/3|0) + 1;
arr = ShellPass(arr, increment);
}
while (increment > 1)
return arr;
}
function ShellPass(arr, d) { //ϣ�������ֶ�ִ�к���
var temp, j;
for(var i=d; i<arr.length; i++) {
if((arr[i]) < (arr[i-d])) {
temp = arr[i]; j = i-d;
do {
arr[j+d] = arr[j];
j = j-d;
}
while (j>-1 && (temp) < (arr[j]));
arr[j+d] = temp;
}//endif
}
return arr;
}
ð����������˼��
���������ļ�¼����R[1..n]��ֱ���У�ÿ����¼R[i]����������ΪR[i].key�����ݡ����������ݲ�����������֮�µ�ԭ��������ɨ������R����ɨ�赽Υ����ԭ���������ݣ���ʹ������"Ʈ��"�����˷������У�ֱ�������κ��������ݶ����������ϣ���������Ϊֹ��
�㷨����
function BubbleSort(arr) { //��������->����
var st = new Date();
var temp;
var exchange;
for(var i=0; i<arr.length; i++) {
exchange = false;
for(var j=arr.length-2; j>=i; j--) {
if((arr[j+1]) < (arr[j])) {
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
exchange = true;
}
}
if(!exchange) break;
}
status = (new Date() - st) + ' ms';
return arr;
}
������������˼��
��ԭ�����ֽ�Ϊ���ɸ���ģ��С���ṹ��ԭ�������Ƶ������⡣�ݹ��ؽ���Щ�����⣬Ȼ������Щ�������Ľ�����Ϊԭ�����Ľ⡣
��R[low..high]����ѡһ����¼��Ϊ��(Pivot)���Դ˻�����ǰ����������Ϊ������������С��������R[low..pivotpos-1)��R[pivotpos+1..high]����ʹ���������������м�¼�Ĺؼ��־�С�ڵ��ڻ���¼(������Ϊpivot)�Ĺؼ���pivot.key���ұߵ������������м�¼�Ĺؼ��־����ڵ���pivot.key��������¼pivot��λ����ȷ��λ��(pivotpos)�ϣ��������μӺ�����������
�㷨����
function QuickSort(arr) { //��������->��������
if (arguments.length>1) {
var low = arguments[1];
var high = arguments[2];
} else {
var low = 0;
var high = arr.length-1;
}
if(low < high){
// function Partition
var i = low;
var j = high;
var pivot = arr[i];
while(i<j) {
while(i<j && arr[j]>=pivot)
j--;
if(i<j)
arr[i++] = arr[j];
while(i<j && arr[i]<=pivot)
i++;
if(i<j)
arr[j--] = arr[i];
}//endwhile
arr[i] = pivot;
// end function
var pivotpos = i; //Partition(arr��low��high);
QuickSort(arr, low, pivotpos-1);
QuickSort(arr, pivotpos+1, high);
} else
return;
return arr;
}
ֱ��ѡ����������˼��
��n����¼���ļ���ֱ��ѡ�������ɾ���n-1��ֱ��ѡ�������õ�����������
�ٳ�ʼ״̬��������ΪR[1..n]��������Ϊ�ա�
�ڵ�1������
��������R[1..n]��ѡ���ؼ�����С�ļ�¼R[k]���������������ĵ�1����¼R[1]������ʹR[1..1]��R[2..n]�ֱ���Ϊ��¼��������1�������������ͼ�¼��������1��������������
��������
�۵�i������
������i��������ʼʱ����ǰ���������������ֱ�ΪR[1..i-1]��R[i..n](1��i��n-1)�����������ӵ�ǰ��������ѡ���ؼ�����С�ļ�¼R[k]���������������ĵ�1����¼R[i]������ʹR[1..i]��R[i+1..n]�ֱ���Ϊ��¼��������1�������������ͼ�¼��������1��������������
������n����¼���ļ���ֱ��ѡ�������ɾ���n-1��ֱ��ѡ�������õ�����������
�㷨����
function SelectSort(arr) { //ѡ������->ֱ��ѡ������
var st = new Date();
var temp;
for(var i=0; i<arr.length; i++) {
var k = i;
for(var j=i+1; j<arr.length; j++) {
if((arr[j]) < (arr[k]))
k = j;
}
if (k != i){
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
status = (new Date() - st) + ' ms';
return arr;
}
- ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
- �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
- �������е���ɫ
- �������ж�IP��ַ��A��B���C��
- ������ϵ��Ц�� (ʷ����ȫ��
- ��Google���������ŵ���ͨv4.0
- ���ٶ�ͳ��URL��hm������utm�����Ķ�Ӧ��ϵ
- ��ƻ������MACbook Air���ݼ���ȫ
- ��Linux��ʹ��host��dig��nslookup��ѯDNS
- ���������ԡ���װ Windows XP ����ϵͳ��ͼ��ȫ����
- �����Լ���VPS�Google��������
- ��С�ڴ�VPS֮Nginx+PHP-fpm�߸����Ż���ѹ�����Է���
- ������������������̸�����ɶ��ر�
- ��������������ѡʳƷ����2020�ļ��ȵ�Ͷ�ʲ��Ժ���������
- �����ڵ�����֤50���ƴ�50����ָ֤�������Ĺ���
- ����֤50����Щ��Ʊ_��֤50Ȩ����������
- ������300����֤50����֤500��ָ��2019���ڶ��ζ��ڵ���������
- ������300��ֵ/�ɳ�ָ�����Ʒ����������й�ƽ��Ȩ���½�
- ����ָ֤��������֤50��ָ��������
- ����ָ֤��������֤����ָ��������
- ����ָ֤��������֤100ָ��������
- ����ָ֤����������300ָ��������