Data Structures and Algorithms (DSA) is a fundamental topic in computer science and software engineering. It deals with the organization, management, and storage of data in a way that enables efficient access and modification. Algorithms are step-by-step procedures or formulas for solving problems.
An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together.
A linked list is a linear data structure where each element is a separate object. Each element (node) of a list is comprising of two items - the data and a reference to the next node.
A stack is a linear data structure which follows a particular order in which the operations are performed. The order may be LIFO (Last In First Out) or FILO (First In Last Out).
A queue is a linear data structure that follows a particular order in which the operations are performed. The order is First In First Out (FIFO).
A tree is a hierarchical data structure defined as a collection of nodes. Nodes represent a value and nodes are connected by edges.
A graph is a non-linear data structure consisting of nodes and edges. The nodes are sometimes also referred to as vertices and the edges are lines or arcs that connect any two nodes in the graph.
Sorting algorithms specify the way to arrange data in a particular order. Some common sorting algorithms include Bubble Sort, Merge Sort, and Quick Sort.
Searching algorithms are designed to retrieve information stored within some data structure. Examples include Linear Search and Binary Search.