
算法通关村
文章平均质量分 95
Ava_J
编程一年级小学生
展开
-
【算法通关村 Day9】二分查找与二叉树的中序遍历
二分查找(Binary Search)是一种在已排序的数组中查找某个特定元素的算法。通过每次将查找范围缩小一半来提高查找效率,时间复杂度为 O(log n)。原创 2025-02-23 13:33:16 · 779 阅读 · 0 评论 -
【算法通关村 Day8】二叉树的深度优先经典问题
给你一个二叉树的根节点root,按,返回所有从根节点到叶子节点的路径。是指没有子节点的节点。这个问题要求我们找到二叉树中所有从根节点到叶子节点的路径。可以使用深度优先搜索(DFS)来遍历树,并在到达叶子节点时将路径添加到结果中。result每个节点访问一次,因此时间复杂度为 O(n),其中 n 是树中节点的个数。最坏情况下,递归栈的深度为树的高度,空间复杂度为 O(h),其中 h 是树的高度。对于平衡树,h ≈ log(n),对于不平衡树,h ≈ n。原创 2025-02-22 14:48:43 · 696 阅读 · 0 评论 -
【算法通关村 Day7】递归与二叉树遍历
int val;递归实现的核心在于每次对树的左右子树进行递归操作,递归的终止条件是节点为空。当节点不为空时,根据遍历顺序访问当前节点的值。1/ \2 3/ \4 5// 创建二叉树1 2 4 5 34 2 5 1 34 5 2 3 1。原创 2025-02-21 15:36:07 · 897 阅读 · 0 评论 -
【算法通关村 Day6】二叉树层次遍历
通过中序和后序遍历序列恢复二叉树是一个经典的二叉树构建问题。给定二叉树的中序遍历序列和后序遍历序列,我们可以利用以下步骤进行恢复。:后序遍历的最后一个元素是3,所以树的根节点是3。:在中序遍历数组中,3位于索引位置1{9}33{9}920{15}{15}15{7}{7}7。原创 2025-02-20 13:52:08 · 1348 阅读 · 0 评论 -
【算法通关村 Day5】Hash和队列的经典问题
哈希存储是通过哈希函数将数据映射到固定大小的数组(或桶)中,使得查找和插入操作的时间复杂度接近O(1)。哈希冲突是指两个或更多的键经过哈希计算后,得到相同的哈希值,导致它们被存储在相同的位置。原创 2025-02-19 15:32:12 · 1018 阅读 · 0 评论 -
【算法通关村 Day4】栈的基本操作及栈的应用
栈(Stack)是一种线性数据结构,遵循“后进先出”(LIFO, Last In First Out)原则。也就是说,最后插入的元素最先被移除。栈(Stack)可以通过不同的存储结构来实现,主要包括和两种方式。以下是这两种实现方式的基本操作及 Java 代码示例。原创 2025-02-18 15:54:07 · 606 阅读 · 0 评论 -
【算法通关村 Day3】数组与双指针
new这种方法是在声明时指定数组的大小,数组的元素将被初始化为默认值(对于整型数组,默认值是0这种方法不需要先声明数组的大小,而是直接给出元素值,数组的长度会根据元素个数自动推断。如果你已有一个数组,可以通过等方法来创建新数组并初始化。原创 2025-02-17 17:50:22 · 918 阅读 · 0 评论 -
【算法通关村 Day2】反转链表
方式二 迭代法(使用 3 个指针) :保存当前节点的 ,这样我们在修改 时,不会丢失对下一个节点的引用。 :将当前节点的 指向前一个节点 ,这样就完成了当前节点的反转。 :将 更新为当前节点,为下一次反转做准备。 :将 移动到下一个节点,继续进行反转。 prev 最终是新的头节点迭代法通过三个指针来逐步反转链表,时间复杂度为 O(n),空间复杂度为 O(1),只用了常数的额外空间。递归终止条件:如果链表为空()或者只有一个节点(),递归就结束,直接返回当前节点 作为新链表的原创 2025-02-16 15:05:30 · 664 阅读 · 0 评论 -
【算法通关村 Day1】链表的增删改查及链表中双指针法应用
链表(Linked List)是一种常用的数据结构,它由一系列。原创 2025-02-15 18:35:44 · 820 阅读 · 0 评论