
算法
子安
这个作者很懒,什么都没留下…
展开
-
常见排序算法:分配排序
分配排序的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n)。箱排序(Bin Sort)1、箱排序的基本思想 箱排序也称桶排序(Bucket Sort),其基本思想是:设置若干个箱子,依次扫描待排序的记录R[0],R[1],…,R[n-1],把关键字等于k的记录全都装入到第k个箱子里(分配),然后按序号依次转载 2012-03-07 16:29:06 · 812 阅读 · 0 评论 -
常见排序算法:引言
排序(sort)或分类 所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下: 输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。 输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。1.被排序对象--文件 被排序的对象--文件由一组记录组成。转载 2012-03-07 15:20:56 · 737 阅读 · 0 评论 -
常见排序算法:插入排序
插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。 本节介绍两种插入排序方法:直接插入排序和希尔排序。直接插入排序基本思想1、基本思想 假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=转载 2012-03-07 15:31:10 · 821 阅读 · 0 评论 -
常见排序算法:各种内部排序方法比较
按平均时间将排序分为四类:(1)平方阶(O(n2))排序 一般称为简单排序,例如直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlgn))排序 如快速、堆和归并排序;(3)O(n1+£)阶排序 £是介于0和1之间的常数,即0(4)线性阶(O(n))排序 如桶、箱和基数排序。各种排序方法比较转载 2012-03-07 16:30:11 · 1050 阅读 · 0 评论 -
常见排序算法:交换排序
交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。冒泡排序1、排序方法 将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的转载 2012-03-07 16:16:11 · 1440 阅读 · 0 评论 -
常见排序算法:选择排序
选择排序(Selection Sort)的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。 常用的选择排序方法有直接选择排序和堆排序。直接选择排序(Straight Selection Sort)1、直接选择排序的基本思想 n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:转载 2012-03-07 16:24:25 · 648 阅读 · 0 评论 -
常见排序算法:归并排序
归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。两路归并算法1、算法基本思路 设两个有序的子文件(相当于输入堆)放在同一向量中相邻的位置上:R[low..m],R[m+1..high],先将它们合并到一个局部的暂存向量R1(相当于输出堆)中,待合并完成后将R1复制回R[low..high]中。(1转载 2012-03-07 16:25:59 · 908 阅读 · 0 评论 -
使用Python一步步实现PCA算法
使用Python一步步实现PCA算法标签: PCA Python本文原地址为: http://sebastianraschka.com/Articles/2014_pca_step_by_step.html Implementing a Principal Component Analysis (PCA) – in Python, step by step Apr 13, 2014 by翻译 2017-08-08 11:23:24 · 18335 阅读 · 2 评论