深究JavaScript首页投稿(暂停使用,暂停投稿)Unity技术分享

基本排序算法

2017-08-17  本文已影响72人  不做大哥好多年

1.内排序之插入法排序

类似于打扑克牌时,一边抓牌,一边整理牌的过程:

每抓一张牌就把它插入到适当的位置;

牌抓完了,也整理完了。

---这种策略被称为插入排序

示例
插入排序代码和原理

2.内排序之简单选择法排序

首先在所有数组元素中找出最小值的元素,放在A[1]中;

接着在不包含A[1]的余下的数组元素中在找出最小值的元素,放置在A[2]中;

如此下去,一直到最后一个元素。

------这一排序策略被称为简单选择排序

简单选择排序代码和原理

3.内排序之冒泡排序

一个轮次一个轮次的处理。

在每一个轮次中依次对待排序数组元素中相邻的两个元素进行比较,将大的放前,小的放后--递减排序(或者是讲小的放前,大的放后---递增排序)

当没有交换时,则数据已被排好序

冒泡排序代码和原理

4.内排序之快速排序

从待排序列中任取一个元素(例如取第一个)作为中心,所有比它小的元素放在左侧,所有比它大的元素放在右侧,形成左右两个子序列;

然后再对各子序列重新选择中心元素并依此规则调整,直到每个子序列的元素只剩一个,此时便为有序序列了。

5.外排序之多路归并排序

前提:待排序的数据保存在磁盘上,不能一次性装入内存,即排序者不能一次完整地看到和操纵所有数据,需要将数据分批次装入内存分批处理的排序问题;

1.分成若干个子集合(子集合的数量根据内存定),并排好序

排序好子集合 归并排序--过程模拟
归并排序--算法描述

6.PageRank网页排序算法

网页重要度问题抽象
计算网页重要度
数学建模-示例
数学建模-邻接矩阵 数学建模-转移概率 矩阵乘法与反向链接的加权和
最后结果

上一篇 下一篇

猜你喜欢

热点阅读