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

数据结构与算法学习十四:常用排序算法总结和对比

前言 一、排序算法的比较图 二、相关术语解释 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度: 一个算法执行所耗费的时间。 空间复杂度:运行完一个程序所需内...

数据结构与算法学习十四:常用排序算法总结和对比
文章 2024-10-16 来自:开发者社区

数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍

前言 前面的数据结构到了现在可以到一段落了。 从第十章开始就要学习 排序算法了。 排序算法主要学习(按学习顺序来排列、也是难易程度):冒泡排序、简单选择排序、直接插入排序、希尔排序、快速排序、归并排序、基数排序、堆排序等等。 这一节主要是介绍排序的分类、还有衡量算法的优劣的方法时间复杂度,还有常用的时间复杂度等等。 一、排序算法介绍 排序也称 排序算法 (Sort Algorithm...

数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍
文章 2024-06-25 来自:开发者社区

​【数据结构与算法】冒泡排序:简单易懂的排序算法解析

一、引言 排序算法的简介 排序算法是计算机程序设计中的一种重要操作,其功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。 二、冒泡排序原理 基本思想: 通过重复地遍历待排序的序列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历序列的工作是重复地进行直到没有再需要交换,也就是说该序列已经...

​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
文章 2024-01-17 来自:开发者社区

数据结构与算法面试:基于比较的排序算法时间复杂度最坏情况下是 O(nlogn),请问有没有更快的算法?(提示:计数排序、基数排序)

数据结构与算法面试:基于比较的排序算法时间复杂度最坏情况下是 O(nlogn),请问有没有更快的算法?(提示:计数排序、基数排序)简介:基于比较的排序算法时间复杂度最坏情况下是 O(nlogn),请问有没有更快的算法?(提示:计数排序、基数排序)基数排序是一种时间复杂度O(nlogn)的排序算法,其中d是数组a中最大数字的位数。如果数字长度d较小,那么基数排序要比比较排序更快。基数排序的实现思路....

文章 2023-09-23 来自:开发者社区

【数据结构与算法篇】手撕八大排序算法之快排的非递归实现及递归版本优化(三路划分)

内容专栏: 《数据结构与算法篇》本文概括: 利用数据结构栈(Stack)来模拟递归,实现快排的非递归版本;递归版本测试OJ题时,有大量重复元素样例不能通过,导致性能下降,优化快速排序通过将数组划分为三个区域,可以更有效地处理重复元素。本文作者: 阿四啊发布时间:2023.8.28快速排序(非递归)1.为什么要学习非递归版本?前面我们使用了三个版本实现快速排序,但都是属于递归类型算法,函数调用会建....

【数据结构与算法篇】手撕八大排序算法之快排的非递归实现及递归版本优化(三路划分)
文章 2023-09-23 来自:开发者社区

【数据结构与算法篇】手撕八大排序算法之交换排序

内容专栏: 《数据结构与算法篇》本文概括:常见交换排序包括冒泡排序与快速排序,本篇讲述冒泡排序与快速排序的思想及实现、复杂度分析。本文作者: 花 蝶发布时间:2023.8.27一、冒泡排序基本思想冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是通过两两交换相邻元素的位置,使得较大(或较小)的元素逐步“冒泡”到数组的一端(顶部或底部),重复“冒泡”的过程,直到序列没有要交换的元....

【数据结构与算法篇】手撕八大排序算法之交换排序
文章 2023-09-23 来自:开发者社区

【数据结构与算法篇】 手撕八大排序算法之选择排序

内容专栏: 《数据结构与算法篇》本文概括:选择排序包括直接选择排序与堆排序,本篇讲述直接选择排序与堆排序的思想及实现、复杂度及稳定性的分析。本文作者: 花 蝶发布时间:2023.8.27一、直接选择排序基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。若将以上思想拆分成若干步骤,如下:在元素集合array[i]–array[n-....

【数据结构与算法篇】 手撕八大排序算法之选择排序
文章 2023-09-23 来自:开发者社区

【数据结构与算法篇】手撕排序算法之插入排序与希尔排序

内容专栏:《数据结构与算法篇》本文概括: 讲述排序的概念、直接插入排序、希尔排序、插入排序和希尔排序的区别。本文作者:花 碟发布时间:2023.6.13一、排序的概念及其运用1.1 排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原....

【数据结构与算法篇】手撕排序算法之插入排序与希尔排序
文章 2023-05-16 来自:开发者社区

数据结构与算法(七):排序算法

排序算法是《数据结构与算法》中最基本的算法之一,排序算法可以分为内部和外部排序。内部排序:数据记录在内存中进行排序。外部排序:因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见排序算法:插入排序、希尔排序、选择排序、冒泡排序、快速排序、堆排序、基数排序等。说明:由于对对象元素进行排序需要实现Comparable接口,这里为了实现简单,方便测试,仅对整数进行排序(即排序的....

数据结构与算法(七):排序算法
文章 2023-04-25 来自:开发者社区

数据结构与算法复习(一) 排序算法

前言这篇文章将会介绍常见的排序算法(使用 C++ 实现)正文1、冒泡排序将数组分为有序区(左边)和无序区(右边),在初始化时有序区为空,无序区包含数组所有元素每次从无序区的最后一个元素开始,一直向前冒泡到无序区的第一个位置,使其变成有序template<typename E> void swap(E A[], int i, int j) { E temp = A[i]; ...

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

友盟+

友盟+,国内领先的第三方全域数据智能服务商。以“数据智能,驱动业务增长”为使命,基于卓越的技术与算法能力,结合实时更新的全域数据资源,覆盖191个行业分类、输出300+应用或行业的分析指标,通过AI赋能的一站式互联网数据产品与服务体系,帮助企业实现深度用户洞察、实时业务决策和持续业务增长。 截至2019年6月已累计为180万移动应用和815万家网站提供近九年的专业数据服务典型客户包括:中国移动、CCTV、人民日报客户端、今日头条、飞常准、喜马拉雅、唱吧、美拍、斗鱼、智慧树等。

+关注