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