Мне интересно, могу ли я получить некоторую помощь в создании двоичного дерева с помощью связанного списка. В каждом узле имеется меньший связанный список для хранения информации для этого конкретного узла. Я ищу подсказку о том, как заставить каждый узел удерживать другой связанный список. Это для домашней работы.Двоичное дерево в java, используя связанный список
ответ
Если вы хотите дерево узлов данных в виде связанного списка, а не целое, то вы можете использовать этот
public class Tree {
static class LinkedList{
int data;
LinkedList next;
public LinkedList(int data, LinkedList next){
this.data = data;
this.next = next;
}
}
LinkedList node;
Tree left;
Tree right;
public Tree(LinkedList node, Tree left, Tree right){
this.node = node;
this.left = left;
this.right = right;
}
public static void main(String[] args) {
LinkedList l3 = new LinkedList(3,null);
Tree node3 = new Tree(l3,null, null);//left child
LinkedList l4 = new LinkedList(4,null);
Tree node4 = new Tree(l4,null, null);//right child
LinkedList l1 = new LinkedList(1,null);
LinkedList l2 = new LinkedList(2, l1);
Tree node1 = new Tree(l2,node3, node4);//node1 be the root of tree
}
}
Здесь каждый узел дерева будет держать связанный список.
спасибо большое >> user3747720 – noon
Существует различие между LinkedList и деревом двоичного поиска Difference between a LinkedList and a Binary Search Tree. Принцип для BST называется «композиция». например состав ≠ наследование Difference between Inheritance and Composition. Двоичное дерево поиска - это просто упорядоченное двоичное дерево для хранения элементов композиции. Поскольку он двоичный, вы можете идти либо влево, либо вправо в каждом узле. Поэтому каждый объект узла должен иметь leftNode
и rightNode
в качестве композиции. Это должно заставить вас начать делать домашнее задание самостоятельно.
да я имел в виду BST – noon
Вы можете видеть, отвечает ли это на ваш вопрос? Я получил это от другого человека от geeksforgeeks.org
/*
The structure of Link list node is as follows
struct node
{
int data;
struct node* next;
};
The structure of TreeNode is as follows
struct TreeNode
{
int data;
TreeNode *left;
TreeNode *right;
};
*/
TreeNode* newTreeNode(int data)
{
TreeNode *temp = new TreeNode;
temp->data = data;
temp->left = temp->right = NULL;
return temp;
}
/*You are required to complete this method*/
void convert(node *head,TreeNode * &root)
{
queue<TreeNode *> q;
root=newTreeNode(head->data);
head=head->next;
q.push(root);
while(!q.empty()){
TreeNode *tmp=q.front();
q.pop();
if(head){
tmp->left=newTreeNode(head->data);
q.push(tmp->left);
head=head->next;
}
if(head){
tmp->right=newTreeNode(head->data);
q.push(tmp->right);
head=head->next;
}
if(!head)
break;
}
}
- 1. преобразовать двоичное дерево поиска в связанный список в JAVA
- 2. Дважды связанный список Двоичное дерево поиска в порядке Traversal
- 3. Двоичное дерево в Java
- 4. Двоичное дерево и связанный список, удерживая головной узел в C
- 5. Вставка узла в двоичное дерево поиска/связанный список?
- 6. Сгладить двоичное дерево -> Единый связанный список (Ruby)
- 7. Java: Ручное двоичное дерево
- 8. Рекурсивное двоичное дерево Java
- 9. Двоичное дерево поиска - Java
- 10. Двоичное дерево/двоичное дерево поиска
- 11. Показать список как двоичное дерево
- 12. Двоичное дерево индексов в java
- 13. Двоичное дерево поиска в Java
- 14. Дисплей Двоичное дерево в Java
- 15. Как сериализовать двоичное дерево
- 16. Двоичное дерево в двоичное дерево поиска (BST)
- 17. Двоичное дерево-представление SQL-Java
- 18. java-рекурсивное двоичное дерево поиска
- 19. Резьбовое двоичное дерево поиска Java
- 20. Двоичное дерево поиска toString Java
- 21. java полиморфное двоичное дерево поиска
- 22. Помогите вставить список значений в двоичное дерево ..?
- 23. Двоичное дерево вставляет значения в узлы. Java
- 24. Двоичное дерево в Scala
- 25. Вставка элементов в двоичное дерево в Java
- 26. Haskell: сгладить двоичное дерево
- 27. преобразовать двоичное дерево в дерево сумм в Java
- 28. Двоичное дерево в Java. Проблемы с System.out.println()
- 29. число и письмо двоичное дерево в java
- 30. Как ввести двоичное дерево в Java
Простой. Добавьте ссылку на связанный список в классе узлов. – hexafraction
Вам нужен двойной связанный список для двоичного дерева, хотя – raven
Хорошо, я не знаю, как это сделать, но я узнаю, как .. вы думаете, что ... – noon