冒泡排序:1 def bubble(l):2 length = len(l)3 for i in range(length):4 for j in range(i+1, length):5 if l[i] > l[j]:6 ...
分类:
编程语言 时间:
2014-08-06 22:23:07
阅读次数:
223
各类排序算法总结三.交换类排序[接上]2.快速排序 快速排序是通过比较关键码、交换记录,以某个记录为界(该记录称为支点),将待排序列分成两部分。其中,一部分所有记录的关键码大于等于支点记录的关键码,另一部分所有记录的关键码小于支点记录的关键码。我们将待排序列按关键码以支点记录分成两部分的过程,称为一次划分。对各部分不断划分,直到整个序列按关键码有序. 如果每次划分对一个元素定位后,该元素的左侧子序...
分类:
其他好文 时间:
2014-08-05 22:41:20
阅读次数:
388
From:http://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8FCode:#include "stdafx.h"#include #include #include #include using namespace std;...
分类:
编程语言 时间:
2014-08-05 22:12:50
阅读次数:
194
各类排序算法总结一. 排序的基本概念 排序(Sorting)是计算机程序设计中的一种重要操作,其功能是对一个数据元素集合或序列重新排列成一个按数据元素某个项值有序的序列。 有 n 个记录的序列{R1,R2,…,Rn},其相应关键字的序列是{K1,K2,…,Kn},相应的下标序列为1,2,…,n。通过排序,要求找出当前下标序列1,2,…, n 的一种排列p1,p2, …,pn,使得相应关键字满足如下...
分类:
其他好文 时间:
2014-08-05 19:33:00
阅读次数:
227
珠排序(Bead sort) — O(n) or O(√n),在排序的世界里 珠排序属于不实用的排序算法排序 原因是珠排序和硬件的依赖关系大,目前网上只有一个c语言的版本 用指针做的闲来无聊研究一下此排序算法,并优化写出c#版本的给大家分享现有 数组 198752 排序结果肯定是125789啦珠排序...
分类:
Web程序 时间:
2014-08-05 18:56:29
阅读次数:
354
本章主要是算法知识的基础讲解,介绍了循环不变式,几个简单的排序算法,递归分治算法等内容。
1、循环不变式
循环不变式主要用来说明算法的正确性,那么什么是循环不变式呢,其实就是在循环过程中,一些元素数据必须保持的一些性质,例如在插入排序中,数组为A,必须保证三个性质:
(1) 初始化:在循环开始之前,循环不变式是成立的,即:A[0]是有序的,A[1...n-1]是无序的。
(2) 保持:在循...
分类:
其他好文 时间:
2014-08-05 15:53:01
阅读次数:
220
一、概念: 在计算机科学中,分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以寄简单的直接求解,原问题的解即子问题的解的合并。 这个技巧是很多高校算法的基础,如排序算法(快速排序、归并排序)、...
分类:
其他好文 时间:
2014-08-05 15:33:29
阅读次数:
178
数据结构精要------直接选择和堆排序算法...
分类:
其他好文 时间:
2014-08-04 21:35:38
阅读次数:
245