摘要:
选择排序(Selection Sort) 一、算法思想 选择排序的策略比冒泡排序更"果断":每一轮从未排序区域中选出最小的元素,直接放到已排序区域的末尾。 冒泡排序是"边走边换",每对相邻元素都可能触发交换;选择排序是"先看后选",一轮只在最后做一次交换。 以 [5, 3, 8, 1, 2] 为例: 阅读全文
posted @ 2026-07-28 11:14
FfHUCisI
阅读(8)
评论(0)
推荐(0)
摘要:
冒泡排序(Bubble Sort) 一、算法思想 冒泡排序的核心思想非常朴素:相邻元素两两比较,如果前一个比后一个大就交换它们。每一轮"冒泡"都会把当前未排序部分的最大值"浮"到最右端——就像气泡从水底往上冒一样,这就是名称的由来。 以 [5, 3, 8, 1, 2] 为例,第一轮冒泡的过程: [5 阅读全文
posted @ 2026-07-28 11:14
FfHUCisI
阅读(17)
评论(0)
推荐(0)
摘要:
约瑟夫环问题(Josephus Problem) 一、问题描述 约瑟夫环是一个经典的数学与计算机科学问题。其情景如下: N 个人围成一圈,编号 1~N。从编号 1 开始报数,报到 M 的人出列;下一位从 1 重新开始报数,再报到 M 的人出列……如此循环,直到只剩最后一人。求最后幸存者的原始编号。 阅读全文
posted @ 2026-07-28 11:13
FfHUCisI
阅读(11)
评论(0)
推荐(0)
摘要:
循环链表(Circular Linked List) 一、什么是循环链表 循环链表是一种特殊的单链表,其尾节点的 Next 指针不指向 nil,而是回指到头节点,从而形成一个闭合的环。 普通单链表的遍历走到尾节点就结束了(node.Next == nil),而循环链表没有天然的"终点"——如果你不停 阅读全文
posted @ 2026-07-28 11:13
FfHUCisI
阅读(77)
评论(0)
推荐(0)
摘要:
大O表示法与算法复杂度分析 一、为什么需要复杂度分析 当我们面对同一个问题有多种算法可选时,如何判断哪个更"好"?最直觉的方式是写代码、运行、计时比较——但这种方式有严重缺陷: 硬件差异:同一算法在不同机器上运行时间完全不同 数据规模依赖:小数据看不出差异,大数据才暴露瓶颈 语言/编译器影响:Go 阅读全文
posted @ 2026-07-28 11:12
FfHUCisI
阅读(28)
评论(0)
推荐(0)

浙公网安备 33010602011771号