美文网首页
算法06-排序及搜索

算法06-排序及搜索

作者: Simon0903 | 来源:发表于2019-08-01 23:08 被阅读0次

简介

排序算法(sorting algorithm)是一种能将一串数据依照特性的顺序进行排列的一种算法

排序算法的稳定性

稳定排序算法会让原本相等的键值(key)的记录维持相对秩序。

1、 如果一个排序算法是稳定的,当有两个相等键值的记录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会在S之前。

2、当相等的元素是无法分辨的,比如像是证书,稳定性并不是一个问题。然而,假设一下的数对将要以他们的第一个数字来做排序(下述为举例)

(2,4)  (1,2)  (3,6)  (1,1)

这个情况下,有可能产生两种不同的结果,一个是让相等键值的记录维持相对的秩序,而另外一个则没有

(1,1) (1,2) (2,4) (3,6)   #正确秩序的排序

(1,2)  (1,1)  (2,4) (3,6)  # 秩序变更的排序

不稳定的排序算法可能会在相等的键值中改变记录的相对秩序,但是稳定的排序算法从来不会出现这样的情况。不稳定算法可以被特定的实现为稳定。做着件事情的一个方式就是人工扩充键值的比较,如此在其他方面相同键值的两个对象之间作比较,当做一个同分决赛。然而,要记住这种秩序通常牵涉到额外的空间负担

相关文章

  • 算法06-排序及搜索

    简介 排序算法(sorting algorithm)是一种能将一串数据依照特性的顺序进行排列的一种算法 排序算法的...

  • 学习js数据结构与算法8—排序与搜索算法

    排序和搜索算法 排序算法

  • 程序员应该掌握哪些算法

    程序员必须掌握的常用算法,主要包括以下内容: 算法: 1、排序算法:快速排序、归并排序、计数排序 2、搜索算法:回...

  • 算法汇总

    关于算法: 基础技巧:分治、二分、贪心排序算法:快速排序、归并排序、计数排序搜索算法:回溯、递归、深度优先遍历,广...

  • 算法与数据结构简介

    0x01 算法 基础技巧:分治、二分、贪心 排序算法:快速排序、归并排序、计数排序 搜索算法:回溯、递归、深度优先...

  • 离散数学及应用——算法、整数、矩阵

    算法 算法是进行一项计算或解决一个问题的一组有限多条准确的指令。 搜索算法 线性搜索 二分搜索 排序 冒泡排序 冒...

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

  • 数据结构线性表

    title: 06-数据结构及算法-线性表date: 2019-11-17 20:34:00tags: 数据结构及...

  • 数据结构与算法 - 排序与搜索

    文章来源:数据结构与算法(Python) 排序与搜索排序算法(英语:Sorting algorithm)是一种能将...

  • day17_选择排序_数组的搜索算法

    选择排序 规律: 数组的搜索算法之二分搜索法

网友评论

      本文标题:算法06-排序及搜索

      本文链接:https://www.haomeiwen.com/subject/onyhdctx.html