摘要: 选择排序(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)
摘要: 队列(Queue) 一、队列的核心概念 队列是一种先进先出(FIFO, First In First Out)的线性数据结构。就像排队买票——先排队的人先买到票,后到的人排在队尾。 队列有两端: 队尾(Rear/Tail):入队操作(Enqueue)发生的一端 队头(Front/Head):出队操作 阅读全文
posted @ 2026-07-27 09:04 FfHUCisI 阅读(4) 评论(0) 推荐(0)
摘要: 双链表(Doubly Linked List) 一、为什么需要双链表 单链表有一个明显的短板:只能单向遍历。想要从当前节点回退到前驱节点,必须从头重新遍历。这个限制在某些场景下代价很大: LRU 缓存:需要快速将某个节点移到链表头部,必须知道前驱才能摘除它 浏览器前进/后退:需要双向导航 文本编辑器 阅读全文
posted @ 2026-07-27 09:03 FfHUCisI 阅读(10) 评论(0) 推荐(0)
摘要: 单链表(Singly Linked List) 一、什么是单链表 单链表是一种线性数据结构,它通过指针将一系列分散在内存中的节点串联起来。每个节点包含两部分:数据域(存储实际值)和指针域(指向下一个节点的内存地址)。与数组不同,单链表的节点在物理内存中不需要连续存放,这使得它在插入和删除时具有天然优 阅读全文
posted @ 2026-07-27 09:03 FfHUCisI 阅读(9) 评论(0) 推荐(0)
摘要: 栈(Stack) 一、栈的核心概念 栈是一种后进先出(LIFO, Last In First Out)的线性数据结构。可以把它想象成一摞盘子:你只能在顶部放盘子和取盘子,最先放进去的盘子最后才能取出来。 栈只有一端开放(称为栈顶 Top),所有操作都发生在这一端: Push(入栈):将元素放到栈顶 阅读全文
posted @ 2026-07-27 09:02 FfHUCisI 阅读(9) 评论(0) 推荐(0)
摘要: reflect.Value 与动态值操作 一、reflect.Value —— 值的运行时容器 如果说 reflect.Type 描述了"这是什么类型",那 reflect.Value 就回答了"里面存着什么值"。它是反射体系中操作数据的核心工具。 1.1 基本创建与读取 reflect.Value 阅读全文
posted @ 2026-07-27 09:02 FfHUCisI 阅读(2) 评论(0) 推荐(0)