DSA Chapter 0

DSA Chapter 0

Data Structure and algorithm are two different things.

Data Structures:

A data structure is a storage mechanism designed to efficiently store and organize data in memory. Its purpose is to facilitate efficient data access, manipulation, and retrieval operations. By applying suitable data structures, the storage and retrieval of data can be optimized for improved performance.

Algorithms:

An algorithm is a step-by-step procedure that defines a set of instructions to be executed in a certain place to get desired output.

Classification of Data Terminology.

Database: Collection of information in HDD(Hard Disk Drive) / Permanent Storage for faster retrieval and updation.

Data warehousing: Management of huge amounts of legacy data for better analysis. For example Memories on Facebook.

Big Data: Analysis of too large or complex data which can't be deal with traditional data processing.

Classification of Data Structure.

Overview of the above term.

Linear Data structure: Here Data elements are arranged sequentially / linearly. Types Static Data Structure and Dynamic Data Structure.

Non-linear data structure: Here data elements are not placed sequentially or linearly. types tree, graph.

Static data structure: Static data structures have fixed memory sizes. It remains fixed throughout the execution of the program data structure's size does not change dynamically during runtime. Example: Array

Dynamic data structure: Dynamic data structures have a variable size that can be updated during runtime, offering efficient memory space utilization. They are beneficial when the number of elements or size of the data structure is uncertain or subject to change.

tree: A tree is a non-linear data structure that represents a hierarchical structure. Each node in the tree contains a value and a list of references to its child nodes, creating a hierarchical relationship between the nodes.

graph: A graph is a non-linear data structure that represents a network of nodes. It consists of vertices (nodes) and edges, where each edge connects two vertices, establishing a relationship between them.

Array: Collection of elements stored in a contiguous memory location.

Queues: A first in first out (FIFO) structure where elements are added at one end and removed from another end.

Linked list: A sequence of nodes where each node contains data and a reference to the next node.

Stacks: A Last in First out (LIFO) structure where elements are added at one end and removed at the same end.