Computer Science
Group 3 — Programming Revision Sheet
📘 Group 3 — Programming Revision Sheet (प्रोग्रामिंग भाषा + DSA + IDE)
Sources: DSA Handbook (28/07/26) · DSA Quiz-1 · IDE Quiz-1 · प्रोग्रामिंग भाषा Quiz 1,4,5,6 · Chat Discussions — RSMSSB BCI Exam Focus
🔗 How These Topics Connect (Group Map)
प्रोग्रामिंग भाषा (Machine → Assembly → High-Level; Compiler/Interpreter/Assembler से Translate होती है)
→ इन्हीं भाषाओं में Data Structures & Algorithms Implement होते हैं (Array, Stack, Queue, Tree, Graph, Sorting, Searching)
→ यह पूरा Code (भाषा + DSA Logic) लिखा, Compile, Run और Debug होता है IDE के अंदर (Text Editor + Compiler/Interpreter + Debugger + Build Tool)।
🔗 उदाहरण Cross-Link: "Compiler भाषा को Machine Code में बदलता है" (Prog. Lang) ⟷ "IDE का Build Feature Compiler का ही उपयोग करता है" (IDE) ⟷ "Stack, Recursion व Infix→Postfix Convert करने में उपयोग होती है" (DSA) — यही तीनों Concept मिलाकर Exam में Combined MCQ बनते हैं।
🔗 उदाहरण Cross-Link: "Compiler भाषा को Machine Code में बदलता है" (Prog. Lang) ⟷ "IDE का Build Feature Compiler का ही उपयोग करता है" (IDE) ⟷ "Stack, Recursion व Infix→Postfix Convert करने में उपयोग होती है" (DSA) — यही तीनों Concept मिलाकर Exam में Combined MCQ बनते हैं।
🚨 मेरी Exam Traps & Confusions (Highest Priority)
Trap 1 — Stack vs Queue: Stack = LIFO/FILO (दोनों नाम सही, समान अर्थ) · Queue = FIFO
🧠 Push=Insert, Pop=Delete (Stack) · Enqueue(Rear)=Insert, Dequeue(Front)=Delete (Queue)
🧠 Push=Insert, Pop=Delete (Stack) · Enqueue(Rear)=Insert, Dequeue(Front)=Delete (Queue)
Trap 2 — DFS vs BFS: DFS→Stack (गहराई) · BFS→Queue (Level by level)
🧠 "Deep=Stack, Broad=Queue"
🧠 "Deep=Stack, Broad=Queue"
Trap 3 — BST Traversal: केवल Inorder = Sorted Ascending; Preorder/Postorder Sorted नहीं होते
Trap 4 — Compiler vs Interpreter vs Assembler (सबसे ज़्यादा दोहराया गया — 12+ बार):
🔗 यह IDE के "Build" Feature से जुड़ा है — Build = Source Code को Executable/Deployable Form में बदलना (Compiler इसी में उपयोग होता है)।
| Translator | Input→Output | तरीका |
|---|---|---|
| Compiler | High-Level → Machine Code | पूरा Program एक साथ |
| Interpreter | High-Level → Direct Execute (बिना पूरा Machine Code बनाए) | Line by Line |
| Assembler | Assembly → Machine Code | एक साथ |
Trap 5 — AVL Balance Factor: Valid = –1,0,+1 · ≥2 या ≤–2 → Rotation (LL/RR/LR/RL)
Trap 6 — Full Binary Tree: n leaves → Total Nodes = 2n–1 (2n या n+1 नहीं)
Trap 7 — Spanning Tree Edges = V–1 (V edges नहीं)
Trap 8 — Binary Search: केवल Sorted Array पर चलती है; Unsorted पर पहले Sort करना ज़रूरी
Trap 9 — Max-Heap vs Min-Heap vs BST: Heap केवल Complete Binary Tree की Parent≥/≤Children Property रखता है; BST जैसा Left
Trap 10 — Stack Overflow Index (PYQ BCI 2022): SIZE=11, top=-1 → Max valid top = 10 (Index 0–10)
Trap 11 — i++ का अर्थ: i++ = i = i + 1; (RSMSSB LDC 2018 — 2 बार पूछा गया)
Trap 12 — = vs ==: = Assignment है, == Comparison है। तीन Variable बराबर जाँचना: age1==age2 && age2==age3
Trap 13 — Internal vs External Sorting (Coaching Material में Confusion): मानक Theory में Merge Sort भी Internal हो सकता है (यदि पूरा Data RAM में हो), पर पुराने Objective GK Pattern में इसे प्रायः External Sort माना गया है — प्रश्न के Context अनुसार उत्तर दें। ⚠️ Verify Required (Source-dependent)
Trap 14 — Slowest Sorting Algorithm: Bubble और Selection दोनों Worst=O(n²), पर "Slowest Practical" पूछने पर Exam Answer प्रायः Bubble Sort होता है
Trap 15 — Java 016 Octal Trap: Java में 0 से शुरू Number = Octal माना जाता है → 016(Octal) = 1×8+6 = 14(Decimal)
Trap 16 — String Array Default Value: Java में Object/Reference Array के खाली Elements का Default = null (Primitive का 0 नहीं)
Trap 17 — C++ Class Default Access: Class Members Default = Private · Struct Members Default = Public
Trap 18 — C में class नहीं होता (यह C++ का Data Type है, C Procedural है)
Trap 19 — Logical vs Relational Operators: Logical = && || ! · Relational = > < == — एक Quiz में इन्हें गलत Classify किया गया था (देखें 🚨 Answer Key Doubts)
🎯 High Priority Weak Areas (Sub-topic-wise)
| Sub-topic | Level | Focus Point |
|---|---|---|
| Tree Traversals (Pre/In/Post + PYQ) | 🔴 बहुत कमजोर | Output निकालना, Diagram से Traversal |
| Postfix/Prefix Conversion | 🔴 बहुत कमजोर | Stack Algorithm + Precedence |
| OOP Concepts (Encapsulation/Inheritance/Polymorphism/Abstraction) | 🔴 बहुत कमजोर | 15+ बार पूछा गया, बार-बार गलती |
| Compiler/Interpreter/Assembler | 🟠 कमजोर | 12+ बार पूछा गया |
| Java (JVM/Bytecode/Scanner/File/Constructor) | 🟠 कमजोर | Syntax व Compilation Flow |
| C Programming Basics (Pointers, const, Data Types) | 🟠 कमजोर | * और & का उपयोग, Keywords |
| AVL Rotations / Heap Operations | 🟠 कमजोर | Rotation Type पहचानना |
| Graph Algorithms (BFS/DFS/MST) | 🟠 कमजोर | Data Structure Used, Algorithm Names |
| Sorting Time Complexity + Pass-1 Dry Run | 🟠 कमजोर | Best/Worst Case, Pass-wise Output |
| IDE Features (Code Outline/Folding/Completion/Build) | 🟠 कमजोर | Feature Names न मिलाएं |
| Array Address Formula | 🟡 ठीक | Row-major/Column-major |
| Linked List Operations | 🟢 ठीक | Insert/Delete Complexity |
⭐ High-Yield Exam Facts — Sub-topic-wise (Logical Order)
1️⃣ प्रोग्रामिंग भाषा (Programming Languages)
| Concept | Fact |
|---|---|
| भाषाओं के प्रकार | Machine → Assembly → High-Level (Machine Independent) |
| Generations | 1GL=Machine · 2GL=Assembly · 3GL=C/Java/COBOL · 4GL=Query(SQL) · 5GL=Prolog(Logic) |
| Compiler/Interpreter/Assembler | 🔗 देखें ऊपर Trap 4 |
| FORTRAN | = Formula Translation; पहली High-Level Language(1957, John Backus, IBM); Scientific उपयोग |
| COBOL | Business/Commercial उपयोग; Structured Language |
| Pascal | Structured Language, Teaching-oriented |
| C Language | Dennis Ritchie ने बनाई (Bell Labs, 1972); High-Level पर कुछ Low-Level Features के साथ (Middle-Level भी कहा जाता है) |
| Prolog | Non-Procedural / Logic Programming Language; AI के लिए उपयुक्त |
| Python | High-Level Language, आसान Syntax |
| Java | High-Level; Web/Multimedia के लिए लोकप्रिय; Applet Java में बनते थे |
| HTML | Hyper Text Markup Language (Web Pages) |
| XML | Extensible Markup Language; XML Version Declaration से शुरू होना चाहिए, फिर Root Element |
| Instruction Structure | Opcode(क्या करना है) + Operand(किस Data पर) |
| Reserved Words | Meaning पहले से Fixed — जैसे if, while, int |
| Identifier | Variable/Function/Array सभी के नाम Identifier कहलाते हैं |
| ASCII | 7 Data Bits + 1 Parity(Error-check) Bit = 8 Bit; 2⁸=256 Patterns |
| BCD | Binary Coded Decimal |
| Compiler Phases | Lexical Analysis → Syntax Analysis(Parsing) → Semantic Analysis → Code Generation |
| Error Types | गलत Syntax → Compile-Time Error · गलत Logic → Run-Time/Logical Error |
| Debugging | Program की Errors ढूँढना व ठीक करना |
2️⃣ OOP Concepts (C++/Java में — भाषाओं का हिस्सा)
| Concept | Meaning |
|---|---|
| Class | Object बनाने का Blueprint |
| Object | Class का Instance |
| Encapsulation | Data + Methods को एक Class में Bind करना |
| Abstraction | केवल आवश्यक Information दिखाना, Implementation छिपाना |
| Inheritance | एक Class दूसरी की Properties लेती है (Code Reusability) |
| Polymorphism | एक Interface, अलग-अलग Implementation (Same Name, Different Behaviour) |
| Constructor | Class के नाम जैसा नाम, No Return Type, Public Section में |
| Friend Function | Class के बाहर पर Private Members Access कर सकता है |
| Private Member Access | केवल उस Class का Member Function ही Access कर सकता है (Object सीधे नहीं) |
| Private Inheritance | Base Class के Public Members भी Derived Class में Private बन जाते हैं |
| C++ Default Access | Class=Private · Struct=Public |
| Function Overloading | Compile-Time Polymorphism |
3️⃣ Data Structures & Algorithms
Linear vs Non-Linear
| Linear | Non-Linear |
|---|---|
| Array, Stack, Queue, Linked List | Tree, Graph |
Stack ⭐⭐⭐ (सबसे पसंदीदा Topic)
- LIFO/FILO · Push=Add · Pop=Remove
- Uses: Recursion, Infix→Postfix/Prefix Conversion, Undo, Parenthesis Matching, DFS 🔗(Prog. भाषा में Recursion भी इसी से Implement होती है)
- Overflow: top=SIZE-1 · Underflow: top=-1
Infix→Postfix Rule: Precedence ^ > */ > +− । Operand→direct output; (→push; )→pop till(; Operator→pop higher/equal precedence फिर push; अंत में सब pop करो।
| Expression | Postfix |
|---|---|
| A+B*C | ABC*+ |
| a+b*c+(d*e) | abc*+de*+ |
Queue
| Type | Fact |
|---|---|
| Simple Queue | FIFO · Front से Delete, Rear से Insert · Overflow: REAR==N-1 |
| Circular Queue | Overflow: (REAR+1)%N==FRONT · Empty: FRONT==REAR==-1 |
| Deque | दोनों ends पर Insert/Delete |
Queue के प्रकार: Ordinary, Circular, Priority — Single-ended कोई Type नहीं है (⭐PYQ Trap)। Queue बनाने के लिए Minimum 2 Stack चाहिए और Stack बनाने के लिए 2 Queue।
Tree ⭐⭐⭐ (सबसे ज़्यादा PYQ)
| Traversal | Order | Key Fact |
|---|---|---|
| Inorder | Left→Node→Right | BST में Sorted Ascending |
| Preorder | Node→Left→Right | Node पहले |
| Postorder | Left→Right→Node | Node अंत में |
| Level Order | Level by level | = BFS, Queue-based, DFS नहीं |
BST: Left<Parent<Right · Best/Avg=O(log n), Worst(skewed)=O(n) · n keys से Possible BST संख्या = Catalan Number C(2n,n)/(n+1)
AVL: Balance Factor=Height(L)−Height(R) · Valid=−1,0,+1 · Rotations: LL/RR/LR/RL
Heap: Max-Heap Root=Max, Parent≥Children · Min-Heap Root=Min, Parent≤Children · Priority Queue के लिए Heap Best
Graph
- Tree = Connected Graph बिना Cycle · Spanning Tree Edges=V−1
- DFS→Stack · BFS→Queue(Shortest path in unweighted)
- MST: Kruskal's + Prim's (Greedy) · Shortest Path: Dijkstra's(single source) · All-pairs: Floyd-Warshall(DP)
- Undirected max edges = n(n−1)/2 · Sum of degrees = 2×edges · Odd-degree vertices हमेशा Even संख्या में होते हैं
Sorting — Time Complexity
| Algorithm | Best | Avg | Worst | Note |
|---|---|---|---|---|
| Bubble | O(n) | O(n²) | O(n²) | सबसे Slow माना जाता है |
| Selection | O(n²) | O(n²) | O(n²) | हमेशा O(n²), Pass में सिर्फ 1 Swap |
| Insertion | O(n) | O(n²) | O(n²) | Nearly-sorted के लिए Best |
| Quick | O(n log n) | O(n log n) | O(n²) | Divide&Conquer, Worst=O(n²) ⚠ |
| Merge | O(n log n) | O(n log n) | O(n log n) | हमेशा O(n log n) ⭐, Divide&Conquer |
| Heap | O(n log n) | O(n log n) | O(n log n) | Heap Data Structure उपयोग |
Pass-1 Shortcut: Bubble→सबसे बड़ा Number अंत में जाता है (Adjacent Swap) · Selection→सबसे छोटा Number शुरुआत में जाता है (सिर्फ 1 Swap) · Insertion→पहले 2 Elements आपस में Sort होते हैं
Searching
| Algo | Condition | Complexity |
|---|---|---|
| Linear Search | Sorted/Unsorted दोनों | O(n) |
| Binary Search | Sorted Array अनिवार्य | O(log n) |
Array Address Formula
Row-major: Base+[(i−LB_row)×cols+(j−LB_col)]×size · Column-major: Base+[(j−LB_col)×rows+(i−LB_row)]×size
C/C++/Java→Row-major · Fortran/MATLAB/R→Column-major
C/C++/Java→Row-major · Fortran/MATLAB/R→Column-major
Array Traversal (Algorithm PYQ)
Repeat for K=LB to UB: Apply PROCESS to LA[K] = Traversal (हर Element को exactly एक बार Visit करना, O(n)) — Searching नहीं (Target नहीं ढूँढ रहा), Sorting नहीं (कोई Swap नहीं)
Hashing
Search=O(1) average · Collision Resolution: Linear Probing, Chaining(Deletion आसान) · Load Factor=n/m
4️⃣ IDE (Integrated Development Environment)
| Concept | Fact |
|---|---|
| Full Form | Integrated Development Environment |
| मुख्य Components | Text Editor + Compiler/Interpreter 🔗(भाषा अनुभाग देखें) + Debugger + Build Tool + Project Explorer |
| Code Outline | Class/File के Methods व Functions की List दिखाता है |
| Code Folding | Code Hide/Show करना |
| Code Completion | Typing के दौरान Statement Suggest/Complete करता है (पूरा Program नहीं लिखता) |
| Build Feature | Source Code को Executable/Deployable Form में बदलना — 🔗Compiler का उपयोग करता है |
| Code Navigator | Codebase में Navigate करने में मदद करता है |
| Project Explorer Toolbar Buttons | View Code, View Object, Toggle Folders (View Element नहीं है) |
| Web-based IDE Example | (Official Key अनुसार) Visual Studio Code — ⚠️ वास्तव में यह मुख्यतः Desktop Editor है, Exam Key से उत्तर दें |
| Android Development IDE | Android Studio |
| iOS Development IDE | Xcode |
| NetBeans | Drag & Drop GUI Builder — उदाहरण: Radio-Button (Java Code Editor भी है) |
| IDE नहीं है जो Tool | Sound Editor (IDE Programming के लिए है, Audio Editing के लिए नहीं) |
| IDE का लाभ | Time Saving (Development आसान व तेज़) |
| GUI Features | WYSIWYG, Dialog Box, Icons — Extensive Keystrokes GUI Feature नहीं है |
| Java Code Editor नहीं | MS Word (यह Word Processor है) |
📌 One-Line Revision
- Compiler=पूरा Program एक साथ Convert · Interpreter=Line by Line · Assembler=Assembly→Machine
- Stack=LIFO(Push/Pop) · Queue=FIFO(Enqueue/Dequeue)
- DFS=Stack · BFS=Queue=Level Order
- BST Inorder=Sorted · AVL BF=−1,0,+1
- Full Binary Tree: n leaves→2n−1 nodes · Spanning Tree: V−1 edges
- Binary Search केवल Sorted Array पर, O(log n)
- Merge/Heap Sort हमेशा O(n log n); Quick Sort Worst=O(n²)
- IDE=Editor+Compiler/Interpreter+Debugger+Build; Build=Executable बनाना (Run नहीं)
- OOP 4 Pillars: Encapsulation, Inheritance, Polymorphism, Abstraction
🧮 Algorithm Complexity Cheat-Sheet
Complexity Order (Ascending): O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2ⁿ)
Big-O=Upper/Worst bound · Omega(Ω)=Lower/Best bound · Theta(Θ)=Tight/Average bound
Big-O=Upper/Worst bound · Omega(Ω)=Lower/Best bound · Theta(Θ)=Tight/Average bound
🧠 Memory Tricks & Mnemonics
- Stack=LIFO="Last plate first use" · Queue=FIFO="Bus line"
- DFS="Deep→Stack" · BFS="Broad→Queue"
- Traversal: In=LNR, Pre=NLR, Post=LRN
- AVL="Always Valid Levels (−1,0,1); 2 से Rotation आती है"
- Merge Sort worst=O(n log n)="Merge हमेशा Smart" · Quick Sort worst=O(n²)="Quick कभी-कभी गड़बड़"
- Row-major="Row wale Real programmers(C/C++/Java)" · Column-major="Column wale Formula wale(Fortran/MATLAB/R)"
- Bubble="Big goes Back" · Selection="Smallest to Start" · Insertion="Index 1 से तुलना शुरू"
- IDE="I Do Everything" (एक ही जगह Code, Compile, Debug)
- Connection-chain Trick: "भाषा लिखो(Prog Lang) → Structure बनाओ(DSA) → IDE में चलाओ"
⭐ PYQ Favourite Topics (सबसे अधिक दोहराए गए)
| Rank | Topic | Level |
|---|---|---|
| 1 | OOP Concepts | ⭐⭐⭐ (15+ बार) |
| 2 | Compiler/Interpreter/Assembler | ⭐⭐⭐ (12+ बार) |
| 3 | Java (JVM/Bytecode/Scanner/File) | ⭐⭐⭐ (12+ बार) |
| 4 | Stack — LIFO, Push/Pop, Applications | ⭐⭐⭐ |
| 5 | C Programming Basics | ⭐⭐ (10+ बार) |
| 6 | Tree Traversal Output | ⭐⭐ |
| 7 | Infix→Postfix/Prefix Conversion | ⭐⭐ |
| 8 | Sorting Time Complexity + Pass Dry-run | ⭐⭐ |
| 9 | HTML/XML | ⭐⭐ (8+ बार) |
| 10 | Programming Language Classification (1GL–5GL) | ⭐⭐ |
| 11 | DFS/BFS Data Structure Used | ⭐ |
| 12 | IDE Features (Build, Code Outline, Completion) | ⭐ |
🚨 Answer Key Doubts / Source Conflicts
1. Logical Operators Question (Prog. Quiz 6): दी गई Answer Key >,<,= को Logical Operator बताती है — यह वास्तव में Relational Operators हैं। Logical Operators होते हैं && || !। ➡️ Answer Key Doubt।
2. C में User Defined Function Keyword (Quiz 5): दी गई Answer "define" संदिग्ध है — C में User Defined Function के लिए कोई Fixed Keyword नहीं होता; यह केवल #define (Macro) से Confuse हुआ लगता है। ➡️ Faulty Question।
3. Dynamic Web Pages Software (Quiz 5): दी गई Answer "Ruby" — प्रश्न "Software" पूछता है जबकि Ruby एक Language है, न कि Software। ➡️ प्रश्न अस्पष्ट/Faulty।
4. OOP Blueprint Question (Quiz 4): Options में सही उत्तर "Class" नहीं दिया गया था (Options: Inheritance/Polymorphism/Encapsulation/Abstraction)। ➡️ Faulty Question।
5. Internal vs External Sorting (Merge Sort): ⚠️ SYLLABUS CHECK NEEDED — मानक Theory अनुसार RAM में Sort होने पर Merge Sort Internal भी हो सकती है, पर पुराने Objective GK Pattern में इसे External माना गया। Context देखकर उत्तर दें।
🎯 Last-Minute Revision
- Compiler=Whole Program · Interpreter=Line-by-Line · Assembler=Assembly→Machine
- Stack=LIFO(DFS,Recursion,Infix-conv,Undo) · Queue=FIFO(BFS,Scheduling)
- BST Inorder=Sorted · Full BT: 2n−1 · Spanning Tree: V−1
- Binary Search=Sorted+O(log n) · Merge/Heap=Always O(n log n) · Quick Worst=O(n²)
- OOP=Encapsulation+Inheritance+Polymorphism+Abstraction · Class=Blueprint, Object=Instance
- IDE=Editor+Compiler+Debugger+Build; Build≠Run
- Java: 0-prefix Number=Octal · Reference Array Default=null · Class Default Access(C++)=Private
⚡ Rapid Revision (एक नज़र में)
प्रोग्रामिंग भाषा (Compiled/Interpreted) → DSA(इन्हीं भाषाओं में Implement) → IDE(इन सबको लिखना/Run/Debug करना) — तीनों को हमेशा एक Chain में याद रखें, Exam में अक्सर तीनों को मिलाकर एक ही MCQ पूछा जाता है।
Group 3 Revision Sheet v1.0 · Sources merged: DSA Handbook + DSA/IDE/Prog.Lang Quizzes (Quiz 1,4,5,6) · अगली Update में नई सामग्री यहीं Merge होगी।
Rajasthan Exam Twister
Comprehensive Preparation for Rajasthan Exams
Review detailed blog breakdowns, previous year papers, and topical revision handbooks.