Bird
Raised Fist0
Swiftprogramming~5 mins

If and if-else statements in Swift - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: If and if-else statements
O(1)
Understanding Time Complexity

We want to see how the time it takes to run code with if and if-else statements changes as the input changes.

Specifically, does a larger input value make the program take longer when using these statements?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


func checkNumber(_ num: Int) {
    if num > 0 {
        print("Positive")
    } else if num < 0 {
        print("Negative")
    } else {
        print("Zero")
    }
}
    

This code checks if a number is positive, negative, or zero and prints a message accordingly.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single if-else check on one number.
  • How many times: The checks happen once per function call.
How Execution Grows With Input

Each time you call the function with a number, it does a few quick checks only once.

Example InputApprox. Operations
101 check
1001 check
10001 check

Pattern observation: The number of operations remains constant (1 check) regardless of the input value.

Final Time Complexity

Time Complexity: O(1)

This means each if or if-else check takes the same small amount of time no matter what the input number is.

Common Mistake

[X] Wrong: "If statements take longer when the number is bigger because it has to check more conditions."

[OK] Correct: The if-else checks only a fixed number of conditions, so the size or value of the number does not make it slower.

Interview Connect

Understanding that simple if and if-else statements run quickly and do not slow down with bigger inputs helps you explain how your code handles decisions efficiently.

Self-Check

"What if we added a loop inside the if statement that runs n times? How would the time complexity change?"

Practice

(1/5)
1. What does an if statement do in Swift?
easy
A. It runs code only if a condition is true.
B. It repeats code multiple times.
C. It stores data in a variable.
D. It defines a new function.

Solution

  1. Step 1: Understand the purpose of if statement

    An if statement checks a condition and runs code only when that condition is true.
  2. Step 2: Compare with other options

    Repeating code is done by loops, storing data is done by variables, and defining functions uses func.
  3. Final Answer:

    It runs code only if a condition is true. -> Option A
  4. Quick Check:

    If statement = runs code if true [OK]
Hint: If checks true condition to run code, else skips it [OK]
Common Mistakes:
  • Confusing if with loops
  • Thinking if stores data
  • Mixing if with function definitions
2. Which of the following is the correct syntax for an if-else statement in Swift?
easy
A. if condition { } else { }
B. if (condition) then { } else { }
C. if condition then { } else { }
D. if condition: { } else: { }

Solution

  1. Step 1: Recall Swift if-else syntax

    Swift uses if condition { } and else { } blocks without extra keywords like 'then' or colons.
  2. Step 2: Check each option

    if condition { } else { } matches Swift syntax exactly. Options A, B, and C use invalid keywords or punctuation.
  3. Final Answer:

    if condition { } else { } -> Option A
  4. Quick Check:

    Swift if-else = if condition { } else { } [OK]
Hint: Swift uses braces {} without 'then' or colons in if-else [OK]
Common Mistakes:
  • Adding 'then' keyword
  • Using colons after if or else
  • Putting condition in parentheses unnecessarily
3. What will be printed by this Swift code?
let number = 10
if number > 5 {
    print("Big")
} else {
    print("Small")
}
medium
A. Small
B. No output
C. 10
D. Big

Solution

  1. Step 1: Evaluate the condition

    The variable number is 10. The condition number > 5 is true because 10 is greater than 5.
  2. Step 2: Determine which block runs

    Since the condition is true, the code inside the if block runs, printing "Big".
  3. Final Answer:

    Big -> Option D
  4. Quick Check:

    10 > 5 is true, so prints "Big" [OK]
Hint: Check condition true? Run if block, else run else block [OK]
Common Mistakes:
  • Confusing which block runs
  • Printing variable instead of string
  • Ignoring condition result
4. Find the error in this Swift code:
let age = 18
if age >= 18
    print("Adult")
else
    print("Minor")
medium
A. Variable age should be a string
B. Wrong comparison operator
C. Missing braces { } around if and else blocks
D. No error, code is correct

Solution

  1. Step 1: Check Swift if-else syntax

    Swift requires braces { } around the code blocks after if and else.
  2. Step 2: Identify missing braces

    The code lacks braces after if age >= 18 and else, causing a syntax error.
  3. Final Answer:

    Missing braces { } around if and else blocks -> Option C
  4. Quick Check:

    Swift needs braces for if-else blocks [OK]
Hint: Always use { } after if and else in Swift [OK]
Common Mistakes:
  • Omitting braces in if-else
  • Using wrong operators
  • Wrong variable types
5. You want to write Swift code that prints "Positive", "Negative", or "Zero" depending on the value of an integer variable num. Which code correctly uses if-else statements to do this?
hard
A. if num >= 0 { print("Positive") } else if num <= 0 { print("Negative") } else { print("Zero") }
B. if num > 0 { print("Positive") } else if num < 0 { print("Negative") } else { print("Zero") }
C. if num > 0 { print("Positive") } else { print("Negative") } print("Zero")
D. if num == 0 { print("Zero") } else if num > 0 { print("Negative") } else if num < 0 { print("Positive") }

Solution

  1. Step 1: Understand the conditions needed

    We need to check if num is greater than 0, less than 0, or exactly 0.
  2. Step 2: Analyze each option

    if num > 0 { print("Positive") } else if num < 0 { print("Negative") } else { print("Zero") } correctly checks >0, then <0, else zero. if num >= 0 { print("Positive") } else if num <= 0 { print("Negative") } else { print("Zero") } wrongly overlaps conditions. if num > 0 { print("Positive") } else { print("Negative") } print("Zero") prints "Zero" always. if num == 0 { print("Zero") } else if num > 0 { print("Negative") } else if num < 0 { print("Positive") } incorrectly prints "Negative" for positive numbers and "Positive" for negative numbers.
  3. Final Answer:

    if num > 0 { print("Positive") } else if num < 0 { print("Negative") } else { print("Zero") } -> Option B
  4. Quick Check:

    Check >0, else if <0, else zero [OK]
Hint: Check positive first, then negative, else zero last [OK]
Common Mistakes:
  • Overlapping conditions causing wrong output
  • Printing zero outside else block
  • Wrong order of conditions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard