摘要: 基本思想:1.鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高后然后从高到低,而冒泡排序则仅从低到高去比较序列里每一个元素。算法复杂度:最糟或平均多花费的次数是O(f(n2)),但是如果序列式已经排序号的是,会接近O(n)。具体实现:function cocktail_sort(list, list_length){ // the first element of list has index 0 bottom = 0; top = list_length - 1; swapped = true; while(swapped == true) // if n... 阅读全文
posted @ 2014-03-19 20:07 fang_beny 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 基本思想:1.将两个已经排序的序列合并成一个序列的操作。2.申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列。3.设定两个指针,最初位置分别为两个已经排序序列的起始位置。4.比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置。5.重复步骤4知道某一指针达到序列尾。6.将另一序列剩下的所有元素直接复制到合并序列尾。算法复杂度:比较操作的次数介于(nlogn)/2和nlogn-n+1。赋值操作的次数是(2nlogn).空间复杂度:Θ (n)具体实现: public static List sort(List lst) { ... 阅读全文
posted @ 2014-03-19 19:43 fang_beny 阅读(265) 评论(0) 推荐(0) 编辑