排序算法思想描述

排序算法思想描述

---qpz

一、直接选择排序法

a) 核心思想:在无序区间寻找最值与无序区间首元素交换

          遍历所有元素排序

1. 记录无序区间第一个元素位置

2. 向后遍历所有元素寻找最值位置(寻找最大值还是最小值取决于降序还是升序)

3. 遍历结束以后找到最值,交换与记录点的位置,记录点向后移动一位

4. 重复123过程直到所有元素遍历完成

       时间复杂度为On^2) 空间复杂度为O1

 

二、直接插入排序法

a) 核心思想:不断的从无序区间取值插入有序区间使得有序区间依然有序

i. 区第一个元素为有序区间

ii. 取无序区间第一个元素,保存元素值

iii. 将次元素值从后向前与有序区间元素比较(大还是小取决于降序还是升序)

iv. 每次比较开始前将有序区间元素后移

v. 直到找到插入点,将元素插入

vi. 重复2-5步骤直到无序空间为空

b) 时间复杂度为On^2) 空间复杂度为O1

三、冒泡排序法

a) 核心思想:遍历n次,每次遍历不断的交换相邻元素直到本次遍历结束没有交换一次或者n次遍历结束

i. 从第一个元素开始向后遍历,比较本次元素与下一个元素的大小为交换条件(大小取决于降序还是升序)

ii. 记录下一个元素重复1,结束条件为区间最后一个元素

iii. 区间长度-1

b) 时间复杂度On^2) 空间复杂度O1);

 

posted @   机智的程序员小熊  阅读(183)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示