7. Data Structures and Algorithm, Database System and Operating System
7.1 Introduction to Data Structures, Lists, Linked Lists, and Trees
- Data Types, Data Structures, and Abstract Data Types (ADT)
- Time and Space Complexity Analysis of Algorithms
- Big-O, Omega, and Theta Notations
- Linear Data Structures
- Stack and Queue Implementation
- Stack Applications: Infix to Postfix Conversion, Evaluation of Postfix Expressions
- Array Implementation of Lists
- Stack and Queues as Lists
- Static List Structures, Static vs Dynamic List Structures
- Dynamic Implementation of Linked List
- Types of Linked Lists
- Singly Linked List, Doubly Linked List, Circular Linked List
- Basic Operations on Linked Lists
- Creation, Insertion, Deletion of Nodes at Different Positions
- Doubly Linked Lists and Their Applications
- Tree
- Binary Tree Operations: Search, Insertion, Deletion
- Tree Traversals: Pre-order, In-order, Post-order
- Height, Level, and Depth of a Tree
- AVL Balanced Trees
7.2 Sorting, Searching, and Graphs
- Types of Sorting
- Internal and External Sorting
- Insertion Sort, Selection Sort, Exchange Sort
- Merge Sort, Radix Sort, Shell Sort, Heap Sort (as a Priority Queue)
- Big-O Notation and Efficiency of Sorting
- Searching Techniques
- Sequential Search, Binary Search, Tree Search
- General Search Trees, Hashing: Hash Function and Hash Tables, Collision Resolution Techniques
- Graph Concepts
- Undirected and Directed Graphs
- Graph Representation and Transitive Closure of Graph
- Warshall’s Algorithm
- Graph Traversal Techniques: Depth First Traversal, Breadth First Traversal
- Topological Sorting: Depth First, Breadth First Topological Sorting
- Minimum Spanning Trees: Prim’s, Kruskal’s, and Round-Robin Algorithms
- Shortest-Path Algorithms: Greedy Algorithm, Dijkstra’s Algorithm
7.3 Introduction to Data Models, Normalization, and SQL
- Data Abstraction and Data Independence
- Schema and Instances
- Entity-Relationship (E-R) Model
- Strong and Weak Entity Sets, Attributes and Keys
- E-R Diagram
- Normalization
- Different Normal Forms (1st, 2nd, 3rd, BCNF)
- Functional Dependencies, Integrity Constraints, and Domain Constraints
- Relational Databases
- Relations (Joined, Derived)
- DDL and DML Commands: Queries, Views, Assertions, Triggers
- Relational Algebra and Query Optimization
- Query Cost Estimation and Query Operations
- Evaluation of Expressions and Query Decomposition
7.4 Transaction Processing, Concurrency Control, and Crash Recovery
- ACID Properties
- Concurrency in Databases
- Concurrent Executions, Serializability
- Lock-based Protocols, Deadlock Handling and Prevention
- Failure Classification, Recovery, and Atomicity
- Log-based Recovery
7.5 Introduction to Operating Systems and Process Management
- Evolution of Operating Systems
- Types and Components of Operating Systems
- Operating System Structure and Services
- Introduction to Processes
- Process Description, States, Control
- Threads and Process-Thread Relationships
- Scheduling and Concurrency
- Types of Scheduling, Principles of Concurrency
- Critical Region, Race Condition, Mutual Exclusion
- Semaphores, Mutex, Message Passing, Monitors
- Classical Synchronization Problems
7.6 Memory Management, File Systems, and System Administration
- Memory Management
- Memory Addresses, Swapping, Free Memory Space Management
- Virtual Memory Management, Demand Paging, Page Replacement Algorithms
- File Systems
- File, Directory, File Paths, File System Implementation
- Impact of Allocation Policy on Fragmentation
- File System Performance and Mapping File Blocks on the Disk Platter
- System Administration Tasks
- User Account Management, System Startup and Shutdown Procedures
Last updated on