文章 2024-10-16 来自:开发者社区

数据结构与算法学习十二:希尔排序、快速排序(递归、好理解)、归并排序(递归、难理解)

前言 上节的三个排序算法:冒泡、选择、插入,较为简单,好理解,使用比较、交换的思想。但也都是基础。 这节的三个排序算法:希尔、快速【看注释比较容易理解思路】、归并,难理解,使用递归的思想。 这三个是难点,但也是重点。加油 一、希尔排序 1.1 简单插入排序存在的问题 我们看简单的插入排序可能存在的问题.数组 arr = {2,3,4,5,6,1} 这时需要插入的数 1(最小), 这样的...

数据结构与算法学习十二:希尔排序、快速排序(递归、好理解)、归并排序(递归、难理解)
文章 2024-10-12 来自:开发者社区

【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析

前言:        接上篇,排序算法除了选择排序(希尔排序)和插入排序(堆排序)之外,还用交换排序(冒泡排序、快速排序)和归并排序已经非比较排序,本篇来深层解析这些排序算法 一、交换排序        1.1、冒泡排序      ...

【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
文章 2024-06-24 来自:开发者社区

【C/排序算法】:快速排序和归并排序的非递归实现

1. 递归实现的缺陷 在以前的文章中我们把快速排序和归并排序的递归实现方式进行了介绍,但是在校招面试和在企业的日常开发过程中,仅掌握递归方法是不够的,因为递归也有它的缺陷。 我们知道在函数调用过程中会在内存中建立栈帧,栈帧的建立是会消耗空间的。而递归最致命的缺陷就是:在极端情况下,当栈帧的深度太深时,栈空间不够用,就会导致栈溢出! 1.1 栈溢出的例子 可以举一个...

【C/排序算法】:快速排序和归并排序的非递归实现
文章 2024-05-21 来自:开发者社区

【算法基础】基础算法(一)--(快速排序、归并排序、二分)

一、快速排序 1、快速排序算法模板 记忆! void quick_sort(int q[], int l, int r) { //递归的终止情况 if (l >...

文章 2024-03-28 来自:开发者社区

【数据结构与算法】:非递归实现快速排序、归并排序

1.非递归实现快速排序 快速排序的非递归实现主要依赖于栈(stack)来模拟递归过程中的函数调用栈。递归版本的快速排序通过递归调用自身来处理子数组,而非递归版本则通过手动管理一个栈来跟踪接下来需要排序的子数组的边界 那么怎样通过栈来实现排序的过程呢? 思路如下: 使用栈实现快速排序是对递归版本的模拟。在递归的快速排序中,函数调用栈隐式...

【数据结构与算法】:非递归实现快速排序、归并排序
文章 2023-12-20 来自:开发者社区

Python 数据结构和算法:如何实现快速排序和归并排序?

在Python中,你可以实现快速排序和归并排序这两种经典的排序算法。下面是它们的基本实现: 快速排序 (Quick Sort): def quick_sort(arr): if len(arr) <= 1: return arr else: pivot = arr[0] less &...

文章 2023-12-08 来自:开发者社区

【算法训练-排序算法 一】【手撕排序】快速排序、堆排序、归并排序

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【手撕排序系列】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为:目标公司+最近一年+出现频率排序,由高到低的去牛客TOP101去找,只有两个地方都出现过才做这道题(CodeTop本身汇聚了LeetCode的来源),确保刷的题都是高频要面试考的题。手撕排序系列共3道常考题,分....

【算法训练-排序算法 一】【手撕排序】快速排序、堆排序、归并排序
文章 2023-12-06 来自:开发者社区

java排序算法:快速排序、归并排序、堆排序等

Java中的快速排序(QuickSort)、归并排序(Merge Sort)和堆排序(Heap Sort)是三种常用的排序算法,它们各有优缺点。以下是这些排序算法的简单介绍以及在Java中实现的示例。 快速排序 快速排序是一种基于分治策略的排序算法。它选择一个基准元素,将数组分为两部分...

文章 2023-10-31 来自:开发者社区

常用排序算法:快速排序、归并排序与堆排序

I. 引言1.1 排序的重要性排序是计算机科学中的基础概念,无论是数据库查询,还是搜索引擎的网页排序,甚至日常生活中的待办事项排序,它们都离不开排序。排序的目的是将一组无序的数据按照某种规则(如大小、优先级等)排列成有序的序列,从而方便我们更有效地处理和使用数据。1.2 排序算法的评价指标评价一个排序算法的好坏,我们通常会考虑以下几个指标:时间复杂度、空间复杂度、稳定性和原地性。时间复杂度表示排....

文章 2023-10-13 来自:开发者社区

重点算法排序之快速排序、归并排序(上篇)

一、排序的概念及常见的排序算法  排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。  在排序中我们还经常讨论这个排序是否稳定?那到底怎么来判断一个潘旭是否稳定呢?我们先看一下排序稳定的概念。  稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]....

重点算法排序之快速排序、归并排序(上篇)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

智能引擎技术

AI Online Serving,阿里巴巴集团搜推广算法与工程技术的大本营,大数据深度学习时代的创新主场。

+关注