摘要: 标记整理分为两个步骤 1.标记阶段:与标记-清除算法完全一致。遍历所有可达对象(从 GC Roots 开始),标记它们为“存活”。 2.整理阶段:不再是简单清除垃圾对象,而是将所有存活的对象向内存空间的一端(通常是起始地址或结束地址)移动,紧凑排列。移动完后,边界之外的内存空间全部视为空闲空间,可以 阅读全文
posted @ 2026-01-16 15:49 panda_an 阅读(1) 评论(0) 推荐(0)
摘要: 标记清除算法分为两个阶段: 标记阶段:遍历所有可达对象(从GC Root开始),标记它们为“存活”。 清除阶段:遍历整个堆内存,回收所有未被标记为“存活”的对象占用的空间。 算法步骤详解 暂停应用程序线程 垃圾回收过程通常需要暂停所有应用程序线程,这被称为 “Stop-The-World” 停顿。这 阅读全文
posted @ 2026-01-15 10:13 panda_an 阅读(6) 评论(0) 推荐(0)
摘要: def insertion_sort(arr): for i in range(1, len(arr)): # 取出未排序部分的第一个元素 current = arr[i] # 设定当前元素前一个的坐标 pre_index = i - 1 while pre_index >= 0 and arr[p 阅读全文
posted @ 2026-01-12 15:06 panda_an 阅读(4) 评论(0) 推荐(0)
摘要: 选择排序基本思想是每次从待排序的数据中选择最小(或最大)的元素,放到已排序序列的末尾,直到全部数据排序完成。 def selection(arr): for i in range(len(arr) - 1): # 记录最小数的索引 minIndex = i for j in range(i + 1, 阅读全文
posted @ 2025-12-30 16:09 panda_an 阅读(5) 评论(0) 推荐(0)
摘要: 以下是冒泡排序的python算法: def bubble(arr): for i in range(1, len(arr)): for j in range(0, len(arr) - 1): if arr[j] > arr[j + 1]: # 比较相邻两个元素大小 arr[j + 1], arr[ 阅读全文
posted @ 2025-12-30 15:42 panda_an 阅读(10) 评论(0) 推荐(0)
摘要: 以下是一个完整的 堆排序(Heap Sort) Python实现,包含详细中文注释,适用于升序排序(使用大顶堆): def heapify(arr, n, i): # 当前节点 largest = i # 当前节点左子节点 left = 2 * i + 1 # 当前节点左子节点 right = 2 阅读全文
posted @ 2025-12-29 17:40 panda_an 阅读(5) 评论(0) 推荐(0)