
python算法
夜猫子科黎
这个作者很懒,什么都没留下…
展开
-
大O表示法
大O表示法指出了最糟糕情况下的运行时间算法的速度指的并非时间,而是操作数的增速。 1。谈论算法的速度时,我们说的是随着输入的增加,其运行时间将以什么样的速度增加。 2.算法的运行时间用大O表示法表示。 3. O(log n)比O(n)快,当需要搜索的元素越多时,前者比后者快得越多。 常见大O时间 图示更形象表示其速度在不同操作数下的速度 ...原创 2018-09-13 09:50:24 · 833 阅读 · 2 评论 -
数组及链表
数组特点:1.存储空间连续,一般情况下请求的空间确定(除动态数组)优点:1.依据下标可直接访问相应内容2.可存储大量数据3.按照下标可以快速遍历数组缺点: 1.额外请求的存储空间浪费 2.超过数组范围时,需要转移数据链表特点1.存储空间不连续,线性表中的元素在内存中的存储位置是随机的,包含数据域及链域,链域称之为链或者指针,指向线...原创 2018-09-13 19:03:03 · 143 阅读 · 0 评论 -
选择排序
核心思想:给定一个列表或者数组等类似的数据结构,其下标L=0 to N-1 1.Find the position X of the smallest item in the range of [L…N−1], 发现下标范围【L N-1】中最小的位置X 2.Swap X-th item with the L-th item, 交换X位置与L位置的值 3.Increase the lowe...原创 2018-09-13 19:13:55 · 139 阅读 · 0 评论 -
冒泡排序python3
冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 注意:此处可立flag,若没有发生交换,则直接输出 平均时间复杂度最差O(N^2) 最...原创 2018-09-13 19:42:42 · 318 阅读 · 0 评论 -
快速排序原理及实现
转自博客:http://blog.csdn.net/morewindows/article/details/6684558 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想—-...转载 2018-09-14 16:05:31 · 24813 阅读 · 8 评论 -
归并排序python3
/将有序数组a[]和b[]合并到c[]中 void MemeryArray(int a[], int n, int b[], int m, int c[]) { int i, j, k; i = j = k = 0; while (i < n && j < m) { if (a[i] <...原创 2018-09-14 20:16:54 · 795 阅读 · 0 评论