comparison algorithm of sort

    /*Comparison sort
     *
     |---------------------|-----|----------------|---------------|------|----------|
     |       Name          |Best | Average        |Worst          |Memory|Stable?   |
     |---------------------|-----|----------------|---------------|------|----------|
     |1 Insertion sort     |     |                |               |      |          |
     |---------------------|-----|----------------|---------------|------|----------|
     |   1.1 Insertion sort|n    | n*n            |n*n            |1     |stable    |
     |   1.2 Shell sort    |n    | n*(logn)*(logn)|n*(logn)*(logn)|1     |not table |
     |---------------------|-----|----------------|---------------|------|----------|
     |2 Exchange sort      |     |                |               |      |          |
     |---------------------|-----|----------------|---------------|------|----------|
     |   2.1 Quick sort    |nlogn| nlogn          |n*n            |logn  |not stable|
     |   2.2 Bubble sort   |n    | n*n            |n*n            |1     |stable    |
     |   2.3 Cocktail sort |n    | n*n            |n*n            |1     |stable    |
     |   2.4 Odd-Even sort |n    | n*n            |n*n            |1     |not sable |
     |---------------------|-----|----------------|---------------|------|----------|
     |3 Selection sort     |     |                |               |      |          |
     |---------------------|-----|----------------|---------------|------|----------|
     |   3.1 Selection sort|n*n  | n*n            |n*n            |1     |not stable|
     |   3.2 Heapsort      |nlogn| nlogn          |nlogn          |1     |not stable|
     |---------------------|-----|----------------|---------------|------|----------|
     |4 Merge sort         |     |                |               |      |          |
     |---------------------|-----|----------------|---------------|------|----------|
     |   4.1 merge sort    |n    | nlogn          |nlogn          |n     |stable    |
     |---------------------|-----|----------------|---------------|------|----------|
     |5 Hybrid sort        |     |                |               |      |          |
     |---------------------|-----|----------------|---------------|------|----------|
     |   5.1 hybrid sort   |nlogn| nlogn          |nlogn          |nlogn |not stable|
     |---------------------|-----|----------------|---------------|------|----------|
     *
     */

  

时间: 2024-11-11 02:35:50

comparison algorithm of sort的相关文章

C++<algorithm>中sort的比较函数写法(转)

转自:http://www.wl566.com/biancheng/98907.html C++<algorithm>中sort的比较函数写法,有需要的朋友可以参考下. 定义排序函数: 方法1:声明外部比较函数 bool Less(const Student& s1, const Student& s2) { return s1.name < s2.name; //从小到大排序 } std::sort(sutVector.begin(), stuVector.end(),

algorithm: heap sort in python 算法导论 堆排序

An Python implementation of heap-sort based on the detailed algorithm description in Introduction to Algorithms Third Edition import random def max_heapify(arr, i, length): while True: l, r = i * 2 + 1, i * 2 + 2 largest = l if l < length and arr[l]

[Algorithm] Selection Sort

选择排序的概念 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕. 选择排序的主要特点与数据移动有关,如果某个元素位于正确的最终位置上,则它不会被移动.选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换.在所有的完全依靠交换去

Algorithm: quick sort implemented in python 算法导论 快速排序

1 import random 2 3 def partition(A, lo, hi): 4 pivot_index = random.randint(lo, hi) 5 pivot = A[pivot_index] 6 A[pivot_index], A[hi] = A[hi], A[pivot_index] 7 store_index = lo 8 for i in range(lo, hi): 9 if A[i] < pivot: 10 A[i], A[store_index] = A[

cpp algorithm

今天在https://codility.com/ 上面测试了几道题,我发现用C++比用C 方便多了.因为如果用C++,我们可以使用STL 的结构及算法,但是使用C的话就要自己实现了. 毕业之后 就没有专门做过算法题了,今天使用起来有些生硬,费事不少.现在将一些常用结构整理一下,作为自己的知识库储存在大脑里,以后可以信手拈来. 一下提供一些C转C++的结构,以及C++常用算法. 1. 常用函数 get max integer // numeric_limits example #include <

C++ - STL常用算法-sort、find、count、等等【还有remove......暂时不写】

起始算法有很多,或者说太多,这里不写了,主要写一写在 vector deque stack queue set map 中出现过的算法,其他算法,以后在此补充! 这些算法使用时候,包含:#include<algorithm> 其余算法参考:https://blog.csdn.net/tick_tock97/article/details/71316372 在线手册:http://www.cplusplus.com/reference/algorithm 一.sort 没有返回值: 1 std:

sorting algorithm

Sorting algorithm Selection sort This method is called selection sort because it works by repeatedly selecting the smallest remaining item. Selection sort uses ~N2/2 compares and N exchanges to sort an array of length N. First, find the smallest item

Java Sort算法

//插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil; /** * @author treeroot * @since 2006-2-2 * @version 1.0 */ public class InsertSort implements SortUtil.Sort{ /** (non-Javadoc) * @see org.rut.util.algorithm.SortU

【HackerRank】 The Full Counting Sort

In this challenge you need to print the data that accompanies each integer in a list. In addition, if two strings have the same integers, you need to print the strings in their original order. Hence, your sorting algorithm should be stable, i.e. the