首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
rd_wang
创建于2024-08-12
订阅专栏
算法分析
暂无订阅
共14篇文章
创建于2024-08-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
排序算法总述
排序算法(sorting algorithm)用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理。 排序算法中的数据类型可以是整数、浮点数、字符
选择排序
选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元
插入排序
插入排序(Insertion Sort)是一种简单直观的排序算法。它通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 工作原理 从第一个元素开始,该元素可以
冒泡排序
冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地遍历要排序的列表,比较相邻的元素并按需要交换它们的位置,直到整个列表按照升序(或降序)排列。 工作原理 比较相邻的元素。如
归并排序
归并排序(Merge Sort)是一种基于分治法(Divide and Conquer)的有效排序算法。它将一个列表分成较小的子列表,对每个子列表进行排序,然后合并这些子列表以产生一个有序列
折半插入排序
折半插入排序(Binary Insertion Sort)是插入排序的一种改进版本。它在插入每个元素时使用二分查找(Binary Search)来找到插入位置,从而减少比较次数。 工作原
希尔排序
希尔排序(Shell Sort)是一种基于插入排序的排序算法,通过优化插入排序中的比较和移动操作,实现更高效的排序。希尔排序通过将数组分成若干子序列分别进行插入排序,使得数据项的步长逐渐减少
快速排序
快速排序(Quick Sort)是一种高效的排序算法,采用分治法策略,通过选择一个基准(pivot),将数组划分为两部分,然后递归地对两部分分别进行排序。快速排序有很多不同的版本,它们以不同
堆排序
堆排序(Heap Sort)是一种基于堆的排序算法,具有较高的效率和稳定性。堆排序利用堆这种完全二叉树的数据结构进行排序,常用的是大顶堆(最大堆)来实现升序排序。本文将详细介绍堆排序的原理、步
基数排序
基数排序(Radix Sort)是一种非比较型整数排序算法。它通过将整数按位数分组排序,从最低有效位到最高有效位,或者从最高有效位到最低有效位,依次进行排序,从而实现最终的排序结果。 基数排
桶排序
桶排序(Bucket Sort)是一种基于分配的排序算法。它将元素分散到不同的桶中,然后对每个桶分别进行排序,最后将桶中的元素合并起来。 桶排序的原理 桶排序适用于均匀分布在一定范围内的数值。
计数排序
计数排序(Counting Sort)是一种线性时间复杂度的排序算法。它适用于排序一定范围内的整数,特别是当范围不大时,表现非常高效。 计数排序的原理 计数排序的主要思想是通过统计每个元素的
鸡尾酒排序
鸡尾酒排序(Cocktail Shaker Sort)是一种双向冒泡排序算法。它通过双向遍历数组,每次在两端交换元素,从而使得大值和小值可以同时移动到正确的位置。鸡尾酒排序比普通的冒泡排序
梳排序
梳排序(Comb Sort)是一种改进的冒泡排序算法。它通过消除“乌龟”(即数组中的小值)和“兔子”(即数组中的大值)来提高排序效率。梳排序的核心思想是先使用较大的间隙(gap)进行比较和交换