Coursera Algorithms week4 基础标签表 练习测验:Check if a binary tree is a BST

题目原文:

Given a binary tree where each  ???????? contains a key, determine whether it is a binary search tree. Use extra space proportional to the height of the tree.

分析:

就是递归遍历BST,将每个节点x分别与x.left和x.right比大小。

 1 public boolean isBST(BST<Key,Value> bst){
 2     return isBST(root);
 3 }
 4 private boolean isBST(Node x){
 5     if(x.left.key.compareTo(x.key) != -1) return false;
 6     if(x.key.compareTo(x.right.key)!= -1) return false;
 7     if(x.left != null ) return isBST(x.left);
 8     if(x.right != null ) return isBST(x.right);
 9     return true;
10 }
时间: 2024-10-10 19:58:06

Coursera Algorithms week4 基础标签表 练习测验:Check if a binary tree is a BST的相关文章

Coursera Algorithms week4 基础标签表 练习测验:Inorder traversal with constant extra space

题目原文: Design an algorithm to perform an inorder traversal of a binary search tree using only a constant amount of extra space. 1 public void traverse(BST<Key,Value> bst) { 2 traverse(bst.root.left, bst.root); 3 } 4 5 private void traverse(Node curre

Coursera Algorithms week2 基础排序 Interview Questions: 2 Permutation

题目原文: Given two integer arrays of size n , design a subquadratic algorithm to determine whether one is a permutation of the other. That is, do they contain exactly the same entries but, possibly, in a different order. 本质上就是求两个数组排序后是否相等,鉴于本节课学的是选择.插入.

Coursera Algorithms week2 基础排序 Interview Questions: 1 Intersection of two sets

题目原文: Given two arrays a[] and b[], each containing n distinct 2D points in the plane, design a subquadratic algorithm to count the number of points that are contained both in array a[] and array b[]. 题目的目标就是计算重复point的个数,很简单,代码如下 1 import java.awt.Po

Coursera Algorithms week2 栈和队列 练习测验: Stack with max

题目原文: Stack with max. Create a data structure that efficiently supports the stack operations (push and pop) and also a return-the-maximum operation. Assume the elements are reals numbers so that you can compare them. 分析: 该题目要求在实现正常stack的push和pop操作外,还

HTML基础标签图片文本超链接列表表格表单介绍

1.HTML基础标签图片常见代码形式<img src="图片路径地址" alt="属性名" title="占位符">常见的图片格式为以下三种:.jpg(图片有损压缩,影响画质)..png(图片无损压缩.容积大.具有透明通道)..gif(动图).图片路径地址分为本地图片和网络图片,本地图片中分为绝对路径(从盘符开始算起)和相对路径(从当前路径算起),相对路径属于平级关系,如果图片相对于上一级,表现形式为"../"在&

HTML:基础标签及属性(备份)

基 本 标 签  创建一个HTML文档 <html></html> 设置文档标题以及其他不在WEB网页上显示的信息 <head></head> 设置文档的可见部分 <body></body> 标 题 标 签 将文档的题目放在标题栏中 <title></title> 文 档 整 体 属 性 设置背景颜色,使用名字或十六进制值 <body bgcolor=?> 设置文本文字颜色,使用名字或十六进制值 &

java的基础标签

跨行业进入IT,感觉就像学习一门外语,基础标签就像英语中的单词是的,现在只会一个个单词,不会说话的感觉,痛苦呀. 1.文本格式控制标签 <font color="文本颜色" size="字体大小" face="什么字体">文本内容</font> <b></b>   字体加粗 <i></i>     字体倾斜  <em></em>强调,语气加强用 <

Oracle实践--PL/SQL基础之表分区

PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ---------------------------------------------

label标签表单响应

为表单元素label加上for属性. <label for="pink"><input type="radio" id="pink" name="color" value="1">粉色 </label> for属性能让点击label标签的时候,同时focus到对应的 input 和 textarea上,增加响应区域.其中for取值和input中id取值要一致(兼容ie)