算法篇-二叉树

二叉树的遍历

分为前序、中序和后续的遍历,思想就是利用递归。

前序遍历-中左右

代码:

java 复制代码
    public void travelTree(TreeNode node, List<Integer> resulst) {
        if (node == null){
            return;
        }
		
		// 中
        resulst.add(node.val);
        // 左
        travelTree(node.left, resulst);
        // 右
        travelTree(node.right, resulst);
    }

中序遍历-左中右

代码:

java 复制代码
public void travelTree(TreeNode node, List<Integer> resulst) {
        if (node == null) {
            return;
        }
		// 左
        travelTree(node.left, resulst);
        // 中
        resulst.add(node.val);
        // 右
        travelTree(node.right, resulst);
    }

后序遍历-左右中

代码:

java 复制代码
public void travelTree(TreeNode node, List<Integer> resulst) {
        if (node == null) {
            return;
        }
		// 左
        travelTree(node.left, resulst);
        // 右
        travelTree(node.right, resulst);
        // 中
        resulst.add(node.val);
    }

层序遍历

就是一层一层往下遍历就行了。

题目:求一个二叉查找树(BST)的第K大的数

什么是二叉查找树(BST):BST树的特性如下:

解题思路:根据树的特性,对树进行中序遍历,最后取第k大的数即可。

相关推荐
Drifter_yh2 小时前
【黑马点评】Redisson 分布式锁核心原理剖析
java·数据库·redis·分布式·spring·缓存
莫寒清3 小时前
Spring MVC:@RequestParam 注解详解
java·spring·mvc
没有医保李先生4 小时前
字节对齐的总结
java·开发语言
蚊子码农4 小时前
算法题解记录--239滑动窗口最大值
数据结构·算法
liliangcsdn4 小时前
A3C算法从目标函数到梯度策略的探索
算法
陈天伟教授5 小时前
人工智能应用- 材料微观:06.GAN 三维重构
人工智能·神经网络·算法·机器学习·重构·推荐算法
liliangcsdn5 小时前
A3C强化学习算法的探索和学习
算法
甲枫叶5 小时前
【claude】Claude Code正式引入Git Worktree原生支持:Agent全面实现并行独立工作
java·人工智能·git·python·ai编程
Figo_Cheung6 小时前
Figo《量子几何学:从希尔伯特空间到全息时空的统一理论体系》(二)
算法·机器学习·几何学·量子计算
额,不知道写啥。6 小时前
HAO的线段树(中(上))
数据结构·c++·算法