嗯,数据结构中,排序是不可少的,下面给出java版本的排序...
分类:
编程语言 时间:
2014-05-15 14:44:49
阅读次数:
330
方法一:根据ASCII码转换,GB2312库对多音字也无能为力。GB2312标准共收录6763个汉字,不在范围内的汉字是无法转换,如:中国前总理朱镕基的“镕”字。GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。01-09区为特殊符号。16-55区为一级汉字,按拼音排序。(3755个)56-87区为二级汉字,按部首/笔画排序。(3008个)10-15区...
分类:
Web程序 时间:
2014-05-15 06:50:21
阅读次数:
590
基于比较的排序时间复杂度至少为O(nlgn),在时间上堆排序和快速排序基本上都达到了比较排序的极限,如果要获取更快的排序速度,就需要找不是基于比较的排序方法,位图排序就是其中的一个。
位图排序是效率最高的排序算法,其时间复杂度是O(n),空间复杂度也非常小,但是要求输入的数据不能重复,而且要知道数据的范围。
位图排序的思想比较简单,用计算机的每一位表示一个数,一个int类型的变量就能表...
分类:
其他好文 时间:
2014-05-15 04:41:27
阅读次数:
262
未排序数组,O(N)时间,常数空间,这道题让我非常清晰的感觉到算法的魅力。
先想一下如果允许用额外空间的话,我们会怎么做,对,我们会建立一个hash表,然后从头到尾的扫描数组,等等,怎么映射呢?有n个数,要找第一个消失的正正整数,那么这个消失的正整数的取值范围是什么呢?[1, n+1],之所以包含n+1是因为如果这n数正好是连续的前n个自然数。那我们就知道了,开一个长为n的哈希表,如果当前扫到得...
分类:
其他好文 时间:
2014-05-15 03:45:41
阅读次数:
276
题意:将已排序的链表中所有重复的元素移除
思路:
三个个指针,pre, cur, next
一个布尔变量is_appear,表示cur指针指向的值之前是否已经出现过
检查cur, next指向的节点的值是否相同,
相同的话,删除cur
不同的话,如果is_appear为true,删除cur,否则不删除
删除的话,只移动cur, next指针
不删除的话,要移动pre, cur, next三个指针
复杂度:时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 02:54:32
阅读次数:
262
题意:让你染色点,要求在给出的区间内|红色个数-蓝色个数|
思路:排序后依次交替染色就能达到效果
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 110;
int arr[MAXN];
int n,m,x,y;
int main(){
scanf("%d%d",...
分类:
其他好文 时间:
2014-05-15 02:53:54
阅读次数:
205
大家都知道,在java中的集合Map中按键值key排序比较简单,只需引用集合TreeMap即可,可是怎样实现按value值排序呢?下面我们来测试一下:
public class TestHashMap {
public static void main(String[] args) {
Map map = new HashMap();
map.put("zhangsan", 1);
...
分类:
其他好文 时间:
2014-05-15 02:37:34
阅读次数:
263
MySQL中默认排序是acs(可省略):从小到大
desc :从大到小,也叫倒序排列。...
分类:
数据库 时间:
2014-05-14 21:19:21
阅读次数:
397
Java常用三种算法排序比较冒泡排序:packagedemo1;
/**
*
*@authorxiaoye2014-5-13
*/
/**
*有N个数据需要排序,则从第0个数开始,依次比较第0和第1个数据,
*如果第0个大于第1个则两者交换,否则什么动作都不做,继续比较第1个第2个…,
*这样依次类推,直至所有数据都“冒泡..
分类:
编程语言 时间:
2014-05-14 17:53:10
阅读次数:
306