数据结构与算法
文章平均质量分 70
一条有理想的鱼…
一名在路上奔跑的大学生
展开
-
堆排序算法介绍
个人主页:个人主页 系列专栏:数据结构与算法 目录 一、问题介绍 二、思想分析 三、代码实现 一、问题介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值的大小关系。 每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 我们对堆中的结点按...原创 2022-05-14 22:59:56 · 447 阅读 · 3 评论 -
算法-归并排序
一、问题介绍 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 二、思想分析 (1)思想示意1:“分”+“治” 说明: 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递归拆分子序列的过程。 (2)思想示意原创 2022-05-14 22:59:39 · 235 阅读 · 0 评论