Skip to content

Latest commit

 

History

History
46 lines (24 loc) · 2.19 KB

README.md

File metadata and controls

46 lines (24 loc) · 2.19 KB

data-structures

This repository contains implementations of all the data structures using Java, Python and Golang

Array: A collection of elements stored at contiguous memory locations.

Linked List: Elements arranged in a linear order, where each element points to the next one using pointers.

Stack: A Last-In-First-Out (LIFO) data structure where elements are added and removed from the same end.

Queue: A First-In-First-Out (FIFO) structure where elements are added at the rear and removed from the front.

Tree: A hierarchical structure with nodes organized in a parent-child relationship.

Binary Tree: A tree structure where each node has at most two children.

Binary Search Tree (BST): A binary tree in which the left child contains nodes with values lesser than the parent and the right child contains nodes with values greater than the parent.

Heap: A specialized tree-based structure used to represent priority queues.

Hash Table: A data structure that implements an associative array abstract data type, allowing quick retrieval of keys.

Graph: A non-linear data structure consisting of nodes/vertices and edges that connect them.

Trie: An ordered tree data structure used to store a dynamic set or associative array.

Matrix: A two-dimensional array representation used to store elements in rows and columns.

Set: A collection that stores unique elements, usually implemented using arrays or hash tables.

Priority Queue: A queue where each element has a priority assigned to it.

B-Tree: A self-balancing tree data structure that maintains sorted data.

Red-Black Tree: A self-balancing binary search tree with constraints on the coloring of nodes.

Skip List: A probabilistic data structure that allows quick search, insertion, and deletion operations.

Union-Find (Disjoint Set): A data structure that keeps track of elements partitioned into disjoint sets.

Deque (Double-Ended Queue): A linear data structure that allows insertion and deletion at both ends.

Suffix Array/Tree: A data structure that stores all suffixes of a given string in lexicographical order.

Quadtree: A tree data structure used to partition a two-dimensional space.

Octree: A tree data structure used to partition three-dimensional space.