Code Skiller logoCB Logo
Logo LearnLearnLogo PracticePracticeLogo HireHireLogo IDEIDE

Quick Search

User image

Published by

sanya sanya

Published at: 31st Jul, 2023
1.465 mins read

Quick search, also known as QuickSelect, is a selection algorithm used to find the k-th smallest element in an unsorted array.

Worst Case Time Complexity:

- In the worst case, QuickSelect has a time complexity of O(n^2), where n is the number of elements in the array.

- This worst case occurs when the chosen pivot element consistently partitions the array into unbalanced subarrays, resulting in poor performance.

- However, by using randomized pivot selection or other techniques to choose a good pivot, the worst case can be significantly reduced to O(n log n) with high probability.

Average Case Time Complexity:

- On average, QuickSelect has a time complexity of O(n), making it very efficient.

- The average case occurs when the pivot selection results in balanced partitions of the array, leading to efficient search.

- By randomly selecting the pivot element or using techniques like the median-of-medians algorithm for pivot selection, the average case performance can be achieved.

Finding the Top k Elements in a Sorted Array:

- If the array is already sorted in ascending order, finding the top k elements (k largest elements) can be done in O(k) time complexity.

- Start by selecting the pivot using QuickSelect and find its position in the array.

- If the pivot position is less than or equal to n - k (where n is the array size), the top k elements must be present in the right partition. Recurse on the right partition.

- If the pivot position is greater than n - k, the top k elements must be present in the left partition. Recurse on the left partition.

- Repeat the process until the top k elements are found.

Library

WEB DEVELOPMENT

FAANG QUESTIONS