排序算法

careathers1 天前
数据结构·算法·排序算法
【数据结构】基于比较的排序算法 - 选择排序排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减地排列起来的操作。而对于一个排序算法 而言,我们通常会从以下三个方面分析其性能:
云-缩影1 天前
java·算法·排序算法
实际项目中怎么选排序算法:从面试题到工程落地面试考排序算法是一回事,实际项目里用哪种是另一回事。很多人背完冒泡快排就完事了,但真到写代码的时候,Arrays.sort() 和 Collections.sort() 就够用了——那为什么还要学排序?因为理解了底层,才能在特殊场景做出正确选型。
旖旎夜光2 天前
c++·学习·算法·leetcode·排序算法
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解🔥 愿旖旎 · 个人主页📘 学习专栏: 《算法专栏》《LangChain学习》《贪心算法》🌄 钱塘江上潮信来,今日方知我是我
旖旎夜光3 天前
c++·学习·算法·leetcode·排序算法
LCR 170:交易逆序对的总数(归并排序) —— 题解🔥 愿旖旎 · 个人主页📘 学习专栏: 《算法专栏》《LangChain学习》《贪心算法》🌄 钱塘江上潮信来,今日方知我是我
揽星河..4 天前
数据结构·排序算法·1024程序员节
【初阶数据结构】常见的排序算法摘要:本文系统梳理八种常见排序算法——直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序、快速排序、归并排序与计数排序。全文按「插入、选择、交换、归并、非比较」五条路线展开,逐一讲清每种算法的核心思想、C 语言实现、复杂度与稳定性,并重点剖析快速排序的三种划分写法、退化原因与优化手段。最后用一张总表对比时间、空间与稳定性,给出工程选型建议,并附上 11 个版本的完整测试代码与 10 万随机整数的实测数据,帮助读者从「会写代码」进阶到「会选算法」。
若亦_4 天前
数据结构·算法·排序算法
排序>>选择排序目录一、直接选择排序1)直接选择排序的优化二、堆排序(从小到大排序)本文详细讲解了选择排序,有需求的伙伴可以观看。
careathers5 天前
java·数据结构·排序算法
【数据结构】基于比较的排序算法 - 插入排序排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减地排列起来的操作。而对于一个排序算法而言,我们通常会从以下三个方面分析其性能:
suhan6 天前
数据结构·算法·排序算法
【数据结构】七、查找:1.查找的概念、线性结构查找(顺序、折半(二分)、插值、稠密、分块、倒排)@[toc]查找(Searching):就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素( 或记录)。
ZhengEnCi6 天前
python·算法·排序算法
一亿条数据取前100条完全指南:从全量排序到分块流式最小堆的4种解法实测全文摘要:一亿条数据取前 100,最快的不是排序,是最小堆和划分。我在这台 16 核 31.7 GB 的机器上把四种解法全跑了一遍:分块流式最小堆峰值只吃 46 MB、耗时 0.43 秒,全量排序吃 382 MB、耗时 0.74 秒,纯 Python 堆则要 10.45 秒。结论是内存够就用 partition,内存紧就用分块,别再写 sorted(data)[-100:]。
ZhengEnCi6 天前
分布式·算法·排序算法
内存装不下怎么取 Top 100:外部排序与分布式 Top-K 的实测取舍全文摘要:取 Top-K 的瓶颈从来不是算法,是数据搬运。我把一亿条数据的外部排序实测跑了遍:阶段一生成 25 个 run 花 1.65 秒、写盘 381 MB,阶段二倒序多路归并只花 0.0001 秒、读 6.2 MB 就拿到前 100。结论是外部排序的成本几乎全在写盘,它卖的是「全序」;你只要前 100,就别为用不上的有序性付钱。
Suprman9 天前
算法·数学建模·排序算法·排版套料
平面排版问题的数学建模与算法设计如果你上过《组合数学》或《运筹学》课程,一定听过装箱问题(Bin Packing Problem):给定若干个物品,如何把它们放进最少数量的箱子里?
重生之小比特9 天前
数据结构·算法·排序算法
【算法拾光】二分查找|在排序数组中查找元素的第一个和最后一个位置 + 搜索旋转排序数组题目链接:34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)题目:给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。 核心:分别二分查找左边界、右边界。左边界是第一个等于 target 的位置;右边界是最后一个等于 target 的位置。 边界注意:找到边界后,要校验边界是否合法、对应数值是否等于 target,防止 target 不存在。
YukiRinLL9 天前
数据结构·算法·排序算法
查找与排序算法:复杂度、稳定性查找解决关键字定位,排序解决记录重排。算法选择不能只看平均时间复杂度,还要考虑数据是否有序、是否要求稳定、是否允许额外空间以及是否必须保证最坏性能。
suhan10 天前
数据结构·算法·排序算法
【数据结构】六、图:4.图的遍历(深度优先算法DFS、广度优先算法BFS)@[toc]图的遍历是和树的遍历类似,我们希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次, 这一过程就叫做图的遍历(Traversing Graph)。
suhan10 天前
数据结构·算法·排序算法
【数据结构】六、图:3.十字链表、邻接多重表、边集数组@[toc] 十字链表是有向图的一种链式存储结构。对于有向图来说,邻接表是有缺陷的。了解入度就必须要遍历整个图才能知道;反之,逆邻接表解决了入度却不了解出度的情况。
HPtiger10 天前
数据结构·算法·排序算法
交换类排序详解:冒泡排序与快速排序在数据结构的学习中,排序算法是重中之重。前面我们学习了插入排序(直接插入、希尔排序)和选择排序(简单选择、堆排序),它们分别通过"插入"和"选择"的思路完成排序。今天,我们来学习第三大类——交换类排序。
程序员爱钓鱼11 天前
go·排序算法
Go 编程实战:Benchmark——基准测试、testing.B、benchmem、性能对比与代码优化实战上一篇学习了 pprof,掌握了 CPU、内存、Goroutine 和锁竞争的性能分析方法。pprof 主要帮助我们找到性能瓶颈,而 Benchmark(基准测试)则用于衡量代码执行速度、内存分配次数和优化效果。Go 标准库 testing 内置了完善的基准测试功能,无需安装第三方框架,就能对函数、算法和数据结构进行性能测试。本篇通过实际案例,介绍 Benchmark 的编写方法、常用参数、测试结果分析及优化技巧。
Suprman11 天前
javascript·平面·electron·排序算法
从 B/S 到 Electron:平面排版套料系统桌面版开发实战在制造业中,平面排版套料是提高材料利用率、降低生产成本的关键环节。传统的套料系统大多采用 B/S(浏览器 / 服务器)架构,用户通过浏览器访问系统进行排版和生成 NC 代码。
HPtiger15 天前
数据结构·算法·排序算法
数据结构——选择排序上篇博客我们聊了插入排序,那种像打扑克牌一样,把新牌一张张插到合适位置的感觉,相信大家还记忆犹新。今天,我们换个思路,来聊聊另一种同样经典的基础排序算法——选择排序。
丑梨数据15 天前
数据结构·人工智能·算法·决策树·排序算法
信创环境里跑文档工具:格式兼容与本地合规的几个坑最近帮一家政企客户做信创改造,文档这块踩的坑比预想多。写出来给做国产化的同行提个醒:换操作系统只是开始,文档工具能不能在麒麟、统信上"原生跑、跑得合规"才是硬仗。