Linked List, Tree and Graph Node Definitions in Java

Basic building blocks of a linked data structure like linked list, trees, binary trees and graphs are nodes. All these data structures can be considered as a connection of these nodes. The structure of these nodes and how they are connected differ for different data structures. Hence to work with these data structures in Java, you need to understand their node structure first.

Here is a summary of nodes and their most commonly used structure, defined in Java.

 

Linked List Node

package com.javajee.cse.dsa;

public class ListNode {
    
    int data;
    ListNode next;

}

Variable next will point to the next node in a linked list.

 

Binary Tree Node

package com.javajee.cse.dsa;

public class BTreeNode {
    
    int data;
    BTreeNode left, right;

}

Every node will have pointers to its left and right child.

 

Tree Node

package com.javajee.cse.dsa;

import java.util.Collection;

public class TreeNode {

    int data;
    Collection<TreeNode> children;
    
}

A generic tree node may contain any number of childred. We can use any Collection to hold them.

 

Graph Node

package com.javajee.cse.dsa;

import java.util.Collection;

public class GraphNode {
    
    int data;
    Collection<GraphNode>  adjacentNodes;
    boolean visited;
    
}

A graph node will have pointers to its adjacent nodes. We can use any collection to hold the adjacent nodes. We can also use a bollean variable that can be used to see if a node is already visited while traversing, as graph can have circular links. 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)