![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 82
Leslie_May
足球狗
展开
-
归并排序-原理及实现(c++)
归并排序(Merge Sort) 一.原理 归并排序是采用分治法建立在一系列归并操作上的排序算法。 大致思路为将一个序列分解为多个最小的子序列,再不断向上合并合并两个有序子序列,直到序列规模和原序列一样大。 归并排序分治过程 二.代码实现#include<iostream>using namespace std;void MergeArray(int *a...原创 2018-05-02 12:11:36 · 506 阅读 · 0 评论 -
堆排序-原理及实现
一.什么是堆堆(HEAP):数据结构中的一种,堆可以被看作一颗完全二叉树,其每个节点的值都大于或等于其左右孩子节点的值,称为最大堆;其每个节点的值小于或等于其左右孩子节点的值称为最小堆。其根节点一定是堆中最大(小)者。 最大堆 ...原创 2018-04-26 02:01:50 · 685 阅读 · 0 评论 -
快速排序-原理及实现
快速排序快速排序是一种最坏情况时间复杂度为o(n^2)的排序算法,虽然最坏情况时间复杂度很差,但是快速排序通常是实际应用中最好的选择,因为它的平均性能非常好,它的期望时间复杂度是o(nlgn),而且隐含的常数因子非常小。一.基本思想分解:将数组A[p..r]划分为两个子数组A[p..q-1],A[p+1..r](可能为空),使得A[p..q-1]均小于A[q],A[q+1]均大于A[q]解决:递归...原创 2018-04-28 03:14:47 · 771 阅读 · 0 评论