归并排序是建立在归并操作上的一种有效的排序算法。该算法是採用分治法(Divide and
Conquer)的一个很典型的应用。首先考虑下怎样将将二个有序数列合并。这个很easy,仅仅要从比較二个数列的第一个数,谁小就先取谁,取了后就在相应数列中删除这个数。然后再进行比較,假设有数列为空,那直接将还有...
分类:
其他好文 时间:
2014-06-11 21:52:36
阅读次数:
289
一、插入排序1.直接插入排序算法稳定,时间复杂度为O(n^2),空间移动复杂度为O(n2)如果序列是有序的,最好的时间复杂度为O(n)void
insertSort(int data[],int n){ for(int i=1;i=0&&data[j]>temp) { d...
分类:
其他好文 时间:
2014-06-11 12:53:06
阅读次数:
266
直接插入排序(Straight Insertion
Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程
中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排...
分类:
其他好文 时间:
2014-06-11 09:49:14
阅读次数:
263
Java中的HashCode(1)之hash算法基本原理2012-11-16 14:58:59
我来说两句 作者:woshixuye 收藏 我要投稿一、为什么要有Hash算法Java中
的集合有两类,一类是List,一类是Set。List内的元素是有序的,元素可以重复。Set元素无序,但元素不可.....
分类:
编程语言 时间:
2014-06-11 09:21:59
阅读次数:
294
特点唯一一个头节点唯一一个尾节点除头节点外,均只有一个前驱节点除尾节点外,均只有一个后继节点顺序表插入平均移动步数 n/2删除平均移动步数
(n-2)/2查找时间代价 O(n)二分查找时间代价 O(log2n)适合整块存储有序数据,不适合频繁插入删除以及动态扩展。链接表查找时间代价 O(...
分类:
其他好文 时间:
2014-06-11 08:27:00
阅读次数:
156
查找分为静态查找与动态查找一、静态查找1.顺序查找法平均的查找长度为(n+1)/22.折半查找法局限是数据必须是有序的。完全二叉树的高度为logn上取整。3.分块查找法查找第一阶段:每一块的查找利用折半查找法第二阶段:每一块内部的查找使用顺序查找法。二、动态查找B-树与B+树主要用于大规模数据的查找...
分类:
其他好文 时间:
2014-06-11 07:26:46
阅读次数:
239
字符串和字符 (Strings and Characters)String是一个有序的字符集合,例如
"hello, world", "albatross"。Swift 字符串通过String类型来表示,也可以表示为Character类型值的集合。Swift
的String和Character类型提...
分类:
其他好文 时间:
2014-06-08 00:24:00
阅读次数:
381
集合有序否允许元素重复否Collection否是List是是SetAbstractSet否否HashSetTreeSet是(用二叉树排序)MapAbstractMap否使用key-value来映射和存储数据,Key必须惟一,value可以重复HashMapTreeMap是(用二叉树排序)目的:用数组...
分类:
其他好文 时间:
2014-06-07 23:42:39
阅读次数:
312
当我们需要设置单行多列或者多行单列的数据是是 就可以使用列表元素 常见问题解答
我能创建多少个笔记? 他支持什么样的文件格式? 我可以与我的...
分类:
其他好文 时间:
2014-06-07 21:09:12
阅读次数:
286
【题目】
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
【题意】
将一个有序链表转换成平衡二叉树
【思路】
思路跟Convert Sorted Array to Binary Search Tree完全一样...
分类:
其他好文 时间:
2014-06-07 16:20:05
阅读次数:
287