算法基础系类总结
来源:互联网 发布:音源调教用软件 编辑:程序博客网 时间:2024/05/24 04:36
上面的算法实现我都写在一个android项目里面了。
源码下载
网上查了一下几种算法的时间复杂度,贴出来。
以下的排序算法写的第一个O( ),括号中的次方数值越小,效率越高
稳定的
冒泡排序(bubble sort) — O(n^2)
鸡尾酒排序(Cocktail sort,双向的冒泡排序) — O(n^2)
插入排序(insertion sort)— O(n^2)
桶排序(bucket sort)— O(n); 需要 O(k) 额外空间
计数排序(counting sort) — O(n+k); 需要 O(n+k) 额外空间
合并排序(merge sort)— O(nlog n); 需要 O(n) 额外空间
原地合并排序— O(n^2)
二叉排序树排序 (Binary tree sort) — O(nlog n)期望时间; O(n^2)最坏时间; 需要 O(n) 额外空间
鸽巢排序(Pigeonhole sort) — O(n+k); 需要 O(k) 额外空间
基数排序(radix sort)— O(n·k); 需要 O(n) 额外空间
Gnome 排序— O(n^2)
图书馆排序— O(nlog n) with high probability,需要 (1+ε)n额外空间
不稳定的
选择排序(selection sort)— O(n^2)
希尔排序(shell sort)— O(nlog n) 如果使用最佳的现在版本
组合排序— O(nlog n)
堆排序(heapsort)— O(nlog n)
平滑排序— O(nlog n)
快速排序(quicksort)— O(nlog n) 期望时间,O(n^2) 最坏情况; 对于大的、乱数列表一般相信是最快的已知排序
Introsort— O(nlog n)
Patience sorting— O(nlog n+ k) 最坏情况时间,需要 额外的 O(n+ k) 空间,也需要找到最长的递增子串行(longest increasing subsequence)
不实用的排序算法
Bogo排序— O(n× n!) 期望时间,无穷的最坏情况。
Stupid sort— O(n^3); 递归版本需要 O(n^2) 额外存储器
珠排序(Bead sort) — O(n) or O(√n),但需要特别的硬件
Pancake sorting— O(n),但需要特别的硬件
stooge sort——O(n^2.7)很漂亮但是很耗时
- 算法基础系类总结
- 【基础算法】算法总结
- 基础排序算法总结
- 基础排序算法总结
- 基础排序算法总结
- 算法基础总结
- 算法基础总结
- 基础排序算法总结
- 算法基础总结
- 算法基础—总结
- 基础算法模块总结
- 基础算法(javascipt)总结
- JS基础算法总结
- 算法基础总结
- 基础排序算法总结
- java基础总结--约瑟夫算法
- 基础Back-Propagation算法总结
- 【总结】-第一章-算法设计基础
- C#泛型在unity3D中的运用.
- Linux多队列网卡
- mysql中isnull,ifnull,nullif的用法
- Java判断一个数是不是素数
- ios 只让播放视频的 时候能够全屏横屏 其他全部非全屏非横屏 目前已经测试很多 可以
- 算法基础系类总结
- 【码农本色】用数据解读我的2014
- 华为机试—N皇后问题(高级题160分:两种回溯法解决 吐血整理)
- Oracle表空间自动扩展的管理
- 在Linux下运行C语言程序
- 刷新UI的方法总结
- linux 安装msmtp发送邮件
- linux 下的多进程和多线程的使用方法及对比
- 前置与后置运算符的区别