插入排序 最好情况输入数组开始时候就是满足要求的排好序的,时间代价为θ(n);
最坏情况输入数组是按逆序排序的,时间代价为θ(n^2)。 归并排序
归并排序采用了算法设计中的分治法,分治法的思想是将原问题分解成n个规模较小而结构与原问题相似的小问题,递归的解决这些子问题,然后再去合并其结果,得到原问...
分类:
其他好文 时间:
2014-05-19 22:13:51
阅读次数:
284
MYSQL中的UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。举例说明:select
* from table1 union select * from table2这个SQL在运行时先取出两个表的结果,再用排序空间进行排...
分类:
数据库 时间:
2014-05-19 21:08:15
阅读次数:
406
出题:把二元查找树转变成排序的双向链表。输入一棵二元查找树,要求将该二元查找树按照中序转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整指针的指向;分析:递归的思路,当前节点需要进行的处理,并使用递归调用和返回值将子问题链接起来;首先明白二元查找树的特性,变成有序双向链表后当前根节点的左节...
分类:
其他好文 时间:
2014-05-19 10:02:49
阅读次数:
381
在《编程珠玑》中提到一个用位向量解决排序的问题,其具体的要求如下:输入:一个包含最多n个整数的文件,每个整数都小于n,且无重复输出:按升序排列的输入整数的列表约束:最多有(大约)1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化了。基本的思路是这样...
分类:
其他好文 时间:
2014-05-19 09:55:39
阅读次数:
390
问题描述:能否快速找到一个数组中的两个数字,让这两个数字之和等于一个给定的数字,为了简化起见,我们假设这个数组中肯定存在这样一组或以上符合条件的解。这里我们只考虑一种解的情况。解法:1.
暴力解法------O(n^2)2. 排序+二分查找------O(nlogn)3. hash表查找------...
分类:
其他好文 时间:
2014-05-19 08:51:09
阅读次数:
313
主要内容: 堆、最大堆、最小堆的基本概念 堆的操作:调整、创建、排序 采用堆实现优先级队列
基本概念 堆(heap)亦被称为:优先队列(priority queue) 逻辑定义:
n个元素序列{k1,k2...ki...kn},当且仅当满足下列关系时称之为堆: (ki = k2i,ki >= k2i...
分类:
其他好文 时间:
2014-05-19 08:45:41
阅读次数:
264
void quickSort(int *a1 , int *a2){ int i=0 ,
j=a2-a1-1; if (i>=j) return; swap(a1[0] , a1[rand()%j+1]); while( ia1[0])
--j; if(i<j)...
分类:
其他好文 时间:
2014-05-19 07:43:47
阅读次数:
213
基本概念 AVL树:树中任何节点的两个子树的高度最大差别为1。
AVL树的查找、插入和删除在平均和最坏情况下都是O(logn)。 AVL实现 AVL树的节点包括的几个组成对象: (01) key --
是关键字,是用来对AVL树的节点进行排序的。 (02) left -- 是左孩子。 (03) ri...
分类:
其他好文 时间:
2014-05-19 07:19:18
阅读次数:
323
在软件这个行业,做的越久,往往会觉得很多技术问题最终会偏向数据结构和算法。记得曾经大学的一堂课上,老师讲了一个关于冒泡排序的算法,下面是课本上的标准实现。
1 public class Sort 2 { 3 public void sortArray(int[] arry...
分类:
其他好文 时间:
2014-05-18 19:52:22
阅读次数:
299
转学html/css已有3个多月,经过之前编写一个网页的练手后大概熟悉了部分标签的作用,看着做完的页面跟同学给的源页面相差无几的时候心里充满了成就感。但当同学一针见血的指出我css类的各种定义重复、不符语义化、排序混乱及浏览器的不兼容时我才觉得web前端之路任重道远。于是我又问同学要了2个更为...
分类:
Web程序 时间:
2014-05-17 20:34:46
阅读次数:
299