jsp网站开发期末大作业网站设计app

张小明 2026/1/5 15:03:36
jsp网站开发期末大作业,网站设计app,wordpress 调用时间,高端做网站公司哪家好二分搜索树#xff08;BST#xff09;是一种有序的二叉树#xff0c;也是数据结构中最常用的树形结构之一#xff0c;其核心特性是 “左小右大”#xff0c;这使得它的查找、插入、删除操作的平均时间复杂度可达 \(O(\log n)\)#xff08;最坏为 \(O(n)\)#xff0c;退化…二分搜索树BST是一种有序的二叉树也是数据结构中最常用的树形结构之一其核心特性是 “左小右大”这使得它的查找、插入、删除操作的平均时间复杂度可达 \(O(\log n)\)最坏为 \(O(n)\)退化为链表是高效的动态查找 / 排序数据结构。一、定义一棵二叉树满足以下条件则称为二分搜索树对于任意节点 node其左子树中的所有节点值都 小于 node.val其右子树中的所有节点值都 大于 node.val左、右子树本身也必须是二分搜索树递归定义。可选若需支持重复值可约定左子树 ≤ 当前节点 ≤ 右子树本文默认无重复值。二、BST特性1中序遍历结果有序对 BST 进行中序遍历左→根→右会得到一个升序排列的序列核心特性常用于验证 BST、排序、找前驱 / 后继节点2查找 / 插入 / 删除的高效性每次操作可排除一半子树类似二分查找3无唯一形态同一组数据可构造不同的 BST如插入顺序不同极端情况下会退化为单链表如按升序插入 1,2,3,4,5。三、BST性能特征四、应用场景1动态查找 / 排序支持高效的插入、删除、查找且中序遍历可直接得到有序序列2集合 / 映射实现如 Java TreeSet/TreeMap、C set/map底层为红黑树属于平衡 BST3范围查询如找 “大于 x 且小于 y 的所有节点”利用 BST 的有序性可快速定位边界4前驱 / 后继节点查找如在 BST 中找某个节点的前驱比它小的最大值、后继比它大的最小值用于排序、TopK 问题。五、案例分享题目1给定一棵二分搜索树和两个结点寻找这两个结点的最近公共祖先如下图所示的二分搜索树2和8的最近公共祖先为62和4的最近公共祖先为2。树形结构见下图。public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if (null root) return null; // p and q are in the left side of the tree if (root.val q.val root.val p.val) return lowestCommonAncestor(root.left, p, q); // p and q are in the right side of the tree if (root.val q.val root.val p.val) return lowestCommonAncestor(root.right, p, q); // p and q are in the different sides of the treeq or p may be is the root node. return root; }题目2:给定一棵二叉树验证其是否为二分搜索树。思路1根据题目的要求结点的值大于其左孩子结点的值而小于其右孩子结点的值则中序遍历该二叉搜索树时会返回一个有序的列表。但是若是left.valroot.valright.val这种方式就不行了此种方式效率较低。import java.util.LinkedList; import java.util.List; public class LC98 { // 根据题意中序遍历二叉树看看是否升序排列 public boolean isValidBST(TreeNode root) { if (null root) return true; // 此时root肯定不为空 ListInteger nodeValueList new LinkedList(); inOrder(root, nodeValueList); for(int i 0;i nodeValueList.size() - 1;i) { if(nodeValueList.get(i1) nodeValueList.get(i)) return false; } return true; } private void inOrder(TreeNode root, ListInteger nodeValueList) { if(null root) return; inOrder(root.left, nodeValueList); nodeValueList.add(root.val); inOrder(root.right, nodeValueList); } public static void main(String[] args) { TreeNode root new TreeNode(2); root.left new TreeNode(1); root.right new TreeNode(3); System.out.println(result new LC98().isValidBST(root)); } }思路2直接使用二分搜索树的性质左root右public class LC98 { // 根据题意使用其性质直接判断 左root右 public boolean isValidBST(TreeNode root) { if (root null) return true; return valid(root, Long.MIN_VALUE, Long.MAX_VALUE); } public boolean valid(TreeNode root, long leftValue, long rightValue) { if (root null) return true; if (root.val leftValue || root.val rightValue) return false; return valid(root.left, leftValue, root.val) valid(root.right, root.val, rightValue); } public static void main(String[] args) { TreeNode root new TreeNode(10); root.left new TreeNode(5); root.right new TreeNode(15); root.right.left new TreeNode(6); root.right.right new TreeNode(20); System.out.println(result new LC98().isValidBST(root)); } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

在线制作钓鱼网站源码成都有哪些网站建设

降重降AIGC搭配推荐:10大工具效率指南 核心工具对比速览 工具名称 主要功能 处理时间 适配检测系统 特色优势 aibiye 降AIGC查重 20分钟 知网/格子达/维普 保留学术术语,AIGC率降至个位数 aicheck 降AIGC查重 20分钟 知网/格子达/维普 人…

张小明 2026/1/1 5:47:36 网站建设

导航网站分析荥阳网页设计

Ubuntu实用技巧大揭秘 1. 与Firefox机器人互动 在Firefox浏览器中,有一个有趣的彩蛋。你只需打开Firefox窗口,在地址栏输入 about:robots ,就能看到Firefox 3的这个彩蛋。此外,弹出文本的第三行出自某本书,给你个提示,思考数字42。 2. 数据备份 数据备份至关重要,因…

张小明 2025/12/26 2:02:20 网站建设

如何提网站建设需求电子商城网站开发需求分析模板

第一章:云边 Agent 延迟优化的背景与挑战在现代分布式系统架构中,云边协同计算已成为支撑物联网、智能制造和边缘AI等关键场景的核心范式。云端负责全局调度与大数据分析,而边缘端则承担实时响应与本地决策任务。作为连接云端与边缘设备的关键…

张小明 2025/12/28 3:21:43 网站建设

企业网盘软件seo新手教程

第一章:脑机接口性能提升10倍的背景与意义近年来,脑机接口(Brain-Computer Interface, BCI)技术在神经科学与人工智能的交叉领域取得了突破性进展。传统BCI系统受限于信号采集精度、数据处理延迟和解码算法效率,往往难…

张小明 2025/12/27 2:36:22 网站建设

做视频网站要多大的服务器网站建设销售工资多少

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成一个包含5个实际案例的C语言项目,每个案例展示typedef在不同场景下的应用:1. 嵌入式系统中的硬件寄存器定义;2. 数据结构中的链表节点定义&a…

张小明 2025/12/27 10:55:13 网站建设

网站建设怎么进行一级域名申请学校网站建设情况介绍

第一章:揭秘Open-AutoGLM任务中断黑盒在部署和运行 Open-AutoGLM 模型任务时,任务意外中断成为开发者频繁遭遇的痛点。这类问题往往缺乏明确日志提示,形成“黑盒”现象,严重阻碍自动化流程的稳定性。中断常见触发因素 资源超限&am…

张小明 2025/12/27 15:51:49 网站建设