KEMBAR78
Linear search Binary search complexity analysis | PPTX
Linear Search,Binary Search in
Python
Concepts, Code & Comparison
Linear Search - Concept
• Linear Search checks each element one by one
• Works on unsorted or sorted data
• Time Complexity: O(n)
Linear Search - Python Code
def linear_search(arr, x):
for i in range(len(arr)):
if arr[i] == x:
return i
return -1
# Example
arr = [2, 4, 6, 8, 10]
print(linear_search(arr, 8)) # Output: 3
Binary Search - Concept
• Binary Search repeatedly divides the array in
half
• Works only on sorted data
• Time Complexity: O(log n)
•Start with the full array (low = 0, high = len(arr) - 1).
•Find the middle element:
mid = (low + high) // 2
•Compare arr[mid] with x:
•If equal found at index mid.
→
•If arr[mid] < x search the
→ right half (low = mid + 1).
•If arr[mid] > x search the
→ left half (high = mid - 1).
•Repeat until low > high (which means element not found return -
→
1).
Binary Search - Python Code
def binary_search(arr, x):
"""
Perform binary search on a sorted array.
Parameters:
arr (list): Sorted list of elements.
x (any): Element to search for.
Returns:
int: Index of x in arr if found, otherwise -1.
"""
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2 # middle index
if arr[mid] == x: # element found
return mid
elif arr[mid] < x: # search in right half
low = mid + 1
else: # search in left half
high = mid - 1
return -1 # not found
# Example usage
arr = [2, 4, 6, 8, 10] # must be sorted
x = 8
result = binary_search(arr, x)
Comparison: Linear vs Binary Search
• • Linear Search:
• - Simple, works on unsorted data
• - O(n) time complexity
• • Binary Search:
• - Faster, works only on sorted data
• - O(log n) time complexity
• Use Linear Search for small/unsorted lists,
• Binary Search for large/sorted lists.

Linear search Binary search complexity analysis

  • 1.
    Linear Search,Binary Searchin Python Concepts, Code & Comparison
  • 2.
    Linear Search -Concept • Linear Search checks each element one by one • Works on unsorted or sorted data • Time Complexity: O(n)
  • 3.
    Linear Search -Python Code def linear_search(arr, x): for i in range(len(arr)): if arr[i] == x: return i return -1 # Example arr = [2, 4, 6, 8, 10] print(linear_search(arr, 8)) # Output: 3
  • 4.
    Binary Search -Concept • Binary Search repeatedly divides the array in half • Works only on sorted data • Time Complexity: O(log n)
  • 5.
    •Start with thefull array (low = 0, high = len(arr) - 1). •Find the middle element: mid = (low + high) // 2 •Compare arr[mid] with x: •If equal found at index mid. → •If arr[mid] < x search the → right half (low = mid + 1). •If arr[mid] > x search the → left half (high = mid - 1). •Repeat until low > high (which means element not found return - → 1).
  • 6.
    Binary Search -Python Code def binary_search(arr, x): """ Perform binary search on a sorted array. Parameters: arr (list): Sorted list of elements. x (any): Element to search for. Returns: int: Index of x in arr if found, otherwise -1. """ low = 0 high = len(arr) - 1
  • 7.
    while low <=high: mid = (low + high) // 2 # middle index if arr[mid] == x: # element found return mid elif arr[mid] < x: # search in right half low = mid + 1 else: # search in left half high = mid - 1 return -1 # not found # Example usage arr = [2, 4, 6, 8, 10] # must be sorted x = 8 result = binary_search(arr, x)
  • 8.
    Comparison: Linear vsBinary Search • • Linear Search: • - Simple, works on unsorted data • - O(n) time complexity • • Binary Search: • - Faster, works only on sorted data • - O(log n) time complexity • Use Linear Search for small/unsorted lists, • Binary Search for large/sorted lists.