Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用递归打印BST - javascript的值

使用递归打印BST - javascript的值
EN

Stack Overflow用户
提问于 2018-10-25 09:37:05
回答 1查看 32关注 0票数 0

在Javascript中,我试图更好地理解BST的这段代码中的递归。我可以使用递归用两个方法打印出BST的值,但是我不知道如何在一个方法中完成所有的工作。

我怎么才能结合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BinarySearchTree.prototype.dfs = function(node) {
  if (node) {
    console.log(node.val);
    this.dfs(node.left);
    this.dfs(node.right);
  }
}

BinarySearchTree.prototype.depthFirstTraversal = function() {
  let current = this.root;
  this.dfs(current);
}

变成一个函数?我一直在努力

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BinarySearchTree.prototype.sameFunction = function(node = null) {
    // if node is null use this.root
    let current = node || this.root;
 
    if (current) {
        console.log(current.val);
        this.sameFunction(current.left);
        this.sameFunction(current.right);
    }
}

http://jsfiddle.net/rj2tyd4L/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-25 10:17:02

如果使用第二个参数isRoot并将其默认值设置为true如何?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BinarySearchTree.prototype.sameFunction = function(node = null, isRoot = true) {
  let current = isRoot ? this.root : node;
  if (current) {
    console.log(current.val);
    this.sameFunction(current.left, false);
    this.sameFunction(current.right, false);
  }
}

http://jsfiddle.net/fez1jtsx/

这使得tree.sameFunction()等同于调用tree.depthFirstTraversal()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52995129

复制
相关文章
Hibernate 和 JPA
Hibernate 在 5 以后的版本中全面推进使用 JPA 的查询语法,甚至准备废弃掉自己已有的查询语法。
HoneyMoose
2022/01/13
5070
Hibernate 和 JPA
快速学习-hibernate与JPA的概述
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
cwl_java
2020/04/01
1.3K0
Spring全家桶之SpringData——Spring 整合Hibernate与Hibernate Jpa
注意 1. sql语句 ,是通过对象查询的表 ,虽然可以出现select 但是却不能出现通配符 *,故可以省略 Select * 2 .区别 getCurrentSession 与openSession 方法的用法 getCurrentSession:当前session 必须要有事务边界, 且只能处理唯一的一个事务。当事务提交或者回滚后session 自动失效 openSession:每次都会打开一个新的session.加入每次使用多次。则获得的是不同session 对象。使用完毕后我们需要手动的调用colse方法关闭session
时间静止不是简史
2020/07/25
2.9K0
Spring整合Hibernate、Hibernate JPA、Spring Data JPA、Spring Data Redis
环境说明,使用Jdk1.8版本,spring4.2.0.RELEASE版本、hibernate5.0.7.Final版本,spring-data-jpa-1.9.0.RELEASE版本、spring-data-redis-1.6.0.RELEASE版本。
别先生
2020/05/27
5.6K0
mysql添加表注释、字段注释、查看与修改注释
1 创建表的时候写注释 create table test1 ( field_name int comment ‘字段的注释’ )comment=’表的注释’;
全栈程序员站长
2022/07/11
8K0
Spring整合Hibernate JPA
JPA:就是由Sun公司提供的一套对于持久层操作的标准(接口加文档),没有具体的实现。
害恶细君
2022/11/22
1.2K0
Java的类/方法/字段注释详解
一个程序的可读性,关键取决于注释。如果一个程序想二次开发,要读懂前面的程序代码,就必须在程序中有大量的注释文档,所以对于一个优秀的程序员来说,学会在程序中适当地添加注释是非常重要的。
JavaEdge
2020/05/26
3.2K0
Hibernate学习笔记 JPA简介
Hibernate除了是一个ORM框架之外,同时还实现了Java EE的一项标准JPA。我们在前面已经看到了Hibernate可以在注解方面直接使用JPA。现在我们来看看如何在Hibernate中使用JPA。
乐百川
2022/05/05
5760
Spring认证中国教育管理中心-Spring Data Couchbase教程三
原标题:Spring认证中国教育管理中心-Spring Data Couchbase教程三(Spring中国教育管理中心)
IT胶囊
2022/01/11
1.8K0
Spring认证中国教育管理中心-Spring Data Couchbase教程三
Hibernate Session和Jpa EntityManager
本文适用 Hibernate:4.3.11.Final 和 spring-data-jpa:1.10.4.RELEASE 。
pollyduan
2019/11/04
2.1K0
mybatis和hibernate的以及jpa区别_hibernate sql
hibernate和mybatis是当前流行的ORM框架。hibernate对数据库结构提供了较为完整的封装。mybatis主要着力点在于java对象与SQL之间的映射关系。
全栈程序员站长
2022/09/30
1.2K0
mybatis和hibernate的以及jpa区别_hibernate sql
JPA、Hibernate、Spring Data JPA 的关系,你懂吗?
来源:https://my.oschina.net/u/3080373/blog/1828589
Java技术栈
2019/07/31
1.8K0
什么是JPA?Java Persistence API简介
作为规范,Java Persistence API关注持久性,它将Java对象的创建过程和具体的创建形式解耦。并非所有Java对象都需要持久化,但大多数应用程序都会保留关键业务对象。JPA规范允许您定义应该保留哪些对象,以及如何在Java应用程序中保留这些对象。
银河1号
2019/05/16
10.3K0
什么是JPA?Java Persistence API简介
查询 MySQL 字段注释的 5 种方法!
很多场景下,我们需要查看 MySQL 中表注释,或者是某张表下所有字段的注释,所以本文就来盘点和对比一下查询注释的几种方式。
磊哥
2022/05/09
5.4K0
查询 MySQL 字段注释的 5 种方法!
快速学习-Spring Data JPA 入门
使用Spring Data JPA,需要整合Spring与Spring Data JPA,并且需要提供JPA的服务提供者hibernate,所以需要导入spring相关坐标,hibernate坐标,数据库驱动坐标等
cwl_java
2020/04/01
4150
Hibernate 如何生成 JPA 的 Metamodel
然后 Maven 将会在 target 文件夹中生成 Metamodel 的源代码。
HoneyMoose
2022/01/13
1.1K0
Hibernate 如何生成 JPA 的 Metamodel
使用Spring Boot,JPA,Hibernate和Postgres的多租户应用程序
多租户是一种方法,应用程序实例由不同的客户使用,从而降低软件开发和部署成本,与单一租户解决方案相比,在这种解决方案中,需要触及多个部分以提供新客户端或更新现有租户。
Java架构师历程
2018/09/26
7.8K1
使用Spring Boot,JPA,Hibernate和Postgres的多租户应用程序
关于Java持久化相关的资源汇集:Java Persistence API
先来个BEA的网上技术交流会(Webinar):EJB3 Java Persistence API:好的、坏的和一般功能,附件是PPT资料。
阿敏总司令
2019/02/28
2.5K0
SpringDataJPA+EasyUi实现CRUD操作
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术。
xiangzhihong
2022/11/30
3940
Mysql 查看表注释或字段注释
查看所有表的注释 SELECT table_name 表名, table_comment 表说明 FROM information_schema.TABLES WHERE table_schema = '数据库名' ORDER BY table_name 查询所有表及字段的注释 SELECT a.table_name 表名, a.table_comment 表说明, b.COLUMN_NAME 字段名, b.column_comment 字段说明, b.column_type 字段类型, b.column_
码客说
2019/10/22
11.4K0

相似问题

JPA与Hibernate注释的关系

32

JPA2.0字段注释与方法注释

20

Hibernate JPA注释

11

JPA级联注释与Hibernate级联注释的区别

18

在JPA (Hibernate)中注释字段和方法之间的区别?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文