Loops Time Complexity - 6

Duration: 17 min

This video lesson is available to enrolled students.

Return to /learn/COAL-INDIA-MANAGEMENT-TRAINEE/algorithms/time-complexity-analysis/iterative-loops-code/asset-loops-time-complexity-6 after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. About Course: About the Course
  2. Paper-2 | Programming & Data Structures: C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling, Introduction to DS, Array, Stack, Queue, Linked List, Tree, Graphs, Hashing
  3. Paper-2 | Databases / DBMS & SQL: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, SQL, Relational Calculus, Transaction Management, Concurrency Control
  4. Paper-2 | Algorithms: Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos
  5. Paper-2 | Computer Networks & Security: Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware Basics, Network Access Technologies, Network Security
  6. Paper-2 | Digital Logic: Digital Systems & Boolean Basics, Logic Gates & Hardware, Boolean Expression, Boolean Minimization, Combinational Circuit, Sequential Circuits, Number System, Number Representation, Floating Point Rep
  7. Paper-2 | Operating System: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory, Disc Scheduling, File Management
  8. Paper-2 | Theory of Computation: Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Grammar, Regular Language Properties, Moore & Mealy Machines, Pushdown Automata & CFG, Turing Machines
  9. Paper-2 | Computer Organization & Architecture: Basics of COA, Cache Memory Organization, Input Output Organisation, Pipelining, Instr Formats & Modes, Control Unit Design, Programming the Basic Computer
  10. Paper-2 | Compiler Design: Intro to Compilers, Lexical Analysis, Grammar & CFG, Syntax Analysis: Top-Down, Syntax Analysis: Bottom-Up, Semantic Analysis & SDT, Intermediate Code Gen, Code Optimization, Run Time Environment
  11. Paper-1 | General Awareness: Polity, Physics, Biology, Chemistry, Static General Knowledge, GK- Current Affairs, History, Geography, Indian Economy, Environment
  12. Paper-1 | Logical Reasoning: Series (Number and Letter Series) (Numerical Relations and Reasoning), Coding Decoding, Non Verbal Reasoning (Spatial Aptitude) (Spatial Reasoning) (Visual Reasoning), Data Interpretation, Blood Relations, Syllogisms, Deductive and Inductive Reasoning (Logical Deduction and Induction) (Prepositional Reasoning), Selection Decision Table (Decision Making), Clock, Calendar, Cubes & Dices, Directions (Direction Test), Analogy, Seating Arrangements, Analytical Reasoning (Counting Figures Reasoning)
  13. Paper-1 | Quantitative Aptitude: Ratio and Proportion (Ratios), Mixture and Alligation, Permutation and Combination, Number System, HCF LCM, Speed Time and Distance, Average, Age Problems, Percentage, Profit and Loss, Time and Work, Pipe and Cistern, Simple Interest and Compound Interest, Powers and Exponents (Surds and Indices), Mensuration and Geometry, Probability, Statistics, Arithmetic, Algebra
  14. Paper-1 | English: Vocabulary, Comprehension / Reading Comprehension / Unseen Passages (Critical Reasoning) (Paragraph Questions), Sentence Re-arrangements (Para Jumbles) (Narrative Sequencing), Sentence Correction (Error Correction), Sentence Completion (Fill in the blanks), Sentence Construction, Cloze Test (Cloze Passage)
  15. Coal India Previous Year Paper:
  16. Engineering Mathematics: Set Theory, Relations, Functions, Graph Theory, Group Theory, Propositional and Predicate Logic, Linear Algebra, Calculus
  17. Coal India Mock Test:
AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This lecture segment focuses on analyzing the time complexity of loops where the loop variable is updated exponentially, specifically through squaring or raising to a power. The instructor systematically derives the number of iterations by tracing the sequence of values taken by the iterator variable and solving inequalities involving powers. The core concept involves recognizing that when a loop variable grows exponentially (e.g., i = i^2 or i = i^5), the number of iterations is not linear but logarithmic with respect to the input size n. The analysis progresses from simple squaring cases (i = i^2) to more complex exponential updates (i = i^5), demonstrating that the time complexity is often expressed using iterated logarithms, such as Θ(log log n). The instructor uses step-by-step algebraic manipulation, applying logarithms to both sides of inequalities to isolate the iteration count k. Key visual evidence includes handwritten sequences of powers (2, 4, 16, 256...), inequality chains comparing these values to n, and the final derivation of complexity bounds using Big-Theta notation.

Chapters

  1. 0:00 – 2:00 00:00-02:00

    The instructor introduces the analysis of a for-loop where the iterator i is squared in each iteration, defined as `for(i = 2; i <= n; i = i^2)`. He begins by initializing the loop variable to 2 and traces its progression, writing down values like 4 (which is 2^2) to demonstrate the rapid growth. The instructor points directly at the printf statement inside the loop body to emphasize what is being executed repeatedly, establishing the context for complexity analysis. He sets up initial inequalities such as `2 <= n? True` to check the loop condition at each step, laying the groundwork for determining how many times the loop executes before i exceeds n.

  2. 2:00 – 5:00 02:00-05:00

    Continuing the trace of the loop `for(i = 2; i <= n; i = i^2)`, the instructor writes out the sequence of values for i: 2, then 2^1 (noting a potential typo or specific notation), and then 2^2. He sets up inequalities to determine how many times the loop runs before i exceeds n, writing `2 <= n? True` and then `(2^1) <= n? True`. This indicates a step-by-step breakdown of the loop's progression to derive its complexity. The instructor highlights the pattern where i grows as powers of 2, specifically noting values like 16 (which is 4^2 or 2^4) to show exponential growth. He circles specific terms like 2^4 to emphasize the pattern of squaring in each iteration, which is crucial for understanding why the complexity will be logarithmic.

  3. 5:00 – 10:00 05:00-10:00

    The instructor formalizes the analysis by setting up a general term for the k-th iteration, writing `i = 2^(2^k)`. He sets up the inequality for the last iteration as `2^(2^k) <= n` and applies logarithms to solve for k. By taking the log base 2 of both sides, he derives `log_2(2^k) <= log_2 n`, which simplifies to `k+1` or similar terms depending on the exact indexing. This step demonstrates how nested logarithms arise from exponential growth in loop variables. The instructor writes out the sequence of values i takes: 2, 2^2, (2^2)^2 = 2^4, and so on, showing how quickly i exceeds n. He circles 2^4 to highlight the pattern and writes inequalities on the right side to track the iteration count, confirming that the complexity is related to log(log(n)).

  4. 10:00 – 15:00 10:00-15:00

    The instructor transitions to a new loop structure where the variable i is raised to the 5th power in each iteration, defined as `for(i = 5; i <= n; i = i^5)`. He systematically calculates the values of i in each iteration, starting from 5, then 5^5, and then 5^(5*5) or 5^(5^2). He sets up inequalities to determine when the loop terminates, writing `5 < n`, `5^5 <= n`, and `5^(5^2) <= n` to track iterations. The process involves finding the number of iterations k such that `5^(5^k) <= n`. The instructor writes the general term for the k-th iteration as `i = 5^(5^k)` and demonstrates that solving this inequality requires taking logarithms twice, similar to the previous squaring case but with base 5.

  5. 15:00 – 17:29 15:00-17:29

    The instructor concludes the derivation by solving the inequality `5^(5^k) <= n` for k. He takes logarithms twice to isolate the exponent, showing that `log_5 5^(5^k) <= log_5 n` simplifies to `5^k <= log_5 n`, and then taking the log again yields `k <= log_5 log_5 n`. The final complexity is determined to be Θ(log_5 log_5 n). He verifies the iteration count logic with k+1 and writes the final complexity bound on screen. The instructor emphasizes that for any loop where i is raised to a constant power p (i = i^p), the complexity will be Θ(log_p log_p n). This reinforces the general rule that exponential updates to loop variables result in iterated logarithmic time complexity.

The lecture demonstrates a consistent method for analyzing loops with exponential updates. The key takeaway is that when the loop variable i grows as a power of itself (i = i^p), the number of iterations k satisfies p^(p^k) <= n. Solving for k requires applying logarithms twice, resulting in a time complexity of Θ(log_p log_p n). The instructor uses concrete examples with p=2 and p=5 to illustrate this pattern. Visual evidence includes handwritten sequences of powers, inequality chains, and the final Big-Theta notation. Students should note that the base of the logarithm corresponds to the power used in the loop update rule. This concept is critical for understanding algorithms that reduce problem size exponentially, such as certain search or divide-and-conquer strategies.

Loading lesson…