![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础排序
文章平均质量分 80
五点钟科技
机器学习、深度学习、自然语言处理、PLC、哲学、国学、音乐、书法……
展开
-
【一起来刷题】基础排序问题之堆排序算法---手把手一步步图示剖析讲解,非常详细!一目了然,通俗易懂!
持续更新中……更多精彩文章,欢迎大家关注我,一起学习,一起进步~堆排序是基础排序问题中要介绍的最后一个十分重要的排序算法。在学习堆排序算法之前,需要明确几个基本概念:完全二叉树、大根堆,以及3个公式(见下文)。完全二叉树是在一棵树中,每一层并列的节点排列顺序必须是从左往右不留空的排列,如下图,左边是完全二叉树,右边不是:【拓展】如果每一层节点都排满了,那么它就是一个满二叉树:所以,满二叉树是一种特殊的完全二叉树。在一棵完全二叉树中,以任意节点为头结点的树中,头结点的值最大,称为大根堆。原创 2022-11-17 12:31:00 · 1182 阅读 · 1 评论 -
【一起来刷题】基础排序问题之归并排序,链表操作问题之合并K个升序链表
持续更新中……更多精彩文章,欢迎大家关注我,一起学习,一起进步~本文介绍一下另一个重要的排序算法:归并排序。原创 2022-11-02 11:40:37 · 352 阅读 · 0 评论 -
【一起来刷题】基础排序问题之快速排序算法
随机快排的大概思路,是在一组数中,随机选取一个数,记为X,然后从数组两头遍历,把数组中大于X的数放右边,小于X的数放左边,等于X的数放中间,按照这个步骤(称为partition过程),就能把所有小于X的数移到左边,大于X的数移到右边,等于X的数移到中间。当partition结束后,我们分别将47左边的数组和右边的数组再重复一遍上述过程,注意这个子过程的pivot值不一定是47,因为每次partition我们的pivot取值为当前数组left和right位置的中间位置的数。快速排序分为基础快排和随机快排。原创 2022-10-31 15:58:44 · 155 阅读 · 0 评论 -
【一起来刷题】基础排序问题之选择排序、冒泡排序、插入排序
最近准备新开一个有关数据结构算法的专栏。讲一讲LeetCode中常见题型的解题方法。对于刷题这种事,我想说,真的百说不如一练,所以原理上大家一遍两遍没弄懂没关系,真的需要多刷题才能其义自见。而且很多时候,解题思路如果被你深刻体会到了之后,往往难以用语言进行二次转述,就是那种贱贱的感觉,反正挺玄学的。就我过来经验,除非一些非常简单的题,稍微难一点的题,对于初次刷题的小伙伴来说,一道题耗费3天都不为过,当然我说的是正常作息条件下。一道题做了四五遍,基本上才能够心领神会,不会很快忘记。原创 2022-10-27 10:02:21 · 514 阅读 · 0 评论