Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 51

Дерево в Java

14.03.2017, 21:42. Показов 1354. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно создать дерево, и найти сумму которая ровняется умножению каждой вершины дерева на глубину.У меня есть два класса Node и Main. В классе Node я обьявляю основные функции для роботы с деревом, в класе Main функцией readChildren заполняю дерево, но не знаю как найти глубину самого дерева (дерево не двоичное)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.util.ArrayList;
import java.util.List;
 
public class Node<T> {
    private List<Node<T>> children = new ArrayList<Node<T>>();
    private Node<T> parent = null;
    private T data = null;
 
    public Node(T data) {
        this.data = data;
    }
 
    public Node(T data, Node<T> parent) {
        this.data = data;
        this.parent = parent;
    }
 
    public List<Node<T>> getChildren() {
        return children;
    }
 
    public void setParent(Node<T> parent) {
        // parent.addChild(this);
        this.parent = parent;
    }
 
    public void addChild(T data) {
        Node<T> child = new Node<T>(data);
        child.setParent(this);
        this.children.add(child);
    }
 
    public void addChild(Node<T> child) {
        child.setParent(this);
        this.children.add(child);
    }
 
    public int getChildrenCount() {
        return this.getChildren().size();
    }
 
    public T getData() {
        return this.data;
    }
 
    public void setData(T data) {
        this.data = data;
    }
 
    public boolean isRoot() {
        return (this.parent == null);
    }
 
    public boolean isLeaf() {
        if (this.children.size() == 0)
            return true;
        else
            return false;
    }
 
    public void removeParent() {
        this.parent = null;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
    static Node<Integer> theNode;
 
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Enter root value: ");
        Node<Integer> root = new Node<>(Integer.parseInt(reader.readLine()));
        System.out.println("Enter childs with coma separator: ");
        System.out.println("For root element: ");
 
        readChildren(root);
 
    }
 
    public static void readChildren(Node<Integer> child) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Enter children for " + child.getData() + ": ");
        String children = reader.readLine();
        if (children.isEmpty())
            return;
        String charr[] = children.split(",");
        int i = 0;
        for (String ch : charr) {
            child.addChild(Integer.parseInt(ch));
            readChildren(child.getChildren().get(i++));
        }
    }
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2017, 21:42
Ответы с готовыми решениями:

Java B-Дерево
Доброго времени суток. Пишу приложение - словарь слов русского языка на основе B-Дерева. Коротко о структуре моей проги: Дерево у...

3-арное дерево java
Помогите пожалуйста Нужно создать программу в среде NetBeans, которая позволяет добавлять элемент в 3-арное дерево и отображать дерево на...

Дерево поиска c java на c#
дерево поиска c java на c# сможете? import java.util.NoSuchElementException; public class RedBlackBST&lt;Key extends...

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
14.03.2017, 21:56
Цитата Сообщение от misha2308 Посмотреть сообщение
сумму которая ровняется умножению каждой вершины дерева на глубину
шта?
0
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 51
14.03.2017, 22:04  [ТС]
В каждой вершыне хранится число; сумма= число*глубину
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
14.03.2017, 23:30
у тебя не только с русским плохо, но и логика не совсем в порядке.
какое число и какая глубина?
0
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
14.03.2017, 23:49
xoraxax, ну если сумма это x*y, то глубина наверное Марианской впадины, а число 13))))
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
15.03.2017, 01:09
xoraxax, число это Integer в поле data класса Node. Глубина это глубина нода, относительно корня дерева (другими словами за какое кол-во шагов можно придти от корня дерева к данному node)
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
15.03.2017, 01:56
KEKCoGEN, при чтении тса возникают сомнения. И число и глубину можно трактовать огромным количеством способов, из которых можно построить еще одно дерево.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.03.2017, 01:56
Помогаю со студенческими работами здесь

Переделать с java на c# дерево поиска
ОООООчень нужна помощь! Помогите с java переписать на c# этот код. import java.util.NoSuchElementException; public class...

Бинарное дерево: как происходит добавления элемента в дерево с двумя параметрами
Здравствуйте! Прошу помощи у опытных программистов...)))) Есть класс дерево: class class1 { public class Tree ...

Сформировать дерево Т и определить число вхождений параметра Е в дерево Т - Блок схема
Сформировать дерево Т и определить число вхождений параметра Е в дерево Т. Вот решение задачи, народ, помогите, кто может, составить...

Методы индексирования на основе функции расстояния. Универсальное деление гиперплоскостями. Дерево биссектрис и МВ-дерево
Доброго времени суток. В поисках информации для курсовика жизнь занесла сюда :) Поделитесь информацией, литературой :) Тема:...

Как залезть в расчетное дерево (дерево зависимостей формул)?
Есть собственная формула, параметры которой заставляют для ее расчетов лезть на другие листы и в другие ячейки (причем какие конкретно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru