摘要1. 快速排序其实也是分而治之的思想2. 快速排序是递归的3. 首先找一个基准点,把比基准点小的数字都放到它的左边,比它大的数字都放在它的右边,一趟下来基准点的位置找到了,且它左边的数字小于(等于)它,右边的数字大于(等于)它。 再递归地对它左边的数字和右边的数字做同样的操作,直到递归结束则整个数组有序。 一般的实现需要两个指针,low初始指向需要排序的数据的头部,high指向需要排
转载 2023-05-29 13:39:09
99阅读
## 堆排序 ### 简介 堆排序是一种基于二叉堆数据结构的排序算法,具有稳定性和不适用额外空间的特点。它的核心思想是将待排序的序列构建成一个大顶堆或小顶堆,然后逐步将堆顶元素与最后一个元素交换,并对剩余元素进行调整,直到整个序列有序。 ### 实现步骤 1. 构建堆:根据待排序序列构建一个大顶堆或小顶堆。 2. 排序:将堆顶元素与最后一个元素交换,然后对剩余元素进行调整。 3. 重复
原创 2023-07-31 23:00:51
53阅读
在面试或技术讨论中,"Java 快速排序" 这个问题通常被提及。快速排序是一种高效的排序算法,它广泛应用于各种数据处理场景。本文将逐步展开关于快速排序的分析,涵盖其背景、核心性能指标、特性拆解、实战对比、选型指南和生态扩展。 ### 背景定位 在计算机科学中,排序算法的高效性直接影响数据处理的性能。快速排序相关内容的普遍定义可归结为:“快速排序通过分治法将数据集分成较小的子集,然后递归地对
原创 6月前
11阅读
排序算法第五篇:堆排序!从本篇文章开始,我会介绍并分析常见的几种排序,例如像插入排序,冒泡排序,希尔
原创 2022-12-24 00:46:29
89阅读
归并排序//归并排序--采用分治法,先分后治,递归的解决问题/***分:将大问题拆
原创 2023-05-11 10:26:56
81阅读
[ 数据结构 -- 排序算法第七篇 ] 堆和堆排序
原创 精选 2022-04-24 19:46:54
670阅读
8点赞
2评论
[ 数据结构 -- 排序算法第七篇 ] 堆排序(中) 堆排序的优化算法
推荐 原创 2022-04-25 17:38:18
1390阅读
7点赞
2评论
  引言:许多互联网公司在招聘前端开发人才时,不仅考察面试者对于前端知识的掌握程度,数据结构与算法也渐渐成为了默许的要求。除了考察链表、二叉树、图等数据结构以外,在算法中最具有代表性的就是“”快速排序算法。快速排序算法,对于大多数人而言确实具有一定的难度。排序思路,代码设计以及难以理解的递归思想。本文一步步带你写基于原生JavaScript语言的快速排序算法。思想:快速排序最核心的是分治思想
转载 2020-08-14 17:30:00
604阅读
2评论
前言欢迎大家关注我的数据结构与算法专栏哈!无论是日后面试还是笔试的,排序在数据结构与算法中有着举足轻重的地位,所以还是决定把数据结构这个专题好好写写,多研究研究!今天和大家一起学习交换类排序——冒泡和快排详解!在排序中,冒泡和快排是考察最多的了,当然在实行上面冒泡要相比快排简单很多。理解起来也算得上是最简单的排序算法,而快排的话很多面试笔试都是要求的,所以重要性不言而喻!当然,对于排序算法我当
原创 2021-02-03 21:12:56
293阅读
堆排序与直接选择排序
原创 精选 2023-04-18 19:56:54
348阅读
4点赞
2评论
前言欢迎大家关注我的数据结构与算法专栏哈!无论是日后面试还是笔试的,排序在数据结构与算法中有着举足轻重的地位,所以还是决定把数据结构这个专题好好写写,多研究研究!今天和大家一起学习交换类排序——冒泡和快排详解!在排序中,冒泡和快排是考察最多的了,当然在实行上面冒泡要相比快排简单很多。理解起来也算得上是最简单的排序算法,而快排的话很多面试笔试都是要求的,所以重要性不言而喻!当然,对于排序算法我当
原创 2021-02-03 21:12:13
260阅读
快速排序与冒泡排序
原创 2023-04-23 23:55:01
482阅读
5点赞
4评论
带你一命通关堆的实现; 分分钟堆排序; 单手吊打数据结构!
推荐 原创 2022-04-12 18:45:37
369阅读
带你一命通关堆的实现;分分钟堆排序;单手吊打数据结构!
原创 2022-04-20 18:03:45
129阅读
直接插入排序与希尔排序
原创 精选 2023-04-10 22:59:05
537阅读
5点赞
7评论
插入排序和希尔排序
原创 精选 2023-06-11 22:09:16
191阅读
堆排序解决TopK问题
推荐 原创 2022-04-26 17:42:51
1690阅读
10点赞
5评论
# RPC:用Java实现一个简单的远程过程调用 远程过程调用(Remote Procedure Call,RPC)是一种用于在不同地址空间(通常是不同计算机)上的程序之间进行通信的协议。通过RPC,开发者可以像调用本地方法一样调用远程服务器上的方法。本文将教你如何用Java手动实现一个基本的RPC框架。让我们一步一步来。 ## 整体流程 在实现一个简单的RPC框架之前,我们首先需要了解
原创 7月前
36阅读
原创 lightcity 光城 2019-03-11代码之常用排序算法0.导语本节为代码系列之第一弹,主要来排序算法,主要包括以下几大排序算法:直接插入排序冒泡排序选择排序快速排序希尔排序堆排序归并排序1.直接插入排序【算法思想】每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。【代码实现】# 直接插入排序def insert_sort(arr):  
c++
转载 2021-03-17 15:47:32
230阅读
代码之常用排序算法0.导语本节为代码系列之第一弹,主要来排序算法,主要包括以下几大排序算法:直接插入排序冒泡排序选择排序快速排序希尔排序堆排序归并排序1.直接...
  • 1
  • 2
  • 3
  • 4
  • 5