选择排序:选择一个最大或者最小的元素放到起始位置,直到排完为止。(不稳定) 如有一组数据:3,6,2,1,9 ->1,6,2,3,9 ->1,2,6,3,9 ->1,2,3,6,9 1 #include <iostream> 2 3 using namespace std; 4 5 int main
分类:
编程语言 时间:
2016-02-26 14:11:14
阅读次数:
159
//选择排序时间复杂度(n-1)*n为n平方 void SelectSort(int *a, int n) { for (int j = 0; j < n-1; j++)//从0到n-1的搜寻 { int min = a[j];//每次搜索定义一个最小值为了与开始的位置互换 int min_i =
分类:
编程语言 时间:
2016-02-24 22:37:17
阅读次数:
260
// 2016_2_24_select.cpp : Defines the entry point for the console application.// #include "stdafx.h" void SelectSort(int arr[],int n){ int temp; int k
分类:
编程语言 时间:
2016-02-24 12:09:10
阅读次数:
174
一、插入排序:稳定,时间复杂度O(n^2)想象你在打扑克牌,一开始左手是空的,接着右手开始从桌上摸牌,并将其插入到左手的一把牌中的正确位置上。为了找到这个正确位置,我们需要从右到左将它与手中的牌比较,直到找到合适的位置插入。整个过程的特点是,左手的牌是排好序的了。详见: 插入排序二、选择排序:不稳定,时间复杂度O(n^2)每趟从未排序部分选出最小的元素,然后通过交换将其添加到已排序部分中。详见:...
分类:
编程语言 时间:
2016-02-20 17:39:47
阅读次数:
202
冒泡排序和选择排序是排序算法中比较简单和容易实现的算法。冒泡排序的思想为:每一次排序过程,通过相邻元素的交换,将当前没有排好序中的最大(小)移到数组的最右(左)端。而选择排序的思想也很直观:每一次排序过程,我们获取当前没有排好序中的最大(小)的元素和数组最右(左)端的元素交换,循环这个过程即可实现对
分类:
编程语言 时间:
2016-02-17 12:51:42
阅读次数:
232
package cn.aust.zyw.demo; /** * Created by zyw on 2016/2/8. * quick-sort */ public class Selection { public static void sort(int [] a){ int N=a.length
分类:
编程语言 时间:
2016-02-15 22:38:48
阅读次数:
239
作者:Edwin Jarvis 特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。 特征选择主要有两个功能: 减少特征数量、降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值
分类:
其他好文 时间:
2016-02-11 00:29:01
阅读次数:
474
一、问题描述 内部排序是一件具有重大意义的问题,许多项目的实现中都需要用到排序。 我们知道,排序的算法有许多种,每种排序算法的时间复杂度和空间复杂度不尽相同。在解决实际问题时,往往需要根据实际需要选择排序算法。 本实验重点介绍希尔排序的算法实现及其原理,简要说明与其相关的直接排序算法,并讨论希尔排序
分类:
编程语言 时间:
2016-02-09 08:06:51
阅读次数:
216
一、问题描述 内部排序是一件具有重大意义的问题,许多项目的实现中都需要用到排序。 我们知道,排序的算法有许多种,每种排序算法的时间复杂度和空间复杂度不尽相同。在解决实际问题时,往往需要根据实际需要选择排序算法。 上次实验已经讨论了希尔排序的实现及其原理,本实验重点介绍另一种排序算法——快速排序。实验
分类:
编程语言 时间:
2016-02-09 08:04:09
阅读次数:
256
堆排序是相对其他排序稍微麻烦的排序,是一种利用堆的性质进行的选择排序。堆其实是一棵完全二叉树,只要任何一个非叶节点的关键字不大于或者不小于其左右孩子节点,就可以形成堆。堆分为大顶堆和小顶堆。由上述性质可知大顶堆的堆顶的关键字是所有关键字中最大的,小顶堆的堆顶的关键字是所有关键字中最小的。堆排序同快速排序一样都是不稳定排序。示例代码上传至:https://github.com/chenyufeng1...
分类:
编程语言 时间:
2016-02-03 14:34:40
阅读次数:
215