08 2023 档案
发表于 2023-08-30 15:25阅读:51评论:0推荐:0
摘要:### 堆排序是一种基于二叉堆数据结构的排序算法。 >它的主要思想是先将待排序的元素构建成一个最大堆(或最小堆),然后不断取出堆顶元素(最大值或最小值),将其放入已排序的部分。经过所有元素的取出操作,即可得到一个有序的序列。 主要步骤: 1. 构建最大堆(或最小堆):将待排序的元素按照完全二叉树的方
阅读全文 »
发表于 2023-08-29 13:57阅读:10评论:1推荐:0
摘要:### 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 - 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 - 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。 - 你必须在 O(1) 的额外空间
阅读全文 »
发表于 2023-08-29 10:14阅读:36评论:1推荐:0
摘要:**快速排序是一种常见的排序算法,它的基本思想是通过分治的策略将一个大问题拆分为若干个小问题,并通过递归求解这些小问题,最终将整个问题排序完成。** 具体的步骤如下: - 选择一个基准元素,一般选择第一个元素。 - 将序列中小于等于基准元素的元素移动到基准元素的左边,大于基准元素的元素移动到右边。这
阅读全文 »
发表于 2023-08-28 18:09阅读:41评论:0推荐:0
摘要:**冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素,并根据需要交换它们的位置,直到整个列表排序完成为止。** 具体步骤如下: * 从列表的第一个元素开始,比较它与下一个元素的大小。 * 如果当前元素较大,则交换它与下一个元素的位置。 * 继续向列表的下一个元素进行比较,重复上
阅读全文 »
发表于 2023-08-28 17:19阅读:9评论:1推荐:0
摘要:```java /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(in
阅读全文 »