数据结构
法师的魔法学院
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法
排序的概念 概念 排序是计算机内经常进行的一种操作,其目的是将一组无序的数据元素调整为有序的数据元素的过程。 操作 比较:任意两个数据元素通过比较操作确定先后次序。 //比较数组中两个数据 if (arr[i] > arr[j]) //arr[i]大于arr[j] else //arr[i]小于arr[j] 交换:数据元素之间需要交换才能得到预期结果。 //数据交换函数 vo...原创 2019-08-02 23:39:00 · 499 阅读 · 0 评论 -
排序算法-冒泡排序
冒泡排序 原理 **冒泡排序(Bubble Sort)**排列的序列,较大(或较小)的数据会“浮”到序列的顶端(或底部)。 冒泡排序原则: 比较两个相邻的数组元素,使起满足条件交换元素位置,直到n-1轮循环操作结束。 实现 从头部开始,比较相邻的两个元素arr[j]和arr[j+1],如果前一个元素比后一个元素大,进行数据交换。 下标向后移动,即使j=j+1,再次比较元素arr[j]和ar...原创 2019-08-02 23:43:33 · 176 阅读 · 0 评论 -
排序算法-选择排序
选择排序 原理 **选择排序(Selection Sort)**是从待排序的序列中选出最大值(或最小值),交换该元素与待排序序列头部元素,直到所有待排序的数据元素排序完毕为止。 实现 第一趟从n个元素的数据序列中选出关键字最小(或最大)的元素并放到最前(或最后)位置。 下一趟再从n-1个元素中选出最小(大)的元素并放到次前(后)位置。 以此类推,经过n-1趟完成排序。 代码 //定义...原创 2019-08-02 23:47:38 · 217 阅读 · 0 评论 -
排序算法-插入排序
插入排序 原理 直接插入排序(Straight Insertion Sort) 基本操作是:将一个记录插入到已经排好序的有序数据中,从而得到一个新的、记录数增加1的有序表。 实现 把待排序序列视为两部分: 一部分为有序序列,通常在排序开始之时将序列中的第一个数据视为一个有序序列; 另一部分为待排序序列,有序序列之后的数据视为待排序序列。 在排序开始之时,从序列头部到尾部逐个选取数据,与有序...原创 2019-08-03 00:19:55 · 232 阅读 · 0 评论 -
排序算法-希尔排序
希尔排序 原理 **希尔排序(Shell Sort)**的基本思想是:先取定一个小于序列元素个数的整数作为增量,把序列的全部元素分成增量个组,所有相互之间距离为增量整数倍的元素放在同一个组中,在各组内进行直接插入排序。 实现 将一个数据序列按照增量进行分组。 将各个分组的数据进行直接插入排序。 更新增量,同时增量大于零在进行分组并排序。 代码 //定义数组 int arr[10] ...原创 2019-08-14 00:35:33 · 217 阅读 · 0 评论 -
排序算法-堆排序
堆排序 原理 **堆排序(Heaps Sort)**是指利用堆这种数据结构所设计的一种排序算法。 堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法: 大顶堆(大根堆):每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; 小顶堆(小根堆):每个节点的值都小于或等...原创 2019-08-14 00:38:00 · 219 阅读 · 0 评论 -
排序算法-递归排序
递归排序 原理 **归并排序(Merge Sort)**的基本思想是:将两个序列合并在一起,并且使之有序。 该算法是采用**分治法(Divide-and-Conquer)**的经典的应用。 归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并 实现 把长度为n的输入序列分成两个长度为...原创 2019-08-14 00:50:27 · 4959 阅读 · 0 评论 -
排序算法-快速排序
快速排序 原理 **快速排序(Quick Sort)**是对冒泡排序的改进。 快速排序的基本思想是:通过一趟排序,将序列中的数据分割为两部分,其中一部分的所有数值都比另一部分的小;然后按照此种方法,对两部分数据分别进行快速排序,直到参与排序的两部分都有序为止。 实现 将序列划分为如上所述的两部分: 需要在开始的时置一个参考值,通过与参考值的比较来划分数据; 重新排序数列,所有元素比基准值小...原创 2019-08-14 01:10:01 · 232 阅读 · 0 评论
分享