选择排序的基本思想:每次选择未排序元素中的最小(非增序列)或者最大(非减序列)的一个一次加入到已排序序列后面,直到所有元素都排序完#include void selection_sort(int arr[],int length){ int i,j; for (i = 0; i < le...
分类:
编程语言 时间:
2014-10-12 12:23:07
阅读次数:
173
各算法的时间复杂度 平均时间复杂度 插入排序 O(n^2) 冒泡排序 O(n^2) 选择排序 O(n^2) 快速排序 O(n log n) 堆排序 O(n log n) 归并排序 O(n log n) 基数排序 O(n) 希尔排序 O(n^1.25)1 快速排序(QuickSort)快速排序是一个就...
分类:
编程语言 时间:
2014-10-11 21:51:36
阅读次数:
222
选择排序(假设递增排序)
每次选取从当前结点到末尾结点中最小的一个与当前结点交换,每一轮固定一个元素位置。
时间复杂度O(n^2),空间复杂度O(1)。下面的示例代码以带头结点的链表为存储结构:
#include
#include
#define Elemtype double
struct Node
{
Elemtype data;
struct Node *next;
};
void...
分类:
编程语言 时间:
2014-10-10 21:50:04
阅读次数:
225
排序是一个处理数据的过程,它总是和查找共同出现,因为排序的目的就是方便查找数据,排序的好坏决定了查找的效率。...
分类:
编程语言 时间:
2014-10-10 18:40:44
阅读次数:
266
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。本文地址:http://www.cnblo...
分类:
其他好文 时间:
2014-10-09 15:03:23
阅读次数:
190
碎碎念:
记得当初第一年的时候、接触算法、有那么两个视频、跳舞的、讲的是冒泡排序跟选择排序、当时看了好多遍终于懂了、这次多了一些算法、学起来也还好吧、咱是有基础的人、找到了以前的视频、有的就发了、没找到的就没法、其实算法并不难、绕绕就明白了、先别看代码- -
思维导图
插入排序
从头到尾巴、从第二个开始、向左进行插入、这里说的插入是指作比较、直到比较出比自...
分类:
其他好文 时间:
2014-10-09 03:01:27
阅读次数:
191
昨日写完冒泡排序,和大多数人的感觉一样,太简单,丝毫没有挑战性。但楼主是一个追求踏实平稳的人,希望地基坚固,也为方便后面学习和研究更加高深的算法。但在研究效率上还有待提高,楼主一定好好努力。今天将会写完选择排序 和 插入排序,本文主在选择排序。一. 算法描写叙述 选择排序:比方在一个长度为N的...
分类:
其他好文 时间:
2014-10-07 18:53:53
阅读次数:
127
package com.love.test;
import java.util.Scanner;
/**
* @author huowolf
*快速排序实现
*快排是十分优秀的排序算法。
*核心:分治法(1.选基元2.分区3.递归子列)
*/
public class QuickSort {
public static void quickSort(int[] arr,int...
分类:
编程语言 时间:
2014-10-07 18:11:13
阅读次数:
183
package com.love.test;
import java.util.Scanner;
/**
* @author huowolf
* 选择排序实现
*思想:每趟从待排序的记录序列中选择关键字最小的记录放置到已排序表的最前位置,直到全部排完。
*/
public class SelectSort {
public static void selectSort(int[] ...
分类:
编程语言 时间:
2014-10-07 16:34:23
阅读次数:
168
昨日写完冒泡排序,和大多数人的感觉一样,太简单,丝毫没有挑战性。但楼主是一个追求踏实平稳的人,希望地基坚固,也为方便后面学习和研究更加高深的算法。但在研究效率上还有待提高,楼主一定好好努力。今天将会写完选择排序 和 插入排序,本文主在选择排序。一. 算法描写叙述 选择排序:比方在一个长度为N的...
分类:
其他好文 时间:
2014-10-06 14:52:20
阅读次数:
139