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

dsa_notes

Data structures are methods for organizing and storing data efficiently, enabling quick access and modification. They include linear structures like arrays and linked lists, and non-linear structures like trees and graphs, each with specific time complexities for operations. Proper selection of data structures is essential for optimizing performance in various applications such as search engines and databases.

Uploaded by

pratikkokate88
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

dsa_notes

Data structures are methods for organizing and storing data efficiently, enabling quick access and modification. They include linear structures like arrays and linked lists, and non-linear structures like trees and graphs, each with specific time complexities for operations. Proper selection of data structures is essential for optimizing performance in various applications such as search engines and databases.

Uploaded by

pratikkokate88
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Computer Science Notes: Data Structures

1. Introduction to Data Structures


 A data structure is a way of organizing, managing, and storing data efficiently.
 It enables efficient access and modification.
2. Types of Data Structures
 Linear Data Structures: Elements are arranged sequentially (e.g., Array, Linked List, Stack,
Queue).
 Non-Linear Data Structures: Elements are arranged in hierarchical order (e.g., Tree, Graph).
3. Arrays
 Fixed-size, homogeneous collection of elements.
 Direct access using index.
 Time complexity:
 Access: O(1)
 Insertion/Deletion: O(n)
4. Linked List
 Collection of nodes where each node contains data and a reference to the next node.
 Types: Singly, Doubly, Circular
 Time complexity:
 Access: O(n)
 Insertion/Deletion: O(1) at the beginning
5. Stack
 Follows LIFO (Last In First Out).
 Operations: push, pop, peek
 Applications: Recursion, expression evaluation, undo mechanisms
6. Queue
 Follows FIFO (First In First Out).
 Types: Simple Queue, Circular Queue, Deque, Priority Queue
 Applications: CPU scheduling, IO buffers, print queues
7. Trees
 Hierarchical data structure.
 Binary Tree: Each node has up to 2 children.
 Binary Search Tree (BST): Left < Root < Right
 AVL Tree: Self-balancing BST
 B-Trees: Used in databases for balanced multi-level indexing
8. Graphs
 Collection of nodes (vertices) connected by edges.
 Types: Directed, Undirected, Weighted, Unweighted
 Representation: Adjacency Matrix, Adjacency List
 Traversal: BFS (Breadth First Search), DFS (Depth First Search)
9. Hash Table
 Stores key-value pairs.
 Uses a hash function to compute index.
 Handles collisions using chaining or open addressing
10. Applications
 Data structures are used in real-world applications like:
 Search engines
 Social media (Graph algorithms)
 Compilers (Stack, Parse Trees)
 Databases (B-Trees, Hash Tables)
Summary
 Choosing the right data structure can significantly impact performance and efficiency.
 Understanding complexity and use-cases is crucial for real-world application design.

You might also like