Open In App

Segment tree meaning in DSA

Last Updated : 05 Apr, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

A segment tree is a data structure used to effectively query and update ranges of array members. It’s typically implemented as a binary tree, with each node representing a segment or range of array elements.

Segment-Tree

Segment tree

Characteristics of Segment Tree:

  • A segment tree is a binary tree with a leaf node for each element in the array.
  • Each internal node represents a segment or a range of elements in the array.
  • The root node represents the entire array.
  • Each node stores information about the segment it represents, such as the sum or minimum of the elements in the segment.

Types of Segment tree:

Based on the type of information stored in the nodes, the tree can be divided into the following few types:

  1. Sum segment tree: It stores the sum of elements in each segment of the array and is used in a problem where efficient answer queries are needed about the sum of elements.
  2. Min/Max segment tree: It basically stores the minimum or maximum element in each segment of the array.
  3. Range update segment tree / Lazy Tree: It allows you to update a range of array elements with a given value. It is used to efficiently update a range of array elements.

Applications of Segment Tree:

  • In finding the sum or minimum or maximum of a range of elements in an array.
  • In finding the number of elements in a range that satisfy a certain condition, such as being greater than a certain value.
  • It can be used in several problems of computational geometry.

To learn more about applications of segment tree, refer to this article.

Advantages of Segment Tree:

  • It allows efficient querying and updating of ranges of elements in an array.
  • It can help in solving a wide range of problems that involve a range of queries or updates.
  • It has a time complexity of O(logN) for both query and update operations where N is the number of nodes in the tree.

To learn more about advantages of segment tree, refer to this article.

Disadvantages of Segment Tree:

  • It requires additional memory to store the tree structure and information about the segments
  • It may not be the most optimal solution for certain problems.

To learn more about the disadvantages of segment tree, refer to this article.

What else can you read?


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads