- 浏览: 248122 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (127)
- vim (3)
- python (44)
- pymysql (1)
- mysql (9)
- macvim (1)
- erlang (3)
- twisted (0)
- tornado (5)
- django (7)
- postgresql (5)
- sql (1)
- java (7)
- tech (4)
- cache (1)
- lifestyle (3)
- html (1)
- ubuntu (2)
- rabbitmq (1)
- algorithm (8)
- Linux (4)
- Pythonista (1)
- thread (1)
- sort (6)
- 设计模式 (1)
- search (1)
- Unix (6)
- Socket (3)
- C (2)
- web (1)
- gc (1)
- php (10)
- macos (1)
最新评论
-
2057:
这个程序有bug。
查找算法学习之二分查找(Python版本)——BinarySearch -
dotjar:
NB
一个Python程序员的进化[转]
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
代码:
参考资料:
http://zh.wikipedia.org/wiki/%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F
最差时间复杂度:O(n^2) |
最优时间复杂度:O(n^2) |
平均时间复杂度:O(n^2) |
代码:
#! /usr/bin/env python #-*-encoding:utf-8-*- #SelectionSort def selection_sort(param): p_len = len(param) for i in range(p_len): min = i for j in range(i+1,p_len): if param[min]>param[j]: min = j if min!=i: param[i],param[min]=param[min],param[i] return param def main(): param = [1,2,3,4,5,7,6] print selection_sort(param) if __name__=="__main__": main()
参考资料:
http://zh.wikipedia.org/wiki/%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F
发表评论
-
macos 10.9.2 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command
2014-03-25 19:13 1769方法总是有的,当然需要你去寻找。 当然如果花费太多的时间在一件 ... -
PostgreSQL psycopg2:IndexError: tuple index out of range
2014-01-09 17:04 2234Postgresql psycopg2使用like查询的时候 ... -
Python 迭代器和生成器
2013-10-15 23:09 2854迭代器 迭代器只不过是一个实现迭代器协议的容器对象。它基于两个 ... -
Python时间模块
2013-10-15 23:03 3478time模块 时间模块中最常用的一个函数就是获取当前时间的函数 ... -
Python装饰器
2013-10-15 22:59 1572编写自定义装饰器有许多方法,但最简单和最容易理解的方法是编写一 ... -
python list
2013-10-15 22:56 1261简单总结以及整理如下: >>> dir( ... -
Python Excel
2013-09-10 17:21 980安装lib easy_install xlrd def ... -
排序算法学习(python版本)之堆排序(HeapSort)
2013-07-01 22:54 2005Contains: 堆排序以及堆排序的应用 堆排序(Heaps ... -
python range xrange
2013-06-25 23:30 1158引用Help on built-in function ran ... -
python class
2013-06-25 00:54 1832引用类是创建新对象类 ... -
AttributeError: 'module' object has no attribute 'SendCloud'
2013-06-05 11:46 7093网上查了下 意思是说你命名的文件名不能和lib重名,这样会导 ... -
python string
2013-05-07 23:44 2202如果这就是字符串,这本来就是字符串 首先看下字符串的方法 ... -
Python property
2013-03-29 19:56 0由于之前有总结过,可以参考http://2057.iteye. ... -
python tips
2013-03-28 23:57 8901、enum #!/usr/bin/env python ... -
python decorators
2013-03-28 23:36 1371Contains: 1、decorators 2、funct ... -
python closures
2013-03-28 22:09 1195Closure:如果在一个内部函数里,对在外部作用域(但不是在 ... -
Python map、filter,reduce介绍
2013-03-28 22:02 13191、filter(function,iterable) 引用C ... -
Python __new__ 、__init__、 __call__
2013-03-26 23:49 5360Contains: __new__: 创建对象时调用,返回当 ... -
Python socket简介
2013-03-25 23:42 2182自豪地使用dir和help. Python 2.7.2 ( ... -
Tornado ioloop源码简析
2013-03-21 00:18 2857#!/usr/bin/env python #-*-en ...
相关推荐
# sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() #计数排序 # sort.quickSort() #快速排序 该排序算法把每次的排序结果都列出来,可供初学者学习。 self.arr存放的是待排序...
总的来说,虽然选择排序在许多情况下不是最优解,但作为基础排序算法,理解其原理和实现对于学习更复杂的排序算法如快速排序、归并排序等是非常有帮助的。在实际开发中,根据具体需求和数据特性,选择更适合的排序...
在编程领域,排序算法是数据结构与算法课程中的重要内容,特别是在Python编程中,由于其简洁易懂的语法,实现各种排序算法变得尤为直观。本文将深入探讨“八大基础排序算法”在Python中的实现,旨在帮助读者理解排序...
通过学习和实践这些排序算法的Python实现,不仅可以提升编程技巧,还能加深对算法的理解,有助于解决实际问题。在代码练习中,可以针对不同的数据结构和场景,对比这些算法的性能,选择最适合的排序方法。同时,了解...
这个压缩包文件"排序算法_python_"显然是关于使用Python实现各种排序算法的学习资源。这里我们将深入探讨几种常见的排序算法及其Python实现。 1. 冒泡排序(Bubble Sort): 冒泡排序是最基础的排序算法,通过不断...
本文将详细讨论在Python中实现的三种基本排序算法:冒泡排序、选择排序和插入排序,这些都是`light9m6`提供的教学资源。 首先,我们来了解冒泡排序(Bubble Sort)。这是一种简单直观的排序算法,它重复地遍历要...
希尔排序,也称为递减增量排序算法,是插入排序的一种更高效的改进版本。它首先取一个较大的步长,逐步缩小步长直到为1,对每个步长进行插入排序。Python实现代码如下: ```python def shell_sort(list): n = len...
本资源"Python实现10大排序算法.rar"包含了对经典排序算法的Python实现,这对于学习和理解排序算法的原理非常有帮助。 1. 冒泡排序(Bubble Sort):冒泡排序是最基础的排序算法,通过不断交换相邻的不正确顺序元素...
本资源"Python实现经典排序算法.rar"包含了一系列用Python编写的经典排序算法的源代码,这对于学习和理解排序算法的原理及其在Python中的实现极具价值。 首先,让我们来探讨一下排序算法的基本概念。排序算法是一种...
在Python编程领域,排序算法是数据结构与算法学习中的核心部分。这些算法处理数组或列表中的元素,使得它们按照特定顺序排列。可视化排序算法能够帮助我们更好地理解它们的工作原理,而Matplotlib是一个强大的Python...
选择排序(Selection Sort)是一种简单直观的比较排序算法。它的基本思想是:在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已...
学习和理解这些排序算法对于提升Python编程能力至关重要,它们不仅帮助我们解决问题,还能锻炼思维逻辑。这份压缩包文档可能提供了每种算法的实现代码、示例和性能分析,对于初学者和进阶者都是宝贵的参考资料。不过...
选择排序(Selection Sort)是一种简单直观的排序算法。与其他复杂度较高的排序算法相比,选择排序的实现较为简单且易于理解,非常适合初学者学习和掌握。 #### 二、选择排序的工作原理 选择排序的核心思想在于...
在编程领域,选择排序是一种简单直观的排序算法,它的主要思想是通过n次比较找到数组中的最小(或最大)元素,然后...虽然选择排序不是最高效的算法,但学习它可以帮助初学者更好地掌握排序算法的基本概念和实现方式。
尽管这些算法的时间复杂度较高(均为O(n^2)),但它们的实现非常简单,易于理解和编程实现,是学习排序算法的基础。后续章节将继续介绍其他七种排序算法,包括快速排序、归并排序、希尔排序等更高效的排序方法。
本章将深入探讨基于Python的常见排序算法,帮助你更好地准备Python面试。 排序算法是计算机科学中的重要组成部分,它能够对一组数据进行排列,使得数据按照特定的顺序排列。在Python中实现这些算法,不仅可以展现你...
### Python常见排序算法基础教程 #### 一、引言 在计算机科学中,排序是一种非常重要的数据处理技术,被广泛应用于各种场景之中。本教程旨在介绍几种常用的排序算法及其在Python中的实现方法,并分析这些算法的...
简单排序算法主要包括插入排序、选择排序和冒泡排序,这些算法虽然效率较低,但易于理解和实现,是学习排序算法的基础。 ##### 1. 插入排序 插入排序的基本思想是将一个记录插入到已排序好的有序表中,从而得到一个...
**选择排序**是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素...了解和掌握选择排序有助于深入理解排序算法的原理和性能对比,为后续学习更复杂的排序算法打下基础。