Go
文章平均质量分 74
Lewiis
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
白话基数排序
按数字从低位到高位(或高位到低位)逐轮分桶排序,逐位规整后整体有序。也就是把数字拆开一位一位看,先排右边个位,再排中间十位,接着排左边百位…… 从右往左一轮轮分桶整理。原创 2026-06-12 11:23:21 · 226 阅读 · 0 评论 -
白话桶排序
确定数组元素的最大值和最小值,根据元素个数创建同样数量的桶,每个桶代表一个区间,依次把数装入桶,分别对桶内元素单独排序,最后按桶的顺序依次取出所有元素,完成排序。原创 2026-06-11 17:19:49 · 201 阅读 · 0 评论 -
白话计数排序
确定数组元素的最大值和最小值,统计范围内每个数值出现的次数,再按数值从小到大依次回填数组。原创 2026-06-09 14:11:39 · 213 阅读 · 0 评论 -
白话堆排序
建堆,就是把数组改造成父子树,父节点永远大于子节点;堆顶是最大值,丢去末尾;剩下再重构堆,反复拿最大值丢去末尾。原创 2026-06-04 15:47:51 · 202 阅读 · 0 评论 -
白话归并排序
分分合合的排序算法原创 2026-06-03 09:57:33 · 218 阅读 · 0 评论 -
白话快速排序
一个基准值,左右分治。默认指定首个元素为基准值,小于基准值放左边,大于基准值放右边;指定左边的元素第一个为基准值,小于基准值放左边,大于基准值放右边;指定右边的元素第一个为基准值,小于基准值放左边,大于基准值放右边;不断递归拆分,直到数组有序。原创 2026-06-02 10:30:04 · 235 阅读 · 0 评论 -
白话插入排序
将元素分为有序区(初始为第一个元素)和无序区,取无序区第一个元素和有序区元素依次比较,比这个元素大的往后稍,直到找到小于等于它的位置,然后把这个元素插进去。原创 2026-06-01 16:18:19 · 167 阅读 · 0 评论 -
白话选择排序
选择排序是一种简单直观的排序算法。其核心思想是:每次从未排序部分找出最小元素,与未排序部分的第一个元素交换位置。具体步骤为:1)假设第一个元素最小;2)在剩余元素中寻找最小值并与第一个元素交换;3)重复该过程直到所有元素有序。示例中数组[3,1,4,2]经过三轮比较交换后变为[1,2,3,4]。算法通过双重循环实现,时间复杂度为O(n²),空间复杂度为O(1),适合小规模数据排序。原创 2026-05-28 11:38:43 · 41 阅读 · 0 评论 -
白话冒泡排序
冒泡排序像水里气泡往上浮一样,大的数字慢慢往后挪 。从头开始,相邻两个数两两对比,谁大就往后换位置,一轮下来,最大的数自动跑到最后面。原创 2026-05-21 10:47:38 · 54 阅读 · 0 评论 -
趣谈排序算法
这篇文章用幽默风趣的语言对比了常见排序算法的特点。内部排序中,快速排序是性能王者,归并和堆排序紧随其后,而冒泡排序则是"新手入门专属"。外部排序主要采用归并类方法处理大数据,配合置换选择排序提高效率。文章还特别提到计数/桶/基数排序在特定场景下的"开挂"表现。全文通过拟人化的方式,让读者轻松理解不同排序算法的适用场景和性能差异,最后用"搞笑实力排位"的形式对各算法进行了趣味排名。原创 2026-04-30 09:32:56 · 365 阅读 · 0 评论 -
Go语言的错误处理机制
本文详细介绍了Go语言的错误处理机制,重点分析了recover和panic的使用方法。recover只能在defer函数中捕获异常,通过延迟执行来修改返回值并阻止程序崩溃。panic会立即终止当前执行流程,若未recover则导致程序崩溃。文章通过代码示例展示了两种机制的实际应用场景,并给出了最佳实践建议:业务逻辑优先使用error处理,panic仅用于极端情况;recover应在顶层函数中谨慎使用,避免隐藏问题;捕获panic后需记录完整日志以便排查。最后强调不应滥用panic替代error处理常规错误。原创 2026-03-21 22:52:10 · 407 阅读 · 0 评论
分享