我的代码执行环境: 操作系统:OS X Yosemite python版本2.7.6 直接选择排序直接引用百度百科上的解释: http://baike.baidu.com/link?url=jP69NxFra_BJmmtVirRT_wBmGYzXlGOCNjeAiJx34K4sxetFLCLIbJUScpRfT0QhVt...
分类:
编程语言 时间:
2015-10-12 12:54:19
阅读次数:
243
冒泡排序:延申的有很多种,有的是先确定最大值放到后面,有的是先确定最小值放到前边,还有就是反过来,先确定最小值的位置,但是本质都是:不断两两比较,交换位置。。。第一趟确定一个最大(最小)值放到前边(后边),第二趟,排除选的最值继续排。。。。趟数是外循环控制,交换位置的事交给内循环。 直接选择排...
分类:
编程语言 时间:
2015-10-10 00:15:08
阅读次数:
171
http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。冒泡排序是一种简单的排序算法。它重...
分类:
编程语言 时间:
2015-10-07 15:59:33
阅读次数:
239
最近经常调用api中的排序算法,很少自己写了,有时候也只写写快速排序这些比较快的排序,然而刚开始学排序时用的一些基本的排序算法却有点忘了正好今天Java老师让我们每个人写个选择排序热热手,趁这个机会再来复习下一些基本的排序好了。一、冒泡排序(稳定排序)学编程接触到的第一个排序算法,基本思路就是,给定...
分类:
编程语言 时间:
2015-10-07 13:27:20
阅读次数:
227
排序-选择排序基本思想:在待排序子表中找出最大(小)元素, 并将该元素放在子表的最前(后)面。平均时间:O(n2)最好情况:O(n2)最坏情况:O(n2)辅助空间:O(1)稳定性:不稳定适用场景:n比较小时java实现: 1 public static void selectSort(in...
分类:
编程语言 时间:
2015-10-05 11:40:22
阅读次数:
130
二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个...
分类:
编程语言 时间:
2015-10-03 21:52:15
阅读次数:
340
工作原理: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。稳定性: 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。时间复杂度: 比较次数O(n^2),比较...
分类:
编程语言 时间:
2015-10-02 19:54:07
阅读次数:
373
每次循环把最小的值往前移C++代码:Sorter.hpp#ifndef _Algorithm_Sorter_H_#define _Algorithm_Sorter_H_template class Sorter{public: static void selectionSort(Item a[...
分类:
编程语言 时间:
2015-09-29 21:57:14
阅读次数:
343
排序算法七:选择排序之堆排序声明:引用请注明出处http://blog.csdn.net/lg1259156776/引言在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。上博文讲述了选择排序中的简单排序算法,本文介绍的堆排序是树性选择排序,采用堆这个数据结构来辅助排序。...
分类:
编程语言 时间:
2015-09-26 12:10:25
阅读次数:
336
1 public class Test3 { 2 3 /**@author shaobn 4 * @param 选择排序:将a.length - i个元素分别和第i个元素相比较,小的话就将值调换。依次递减进行排列 5 */ 6 public static vo...
分类:
编程语言 时间:
2015-09-24 14:32:56
阅读次数:
150