排序算法系列

概述

概念

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。

排序分为内部排序和外部排序。

若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序

反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序

排序分类

如果按照策略来分类,大致可分为:交换排序、插入排序、选择排序、归并排序和基数排序。如 图-排序策略分类图 所示。

图-排序策略分类图

算法分析

下表给出各种排序的基本性能,具体分析请参看各排序的详解。

系列文章

排序一 冒泡排序

排序二 快速排序

排序三 直接插入排序

排序四 希尔排序

排序五 简单选择排序

排序六 堆排序

排序七 归并排序 排序八 基数排序

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的Python

算法与数据结构(二):排序篇-O(n^2)算法:选择 & 插入算法优化排序基础

排序基础 O(n^2)的算法虽然简单,但也实用!让我们从最简单的基础排序算法开始,打开我们的算法大门! 排序算法 O(n^2)的排序算法 最优的时间复杂度为O...

3324
来自专栏数据结构与算法

26:统计满足条件的4位数个数

26:统计满足条件的4位数个数 总时间限制: 1000ms 内存限制: 65536kB描述 给定若干个四位数,求出其中满足以下条件的数的个数:  个位数上的...

3814
来自专栏racaljk

探索C++对象模型

只说C++对象模型在内存中如何分配这是不现实的,所以这里选择VS 2013作为调试环境具体探讨object在内存中分配情况.目录给出了具体要探讨的所有模型,正...

1193
来自专栏mathor

KMP(2)

1074
来自专栏韦弦的偶尔分享

Swift 两数之和 - LeetCode

792
来自专栏desperate633

LintCode 排颜色 II题目分析代码

给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,...k的顺序进行排序。

842
来自专栏数据结构与算法

06:整数奇偶排序

06:整数奇偶排序 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 给定10个整数的序列,要求对其重新排序。排序要求: 1...

2676
来自专栏猿人谷

成员以其在类中声明的顺序构造

分析以下代码的输出: #include<iostream> using namespace std; class A { public: A(int j):...

1826
来自专栏python读书笔记

《python算法教程》Day9 - 快速排序法快速排序法简介代码展示

这是《python算法教程》第9篇读书笔记,笔记的主要内容为快速排序法。 快速排序法简介 快速排序法运用分治法的方式,将需要排序的序列细分成小序列进行排序。 ...

35910
来自专栏HTML5学堂

原生JS | 随机抽取不重复的数组元素 —— 有没有更好的方法?

HTML5学堂-码匠:从数组中随机抽取不重复的元素,构成新数组,拥有多种方法,来看看你用的方法性能如何? 效果的功能需求 从一个数组当中,随机抽取数个元素,构成...

3835

扫码关注云+社区