前面三篇文章分别介绍了插入排序、选择排序和,今天将最后两个排序讲完,分别是归并排序和基数排序。...
分类:
其他好文 时间:
2014-05-14 01:13:39
阅读次数:
346
设A[1…n]是一个包含n个不同数的数组。如果在iA[j],则(i,j)就称为A中的一个逆序对(inversion)【《算法导论》2-4】
现给出一个数列,求该数列中的逆序对(逆序对 )
利用归并排序的方法我们给出如下算法://
// main.cpp
// CpushTest
//
// Created by Ellen on 14-5-11.
// Copyright (c...
分类:
其他好文 时间:
2014-05-13 22:53:12
阅读次数:
340
一个显示Grid的VBScript对象
是根据MS提供的代码修改而成,目前还不支持编辑,可以排序、查询、分页显示
Class classDataGrid
Private m_strSQL
Private m_strConn
Private m_strRowColor1
Private m_strRowColor2
Private m_strMode
Private m_...
分类:
其他好文 时间:
2014-05-13 08:13:15
阅读次数:
230
快速排序原理:
快速排序先把等待排序的集合打乱顺序,把第一个元素作为基准元素,为第二个元素和最后一个元素分配两个指针i和j,如果a[i]小于基准元素则i++,如果a[j]大于基准元素则j--,这样把大于基准元素的a[i]和小于基准元素的a[j]互换,以此类推,最终把基准元素与a[j]相交换,就得到一个a[j]左侧全部小于a[j],右侧全部大于a[j]的一个近似有序数组,然后按照如上步骤重新寻找每个被a[j]分开的数组中的分隔点,最终得到有序数组。
在通用排序中,一般都会选取快速排序来解决问题。...
分类:
其他好文 时间:
2014-05-13 07:40:24
阅读次数:
290
#!/bin/bash
if [ $# -ne 2 -a $# -ne 1 ] ;then
echo "usage: `basename $0 ` [n] input file "
echo
exit
fi
if [ $# -eq 1 ];then
I_TOP=10
I_FILE=$1
fi...
分类:
系统相关 时间:
2014-05-13 06:21:24
阅读次数:
454
本人在一个页面实现了两种右键菜单,当鼠标左键单击空白处时,右键菜单并不隐藏。于是,Google之,最后找到一种方法,将鼠标左键单击事件改为:$(document).click( function () {
}改为$(document).on('click touchstart', function () {
}问题解决。...
分类:
其他好文 时间:
2014-05-12 23:13:10
阅读次数:
328
原题地址:http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/题意:将一个排序好的数组转换为一颗二叉查找树,这颗二叉查找树要求是平衡的。解题思路:由于要求二叉查找树是平衡的。所以我们可以选在数组的中间那...
分类:
编程语言 时间:
2014-05-12 21:44:57
阅读次数:
379
原题地址:http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/题意:将一条排序好的链表转换为二叉查找树,二叉查找树需要平衡。解题思路:两个思路:一,可以使用快慢指针来找到中间的那个节点,然后将这个节点作为...
分类:
编程语言 时间:
2014-05-12 21:07:00
阅读次数:
405
直接插入排序是一种实现较为简单的排序算法。基本的思想是,从数组的第二个元素起,每次选取一个元素,与前面已经排序数组的元素比较,找到该元素的合适位置。不多说,直接上代码。#include
#include #include using namespace std;const int arrSize =...
分类:
其他好文 时间:
2014-05-12 20:59:47
阅读次数:
295
归并排序是分治法的典型举例。分治法的思想是,将原有问题分解为几个规模较小但类似于原问题的子问题,递归的求解这些子问题,然后再合并这些子问题的解来建立原问题的解。分治模式在每层递归时都有三个步骤:分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。解决这些子问题,递归地求解各子问题。然而,若子...
分类:
其他好文 时间:
2014-05-12 19:56:28
阅读次数:
265