×

Tree terminology in Data structures

Data structures

The storage used to organize and store data is known as a data structure, and it is a method where data can be arranged on a computer to be updated or accessed proficiently. A data model is a database used to store and manage data and is a system for optimizing and managing computer resources. Data structures are not just for storing data. Almost every program or application has a basic and advanced data structure. We have many basic and advanced types of data structures, and it is hard to find a program without data structures in any programming language.

Data structures are forms used to store, process, organize and retrieve data proficiently and quickly in a specific format on a machine or computer. Data structures help render data for easy use and handling of information. Any program foundation, software, or application consists of two components: data and algorithms—the communication of information and the rules and regulations of the algorithm that turn information into action.

We can depict all the above in the following two simple equations:

Operations that are permissible on the data + Related data = Data Structure

Algorithms + Data structures = Programs

There are two types of data structures:

  • Linear Data structures
  • Non-linear data structures

Linear Data structures

This type of data structure adds information to the data model. Each element is related to the component before and after. So, you can remove the instance. There are four types of this data structure. They are:

  • Queue
  • Stack
  • Linked lists
  • Array

Non-linear Data structures

A data structure in which data elements are organized in different ways. Content is not a series of data presented at different levels. There are several ways to move directly from one element to another. Unauthorized data points are shared at least once. There are two types of this non-linear data structure. They are:

  • Tree data structure
  • Graph data structure

Tree Data structure

A tree is a hierarchical and non-linear data structure with nodes. Each node in the Tree contains a message value and stores the name passed to another ("child") node.

Organizing these files is a great way to collect your information and make it easy to reference on your computer. The tree data structure consists of sub-nodes, structural nodes, and a central node connected by the edges, and this data structure also has leaves, branches, and roots attached.

The data in the Tree is plotted so that it is not linear. But they are organized differently, or we can say hierarchically. The trees are considered non-linear as they are hierarchical.

Tree data structures differ from queues, stacks, arrays, and linked lists. A tree is a hierarchical structure; data structures have nodes representing and supporting the process. Asynchronous Data Warehouse Tree types collect different levels of information together in a data structure called a root node. All data types are stored in the root location. Each line has a message. We call the branches of the data structure at the bottom of the Tree.

There is a particular type of Tree called the Binary tree. It is used for the same data storage purposes and is a unique data structure. This data structure is a particular tree as it can have only a maximum number of two children, i.e., a binary tree can either have 0, 1, or 2 children at any stage. This allows the binary Tree to provide the benefits of an ordinary linked list and array, making searching an element stored easy (as they are sorted data structures). A binary search tree can perform the deletion and insertion of elements competing with the speed of linked lists.

Tree terminology in data structures

Before understanding any concept, we must be familiar with the language usually used in the topic. The tree concept of data structures uses pretty simple and straightforward terminology. Hence, below are the basic terminology traditionally used in the tree data structure concept.

  1. Node
  2. Root
  3. Edge
  4. Parent
  5. Child
  6. Siblings
  7. Neighbour node
  8. Leaf
  9. Internal nodes
  10. External nodes
  11. Ancestors
  12. Descendants
  13. Degree
  14. Level
  15. Height
  16. Depth
  17. Path
  18. Subtree

Node

The entities, values, or keys stored in a tree data structure are known as Nodes. It is, in fact, the place where we place our information or data in a tree data structure.

Tree terminology in Data structures

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12 are the nodes in the above Tree.

Edge

An edge is a connection among given consecutive nodes in a tree data structure. The nodes and edges together make a tree data structure. Nodes and edges are the only two factors that can be found in any tree data structure. We can say that without these two, a data structure cannot be treated as a tree. Edges are represented by straight lines connecting two nodes.

Tree terminology in Data structures

The black lines in the above Tree are its edges.

Root Node

The node that lies at the peak of the tree data structure is known as the root node. The root node only has child nodes, and it does not have any parent nodes. The formation of a tree data structure starts from the root node, and any tree data structure has only one root node. That data structure cannot be treated as a tree if there is more than one root node.

Tree terminology in Data structures

The root node in the above tree is 1.

Parent Node

The node above any node in a tree data structure is treated as its parent node. Any node in a tree data structure can have only one parent node.

Tree terminology in Data structures

For example, 2 is the parent node of 5 and 6.

Child node

The node below any given node in a tree data structure is treated as its parent node. Any node in a tree data structure can have any number of child nodes, and leaf nodes do not have child nodes. A child node may or may not have further child nodes but must have a parent node. If any node in a tree data structure does not have a parent node, then it cannot be treated as a child node.

Tree terminology in Data structures

For example, 7 and 8 are the child nodes of 4.

Siblings

Child nodes of one parent node are called sibling nodes. As the name suggests, sibling nodes share a single parent.

Tree terminology in Data structures

For example, 9 and 10 are sibling nodes.

Neighbour node

Any two nodes directly connected by a single edge are called neighbour nodes. For any given node in a tree data structure, its respective parent node and child nodes can be treated as neighbour nodes.

Tree terminology in Data structures

For example, 2, 9, and 10 are the neighbour nodes of 5.

Leaf node

The nodes that do not have child nodes are called leaf nodes or terminal nodes, and they put an end to their respective branch of the tree data structure.

Tree terminology in Data structures

9, 10, 6, 3, 11, 12, and 8 are the leaf nodes.

Internal nodes

All the nodes in a tree data structure, excluding the root and leaf nodes, are treated as internal nodes.

Tree terminology in Data structures

2, 4, 5, and 7 are the internal nodes.

External nodes

All the leaf nodes and root nodes in a given tree data structure are called external nodes.

Tree terminology in Data structures

1, 9, 10, 6, 3, 11, 12, and 8 are the external nodes.

Ancestors

All the nodes that precede a given node in a tree data structure are treated as ancestor nodes to that node. 

Tree terminology in Data structures

For example, 5, 2, and 1 are the ancestors of 10.

Descendants

All the nodes that lie below a given node in a tree data structure are treated as the descendant nodes of that node.

Tree terminology in Data structures

For example, 7, 8, 11, and 12 are the descendants of 4.

Degree

The number of child nodes of a given node in a tree data structure is called the Degree of that node. The Degree of the node with the highest Degree among all other degrees in a given tree data structure is treated as the Degree of the Tree.

Tree terminology in Data structures

For example, a degree of 7 is 2.

Level

The level of a given node in a tree data structure is the number of edges that connect it to the root node. Root node's child nodes have a level equal to 1; their child nodes have a level equivalent to 2.

Tree terminology in Data structures

For example, a level of 6 is 2.

Height

In a tree data structure, the level of a node is calculated starting from the root node, while its height is calculated starting from leaf nodes. The height of any leaf node in a tree data structure is equal to zero.

Tree terminology in Data structures

For example, the height of 4 is 2.

Depth

The depth of a given node in a tree data structure is the number of edges that connect it to the root node. The largest tree data structure's largest depth is treated as that Tree's depth. The largest depth is equal to the depth of the leaf node with the longest path from the root node.

Tree terminology in Data structures

For example, a depth of 5 is 2.

Path

The sequence of edges and nodes between any two selected nodes in a tree data structure is called the path between the given nodes. We can only have a single path between two nodes in a tree data structure.

Tree terminology in Data structures

For example, the path between 6 and 7 is

Tree terminology in Data structures

Subtree

Any node under the root node, along with its chosen descendants, is known as a subtree.

Tree terminology in Data structures

An example of a subtree for the above tree is

Tree terminology in Data structures

Related Topics

Boruvkas algorithm

This algorithm is used for finding minimum spanning tree from a weighted graph. Like prim’s and kruskal’s algorithm it is also a greedy algorithm. Note:What is the minimum spanning tree?We know...

4 minutes read.

Bubble Sort vs Heap Sort

In this article, we are going to compare the two most common sorting techniques, Bubble Sort and Heap sort. Before discussing their differences, let us first discuss the idea of...

7 minutes read.

Quick Sort vs Merge Sort

In this article, we will take an overview of Quick Sort and Merge Sort and then discuss the differences between them. What is Quick Sort? Quick Sort – The idea behind the...

7 minutes read.

Convert Sorted List to Binary Search Tree

Implementation // creating the C++ implementation of the following approach: - #include <bits/stdc++.h> using namespace std; /* Create the link list node and see its implementation. */ class L__Nod { public: int record; L__Nod* next; }; /* constructing a new binary...

15 minutes read.

Permutation Sort or Bogo Sort

In Permutation Sort or Bogo Sort, you have been given one array, which consists of different values. You have to sort the array using BOGO sort. Let’s take an example: Input-...

3 minutes read.

Given a Binary Tree Print the Shortest Path

Implementation // Writing a program in C++ to find the shortest between the nodes i and j.  #include <bits/stdc++.h> using namespace std; // the given function will print the path between nodes i and...

7 minutes read.

Sorting Algorithms

Sorting: In the data structure, sorting is the process by which you arrange the data in a logical order. This logical order can also be an ascending order or a...

7 minutes read.

Dijkstra’s vs Bellman-Ford Algorithm

The Dijkstra Algorithm One of the SSSP (Single Source Shortest Path) algorithms is Dijkstra's. As a result, it finds the shortest path between a source node and all other nodes in...

7 minutes read.

Timsort

TimSort Time Complexity Timsort is a sorting algorithm that is quite efficient for real-world data. Timsort is created in 2001 by Tim Peters for the python programming language. Timsort is a...

3 minutes read.

Bitonical Sort

Arranging an unordered collecttion of things into asignificant order. •Comparision Based Model: Bubble Sort, Selection Sort -->Non-Comparison Based. Model: Bucket Sort or on the other hand a Count Sort Bitonic Sort: Bitonic sort Algorithm was made...

5 minutes read.

Difference Between Linear and Non Linear Data Structures

Data Structure A data structure is a data object together with the relationships between the instances and the individual elements that compose an instance. These relationships are defined by the operations...

5 minutes read.

Array vs Linked List: Data Structure

Data structure: Difference Between Array and Linked List What is Array? An array is a linear data structure that can store similar data items for further processing. The similar data items...

3 minutes read.

Data Structures Tutorial

The data structure is a way of storing and organizing data in a computer system. So that we can use the data quickly, which means the information is stored and...

7 minutes read.

Selection Sort

In each iteration of the selection sort algorithm, the smallest item from an unsorted list is chosen and placed at the top of the unsorted list. Algorithm of Selection Sorting In order...

3 minutes read.

Partitioning a linked list around a given value

Partitioning a linked list around a given value In this problem, we are given a linked list and a value k. We need to partition the given linked list so that...

3 minutes read.

Introduction to 2D-Arrays

Two Dimensional Array Technical Definitions An array of arrays is a common definition for a two-dimensional array. A matrix is another name for a two-dimensional array. A matrix looks like a table...

3 minutes read.

Insertion in B+ Tree

We will learn how to insert a node in the B+ tree and what are the different properties we are going to follow. Except for the root node, every node should...

5 minutes read.

Delete the Middle element of the Linked List in C

Delete the Middle element of the Linked List in C This article has given a singly linked list and will delete the middle element of the given linked list. Example:  The given...

3 minutes read.

A Full Binary Tree with n Nodes

Implementation // Writing the implementation of the above approach in C++ #include <bits/stdc++.h> using namespace std; // We are creating a class that will create a node and its left and right children.  struct __nod...

12 minutes read.

Big O Notations

What is Big O Notation, and why is it important? "Big O notation is a mathematical notation that depicts a function's limiting behaviour when the input tends towards a certain value...

10 minutes read.