0% found this document useful (0 votes)
2 views

types of data structures

The document provides definitions for various data structures, including arrays, linked lists, stacks, queues, trees, graphs, and more. Each data structure is briefly described with its key characteristics and principles. This serves as a comprehensive reference for understanding fundamental data structures in computer science.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

types of data structures

The document provides definitions for various data structures, including arrays, linked lists, stacks, queues, trees, graphs, and more. Each data structure is briefly described with its key characteristics and principles. This serves as a comprehensive reference for understanding fundamental data structures in computer science.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1.

Array

● Definition: A collection of elements identified by index or key, stored in contiguous


memory locations.

2. Linked List

● Definition: A linear data structure where each element (node) contains a value and a
reference (link) to the next node in the sequence.

3. Stack

● Definition: A linear data structure that follows the Last In, First Out (LIFO) principle,
where elements are added and removed from the same end.

4. Queue

● Definition: A linear data structure that follows the First In, First Out (FIFO) principle,
where elements are added at the rear and removed from the front.

5. Deque (Double-Ended Queue)

● Definition: A linear data structure that allows insertion and deletion of elements from
both ends.

6. Hash Table (Hash Map)

● Definition: A data structure that stores key-value pairs, using a hash function to
compute an index into an array of buckets or slots, from which the desired value can be
found.

7. Binary Tree

● Definition: A tree data structure in which each node has at most two children, referred to
as the left child and the right child.

8. Binary Search Tree (BST)

● Definition: A binary tree in which each node has a key greater than all the keys in its left
subtree and less than all the keys in its right subtree.

9. AVL Tree
● Definition: A self-balancing binary search tree where the difference in heights of left and
right subtrees of any node is at most one.

10. Red-Black Tree

● Definition: A self-balancing binary search tree where each node contains an extra bit for
denoting the color of the node, which can be either red or black.

11. B-Tree

● Definition: A self-balancing tree data structure that maintains sorted data and allows
searches, sequential access, insertions, and deletions in logarithmic time.

12. B+ Tree

● Definition: A type of self-balancing tree where all values are present in the leaf nodes
and internal nodes store only keys for guiding the search.

13. Max Heap

● Definition: A complete binary tree where the value of each node is greater than or equal
to the values of its children.

14. Min Heap

● Definition: A complete binary tree where the value of each node is less than or equal to
the values of its children.

15. Trie (Prefix Tree)

● Definition: A tree-like data structure used to store a dynamic set of strings, where each
node represents a common prefix shared by some strings.

16. Graph

● Definition: A collection of nodes (vertices) and edges connecting pairs of nodes, used to
represent networks of relationships.

17. Adjacency Matrix

● Definition: A 2D array used to represent a graph, where each element indicates whether
there is an edge between a pair of vertices.

18. Adjacency List


● Definition: A collection of lists used to represent a graph, where each list corresponds to
a vertex and contains the vertices adjacent to it.

19. Set

● Definition: A collection of distinct elements, typically used to test membership, add


elements, and remove elements.

20. Multiset (Bag)

● Definition: A collection of elements that allows for multiple occurrences of the same
element.

21. Priority Queue

● Definition: An abstract data type similar to a regular queue or stack, but where each
element has a priority and the element with the highest priority is served first.

22. Disjoint Set (Union-Find)

● Definition: A data structure that keeps track of a partition of a set into disjoint subsets,
supporting union and find operations.

23. Sparse Table

● Definition: A data structure used to answer range minimum queries in constant time
with preprocessing time of O(nlog⁡n)O(n \log n)O(nlogn).

24. Segment Tree

● Definition: A tree data structure used for storing intervals or segments and allowing for
efficient querying and updating of these intervals.

25. Fenwick Tree (Binary Indexed Tree)

● Definition: A data structure that provides efficient methods for cumulative frequency
tables and can be used for querying and updating frequency tables in logarithmic time.

26. Suffix Tree

● Definition: A compressed trie of all suffixes of a given text, used in string processing
applications.

27. Suffix Array


● Definition: An array of starting positions of suffixes of a string sorted in lexicographical
order, used in string searching algorithms.

28. Bloom Filter

● Definition: A probabilistic data structure used to test whether an element is a member of


a set, with possible false positives but no false negatives.

29. Skip List

● Definition: A data structure that allows fast search within an ordered sequence of
elements, using multiple levels of linked lists.

30. Matrix

● Definition: A two-dimensional array of numbers arranged in rows and columns, used in


mathematical and computational applications.

You might also like