Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么我的InOrder不递归地对ArrayList进行排序,构建一个LinkedBinaryTree?

为什么我的InOrder不递归地对ArrayList进行排序,构建一个LinkedBinaryTree?
EN

Stack Overflow用户
提问于 2020-05-24 12:25:29
回答 1查看 52关注 0票数 0

我制作了一个ArrayList,其中填充了来自不平衡二叉树的值( ArrayList中的对象是InOrder遍历排序的)。

当我去构建我的LinkedBinaryTree类中的二叉树时,我会从编译器那里得到一个“找不到符号错误”。我很困惑,这是我尝试过的。

1)成功地将值(而不是来自arrayList的值)放置到二叉树中,以确定是否正确地理解了一般框架(树是由节点组成的),并使用打印行函数打印根,然后打印左侧根等等。

2)然后尝试构建一个方法,该方法以一个已被InOrder排序的ArrayList作为参数,并使用subList递归构建左右树的错误。

What does a "Cannot find symbol" or "Cannot resolve symbol" error mean?

试图找出是哪个问题导致了这个问题。我真是不知所措。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public LinkedBinaryTree BinaryBalanceTreeMethod(java.util.List delta) {
    if (delta.isEmpty()) {
        return null;
    }

    int middle = delta.size() / 2;
    LinkedBinaryTree tree = new LinkedBinaryTree(delta.get(middle));
    tree.getRootNode.setLeft(BinaryBalanceTreeMethod(delta.subList(0, middle)));
    tree.getRootNode.setRight(BinaryBalanceTreeMethod((delta.subList(middle + 1, delta.size()))));
    return tree;    
}

万一有人需要看主要方法..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Iterator it = treez.iteratorInOrder();
java.util.List listz = new java.util.ArrayList();

while (it.hasNext()) {
    listz.add(it.next());
}
System.out.println(listz.toString());
LinkedBinaryTree test = new LinkedBinaryTree()
test.BinaryBalanceTreeMethod(listz);

System.out.println(test.getRootElement());

我应该注意-我有另一个名为ArrayList的类,所以我必须使用这个java.util.ArrayList来实例化。

EN

回答 1

Stack Overflow用户

发布于 2020-05-24 13:45:00

在您的main方法中,您忽略了LinkedBinaryTree test = new LinkedBinaryTree()末尾的分号;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.out.println(listz.toString());
LinkedBinaryTree test = new LinkedBinaryTree() // you missed the ; here
test.BinaryBalanceTreeMethod(listz);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61992034

复制
相关文章
python对字典进行排序
标准的python字典是无序的。即使对(键、值)对进行了排序,也无法以保留排序的方式将它们存储在dict中。
IT工作者
2022/07/07
1.9K0
Delphi对TStrings进行排序
最近在做一个Delphi的对接第三方支付的接口,接口签名机制模仿微信的签名方式,把参数按ascii码进行排序后再加上key进行md5的加密,因为调用接口的的Post里面的参数是TStrings类型的,但是在TStrings类型里面没有Sorted排序这个方法。所以我自己重写了一个函数用于处理这个。
Vaccae
2019/07/25
1.4K0
对map集合进行排序
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序。
java思维导图
2018/11/30
1.8K0
对map集合进行排序
LUA对Map进行排序
Lua中最常见的数据结构就是Table, 用Table表示Map很容易, 但早期Lua没有提供一个针对Map数据结构的排序方法,下面用Moonscript实现了一个Map型数据结构排序函数方法。
糖果
2019/11/20
3.4K0
为什么你学不会递归?告别递归,谈谈我的经验[通俗易懂]
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!
全栈程序员站长
2022/10/01
8480
为什么你学不会递归?告别递归,谈谈我的经验[通俗易懂]
C++ 对vector进行排序
title: C++ vector排序 tags: c++,vector,排序 grammar_cjkRuby: true --- 每次都要重复造轮子真的很累,所以用别人的吧。 目的:对vector进行排序 示例: 记得将 algorithm 这个头文件包括进去 #include <iostream> #include <vector> #include <algorithm> using namespace std; int main(void) { vector <int> a
marsggbo
2018/01/23
8.5K0
使用QCollat​​or对QStringList进行排序
  QCollator类根据排序规则算法比较字符串。以下例子是对QStringList进行数字优先且区分大小写比较排序。
Qt君
2023/03/17
2.9K0
使用QCollat​​or对QStringList进行排序
Python中对list进行排序
很多时候,我们需要对List进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序 方法2.用built-in函数sorted进行排序(从2.4开始) 这两种方法使用起来差不多,以第一种为例进行讲解: 从Python2.4开始,sort方法有了三个可选的参数,Python Library Reference里是这样描述的 cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument: "cmp=lambda x,y: cmp(x.lower(), y.lower())" key:key specifies a function of one argument that is used to extract a comparison key from each list element: "key=str.lower" reverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes are much faster than specifying an equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once. 以下是sort的具体实例。 实例1: >>>L = [2,3,1,4] >>>L.sort() >>>L >>>[1,2,3,4] 实例2: >>>L = [2,3,1,4] >>>L.sort(reverse=True) >>>L >>>[4,3,2,1] 实例3: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>L.sort(cmp=lambda x,y:cmp(x[1],y[1])) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例4: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>L.sort(key=lambda x:x[1]) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例5: >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>import operator >>>L.sort(key=operator.itemgetter(1)) >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 实例6:(DSU方法:Decorate-Sort-Undercorate) >>>L = [('b',2),('a',1),('c',3),('d',4)] >>>A = [(x[1],i,x) for i,x in enumerate(L)] #i can confirm the stable sort >>>A.sort() >>>L = [s[2] for s in A] >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)] 以上给出了6中对List排序的方法,其中实例3.4.5.6能起到对以List item中的某一项 为比较关键字进行排序. 效率比较: cmp < DSU < key 通过实验比较,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相当 多关键字比较排序: 实例7: >>>L = [('d',2),('a',4),('b',3),('c',2)] >>> L.sort(key=lambda x:x[1]) >>> L >>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)] 我们看到,此时排序过的L是仅仅按照第二个关键字来排的,如果我们想用
py3study
2020/01/09
2.4K0
Java 列表ArrayList排序
对任意类型集合对象进行整体排序,排序时将此接口的实现传递给Collections.sort方法或者Arrays.sort方法排序.  实现int compare(T o1, T o2);方法,返回正数,零,负数各代表大于,等于,小于。
用户7886150
2021/04/08
9030
二叉树各种遍历真的很难?大sai带你拿捏!
很多时候我们需要使用非递归的方式实现二叉树的遍历,非递归枚举相比递归方式的难度要高出一些,效率一般会高一些,并且前中后序枚举的难度呈一个递增的形式,非递归方式的枚举有人停在非递归后序,有人停在非递归中序,有人停在非递归前序(这就有点拉胯了啊兄弟)。
bigsai
2021/10/08
6770
二叉树各种遍历真的很难?大sai带你拿捏!
Java 列表ArrayList排序
对任意类型集合对象进行整体排序,排序时将此接口的实现传递给Collections.sort方法或者Arrays.sort方法排序.  实现int compare(T o1, T o2);方法,返回正数,零,负数各代表大于,等于,小于。
用户7886150
2021/04/23
1.1K0
为什么你学不会递归?告别递归,谈谈我的一些经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!
Java团长
2019/04/25
5220
为什么你学不会递归?告别递归,谈谈我的一些经验
为什么我不建议你写注释?
实际上,注释最多也就是一种必须的恶。若编程语言足够有表达力,或者我们擅长于用这些语言来表达意图,就不那么需要注释了,甚至也许根本不需要。 注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败,我用了失败一词,其实是说真的。注释总是一种失败,是因为我们无法找到不用注释就能表达这段代码含义的方法。 如果你发现你的代码需要写注释,那么你就应该想想是不是有办法翻盘,用代码来表达。并不是不让你真的不用注释,而是有些时候,用注释是因为我们怕其他的开发者在我们的代码的时候,看不懂我们的代码从而去加注释,那么我们为什么不写出其他开发者一目了然的代码呢?
用户7386338
2020/05/29
1.2K0
使用 Python 对波形中的数组进行排序
假设我们采用了一个未排序的输入数组。我们现在将对波形中的输入数组进行排序。数组 'arr[0..n-1]' 以波形排序,如果 arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= .....
很酷的站长
2023/02/22
6.9K0
使用 Python 对波形中的数组进行排序
如何有效地对Docker的镜像进行管理?
容器的存储空间如何提供? 前段时间,笔者看到一篇文章,题目是“容器就是Linux”,写的不错。容器说简单点就是容器级别的虚拟化,在一个Kernel Space上虚拟出多个User Space。那么,容器如何使用存储空间呢? 我们知道,Windows和Linux的操作系统,都是使用文件系统的。在RHEL上,可以针对磁盘划分区,然后创建文件系统。当然,也可以使用LVM的方式,将磁盘创建vg,划分lv,然后创建文件系统。 那么,Docker通过什么方式获取存储空间呢,或者说使用什么存储驱动? 在RHEL, Ce
魏新宇
2018/03/22
1.8K0
如何有效地对Docker的镜像进行管理?
为什么我不建议你用 Select * ?
应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。
JavaFish
2019/10/17
1.7K0
为什么你学不会递归?告别递归,谈谈我的一些经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!
小小詹同学
2019/10/10
5040
为什么你学不会递归?告别递归,谈谈我的一些经验
点击加载更多

相似问题

我可以简单地使用ArrayList对ArrayList的TreeSet进行排序吗?

20

对arrayList进行排序

512

对ArrayList进行排序

32

对ArrayList进行排序?

32

对ArrayList进行排序

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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