Bird
Raised Fist0
Swiftprogramming~5 mins

Comparison operators in Swift - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Comparison operators
O(n)
Understanding Time Complexity

When we use comparison operators, we want to know how long it takes to compare values as the input grows.

We ask: How does the time to compare change when we have more items?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


let numbers = [3, 7, 2, 9, 5]
let target = 7
var found = false

for number in numbers {
    if number == target {
        found = true
        break
    }
}

This code checks if a target number is in the list by comparing each item until it finds a match.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Comparing each number to the target using ==.
  • How many times: Up to once for each item in the list, until a match is found.
How Execution Grows With Input

As the list gets bigger, the number of comparisons can grow up to the size of the list.

Input Size (n)Approx. Operations
10Up to 10 comparisons
100Up to 100 comparisons
1000Up to 1000 comparisons

Pattern observation: The number of comparisons grows roughly in a straight line with the list size.

Final Time Complexity

Time Complexity: O(n)

This means the time to find the target grows directly with the number of items you check.

Common Mistake

[X] Wrong: "Comparing two values takes longer as the list grows."

[OK] Correct: Each comparison between two values takes the same small amount of time, no matter the list size. The total time grows because you do more comparisons, not because each one is slower.

Interview Connect

Understanding how comparison operations add up helps you explain how searching or filtering works in real code. It shows you can think about efficiency clearly.

Self-Check

"What if we used a sorted list and stopped searching early? How would the time complexity change?"

Practice

(1/5)
1. Which of the following comparison operators checks if two values are equal in Swift?
easy
A. ==
B. !=
C. >
D. <=

Solution

  1. Step 1: Understand the equality operator

    The operator == is used to check if two values are equal in Swift.
  2. Step 2: Compare with other operators

    != means not equal, > means greater than, and <= means less than or equal to.
  3. Final Answer:

    == -> Option A
  4. Quick Check:

    Equality operator = == [OK]
Hint: Remember: double equals means equality check [OK]
Common Mistakes:
  • Confusing == with = (assignment)
  • Using != to check equality
  • Mixing > and < with equality
2. Which of the following is the correct syntax to check if variable a is not equal to variable b in Swift?
easy
A. a != b
B. a =! b
C. a !== b
D. a <> b

Solution

  1. Step 1: Identify the not equal operator in Swift

    Swift uses != to check if two values are not equal.
  2. Step 2: Check syntax correctness

    a != b is correct. a =! b is invalid syntax, !== is for identity comparison in some languages but not for value inequality in Swift, and <> is not a Swift operator.
  3. Final Answer:

    a != b -> Option A
  4. Quick Check:

    Not equal operator = != [OK]
Hint: Not equal always has ! before = [OK]
Common Mistakes:
  • Swapping = and ! in != operator
  • Using === instead of !=
  • Using <> which is not valid in Swift
3. What will be the output of the following Swift code?
let x = 10
let y = 20
print(x > y)
medium
A. true
B. 10
C. 20
D. false

Solution

  1. Step 1: Understand the comparison

    The code compares if x (10) is greater than y (20).
  2. Step 2: Evaluate the comparison

    Since 10 is not greater than 20, the expression x > y is false.
  3. Final Answer:

    false -> Option D
  4. Quick Check:

    10 > 20 = false [OK]
Hint: Compare values carefully, > means strictly greater [OK]
Common Mistakes:
  • Assuming 10 > 20 is true
  • Confusing > with <
  • Printing variable values instead of boolean
4. Identify the error in the following Swift code snippet:
let a = 5
let b = 10
if a = b {
    print("Equal")
} else {
    print("Not Equal")
}
medium
A. Using print instead of println
B. Missing parentheses around condition
C. Using = instead of == in if condition
D. Variables a and b must be var, not let

Solution

  1. Step 1: Check the if condition syntax

    The condition uses a = b, which is assignment, not comparison.
  2. Step 2: Correct operator for comparison

    To compare values, Swift requires == instead of =.
  3. Final Answer:

    Using = instead of == in if condition -> Option C
  4. Quick Check:

    Comparison needs ==, not = [OK]
Hint: Use == for comparison, = is assignment [OK]
Common Mistakes:
  • Using = instead of == in conditions
  • Thinking parentheses are mandatory in Swift if
  • Confusing print and println functions
5. You want to check if a number n is between 10 and 20 inclusive in Swift. Which of the following expressions correctly uses comparison operators to do this?
hard
A. n > 10 || n < 20
B. n >= 10 && n <= 20
C. n == 10 && n == 20
D. n != 10 && n != 20

Solution

  1. Step 1: Understand the range condition

    To check if n is between 10 and 20 inclusive, it must be greater than or equal to 10 and less than or equal to 20.
  2. Step 2: Analyze each option

    n >= 10 && n <= 20 uses n >= 10 && n <= 20, which correctly checks the inclusive range. n > 10 || n < 20 uses OR which is incorrect for range. n == 10 && n == 20 checks if n equals both 10 and 20 simultaneously, which is impossible. n != 10 && n != 20 checks if n is not 10 and not 20, which does not ensure the range.
  3. Final Answer:

    n >= 10 && n <= 20 -> Option B
  4. Quick Check:

    Inclusive range uses >= and <= with AND [OK]
Hint: Use && with >= and <= for inclusive range checks [OK]
Common Mistakes:
  • Using || instead of && for range
  • Checking equality to both ends at once
  • Using != which excludes values instead of range
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