7. Data Structures and Algorithm, Database System, and Operating System (ACtE07)
7.1 Introduction to Data Structures, Lists, Linked Lists, and Trees (ACtE0701)
Data Types and Abstract Data Types (ADT)
- Data Types: Integer, Float, String, Boolean, etc.
- Abstract Data Types (ADT): Defined by operations (e.g., Stack, Queue).
Time and Space Complexity (Big-O, Omega, Theta Notations)
- Big-O () Notation: Worst-case complexity.
- Omega () Notation: Best-case complexity.
- Theta () Notation: Average-case complexity.
Linear Data Structures
Stack (LIFO - Last In, First Out)
- Operations:
push()
,pop()
,peek()
. - Application: Expression evaluation (Infix to Postfix).
Queue (FIFO - First In, First Out)
- Operations:
enqueue()
,dequeue()
. - Types: Normal Queue, Circular Queue, Priority Queue.
Linked Lists
Types of Linked Lists
- Singly Linked List: Nodes linked in one direction.
- Doubly Linked List: Nodes linked in both directions.
- Circular Linked List: Last node links to the first.
Operations on Linked List
- Insertion: At beginning, middle, end.
- Deletion: Remove node from any position.
Trees and Tree Traversal
Binary Tree: Each node has at most two children.
Binary Search Tree (BST): Left < Root < Right.
Tree Traversals:
- Pre-Order: Root → Left → Right.
- In-Order: Left → Root → Right.
- Post-Order: Left → Right → Root.
AVL Tree: Self-balancing binary search tree.
7.2 Sorting, Searching, and Graphs (ACtE0702)
Sorting Algorithms
- Insertion Sort: Simple, O(n²).
- Selection Sort: Finds the smallest element, O(n²).
- Bubble Sort: Swaps adjacent elements, O(n²).
- Merge Sort: Divide and conquer, O(n log n).
- Quick Sort: Uses a pivot, O(n log n).
- Heap Sort: Uses heap data structure.
Searching Algorithms
- Sequential Search: Linear search (O(n)).
- Binary Search: Requires sorted array (O(log n)).
Graphs
Graph Representation:
- Adjacency Matrix: 2D array representation.
- Adjacency List: Linked list representation.
Graph Traversal:
- Depth First Search (DFS): Uses recursion.
- Breadth First Search (BFS): Uses a queue.
Graph Algorithms:
- Dijkstra’s Algorithm: Finds shortest path.
- Prim’s Algorithm: Minimum Spanning Tree (MST).
- Kruskal’s Algorithm: MST using edge sorting.
7.3 Data Models, Normalization, and SQL (ACtE0703)
Database Models
- Hierarchical Model: Tree-like structure.
- Network Model: Graph-based.
- Relational Model: Uses tables (RDBMS).
Normalization in Databases
- 1NF: No duplicate columns.
- 2NF: No partial dependencies.
- 3NF: No transitive dependencies.
- BCNF: Stronger 3NF.
SQL (Structured Query Language)
- DDL (Data Definition Language):
CREATE
,ALTER
,DROP
. - DML (Data Manipulation Language):
SELECT
,INSERT
,UPDATE
,DELETE
. - Joins: INNER JOIN, LEFT JOIN, RIGHT JOIN.
7.4 Transaction Processing, Concurrency Control, and Crash Recovery (ACtE0704)
ACID Properties
- Atomicity: Transactions are all or nothing.
- Consistency: Database remains valid.
- Isolation: Transactions execute independently.
- Durability: Changes are permanent.
Concurrency Control
- Lock-based Protocols: Prevent conflicts.
- Deadlock Handling: Wait-Die and Wound-Wait.
Crash Recovery
- Log-Based Recovery: Uses transaction logs.
7.5 Operating Systems and Process Management (ACtE0705)
Operating System Components
- Kernel: Core component.
- Shell: User interface.
- File System: Manages files.
Types of Operating Systems
- Batch OS: Executes jobs in batches.
- Multitasking OS: Runs multiple programs.
- Real-Time OS: Time-sensitive applications.
Process Management
- Process States: New → Ready → Running → Waiting → Terminated.
- Process Control Block (PCB): Stores process information.
- Threads: Lightweight processes.
Scheduling Algorithms
- First Come First Serve (FCFS): Non-preemptive.
- Shortest Job Next (SJN): Chooses shortest task first.
- Round Robin (RR): Assigns time slices to tasks.
Synchronization Issues
- Race Condition: Two processes accessing the same resource.
- Mutual Exclusion: Prevents simultaneous access.
- Semaphores: Used for process synchronization.
7.6 Memory Management, File Systems, and System Administration (ACtE0706)
Memory Management
- Virtual Memory: Uses secondary storage as memory.
- Paging: Divides memory into fixed-size pages.
- Segmentation: Divides memory into variable-sized segments.
Page Replacement Algorithms
- FIFO (First-In, First-Out).
- LRU (Least Recently Used).
- Optimal Algorithm.
File System Concepts
- File Structure: Logical storage of data.
- Directory Structure: Hierarchical file organization.
- File Allocation Methods:
- Contiguous Allocation.
- Linked Allocation.
- Indexed Allocation.
System Administration
- User Account Management: Creating and managing users.
- Startup and Shutdown Procedures: Booting, Restarting, Power Off.