Quick Sort For Beginners | Strivers A2Z DSA Course

  Рет қаралды 279,698

take U forward

take U forward

Күн бұрын

Notes:
Problem Link: bit.ly/41sTzt8
Full Course: bit.ly/tufA2ZYt
Notes/C++/Java/Python Codes: takeuforward.org/data-structu...
You can follow me across social media, all my handles are below:
Linkedin/Instagram/Telegram: linktr.ee/takeUforward
0:00 - intro
1:10 - Flow Chart
3:28 - Explanation of the Algo
19:29 - Psuedo Code & Dry run
27:32 - Note about comparator signs
29:01 - Important Point
29:52 - Online code
32:31 - Time Complexity and Space complexity
34:22 - Outro

Пікірлер: 351
@takeUforward
@takeUforward Жыл бұрын
Let's march ahead, and create an unmatchable DSA course! ❤ The worst case complexity will be O(N ^ 2) if we end up choosing the largest or smallest element as the pivot always. We will add this in the notes in the description. I missed this in the video.
@yashhokte1020
@yashhokte1020 Жыл бұрын
Yes striver , even i was thinking same that you didn't explain this thing , btw thankyou so much for this much crystal clear explaination ..
@anookimmidisetty2939
@anookimmidisetty2939 10 ай бұрын
Hi striver @takeUforward , when are you going to release video solutions for string type problems and heaps?
@yaswanthmitta8983
@yaswanthmitta8983 10 ай бұрын
There is a minor mistake in your algo at 23:54 in while loop condition must be arr[i]
@teen_python_go9947
@teen_python_go9947 2 ай бұрын
Since, we are always choosing pivot to be the first element of the array, we can always avoid the O(n^2) case by pre-checking if the array is pre-sorted (with O(n) Time Complexity) and if it is not then only feed it into the quick sort function.
@yashsharma6112
@yashsharma6112 9 ай бұрын
I have to state it that "I tried to learn all sorting techniques various time. I learned but after a few days I forgot. But when you just added the real meaning of each sorting techniques. Like why it is called as selection sort and so on.... SO now I just remember their meanings and write the algorithm on my own." Thank you very much. Loved your teaching style
@vedantgolash6084
@vedantgolash6084 Ай бұрын
same here
@anusha6033
@anusha6033 Ай бұрын
same heree
@chiranjeebpanda8926
@chiranjeebpanda8926 20 күн бұрын
same here
@deepanshuthakur140
@deepanshuthakur140 7 ай бұрын
I tried to learn this from every yt channel but striver is the one i got it from, respect++
@adityamaheshwari4250
@adityamaheshwari4250 Жыл бұрын
Really you make everything a cakewalk! Thank you so much sir, it takes a big heart to do such a lot for the community for free❤
@ParasSharma-mf8or
@ParasSharma-mf8or Жыл бұрын
Thanks for this amazing lecture,this is my humble request please complete this course as soon as possible.
@parthmangalkar
@parthmangalkar 7 ай бұрын
Understood! Thank you!! You are the best! Thanks a lot for making this DSA playlist! It really is helping me a lot!
@FunkyPanda6263
@FunkyPanda6263 Жыл бұрын
1 video every 2 days... Seems TRUE ❣️
@Kaushik846
@Kaushik846 5 ай бұрын
Probably one of the crisp and to the point explanation of quick sort algorithm available online!!
@keshariaman
@keshariaman Жыл бұрын
Thanks a lot for Quick Short. Feels easier to understand 🥰
@ashokasamrat8375
@ashokasamrat8375 Жыл бұрын
Thanks for recursive effort brother.And till now all your lectures are absolutely awesome 🔥🔥
@meshkatuddinahammed
@meshkatuddinahammed Жыл бұрын
Can't thank you more. Great lectures. Appreciate it.
@cinime
@cinime Жыл бұрын
Understood! Super amazing explanation as always, thank you very much!!
@pranshuatrey
@pranshuatrey Жыл бұрын
This is gold... Plz keep doing this..
@AdityaSharma-hs8os
@AdityaSharma-hs8os Жыл бұрын
please upload full course you are douing a good job bhaiyaaa ,you are really a honest teacher other youtubers who has million subscribers just make us fool on name of dsa course ,they just tell the problem and paste the soultion but you solve every aspect -f our doubt please cpmplete this and dont worry of views and watch time,time will come when everyone will know who is the best teacher on youtube for dsa
@active_akasa8429
@active_akasa8429 9 ай бұрын
striver you are the best out of best....this tutorial is just amazing and you are like god for us A big thank you so much for your effort 🙂
@makerNg1817
@makerNg1817 8 ай бұрын
it's very understandable way you teach. thank you for this amazing lecture
@rajkumarvb5197
@rajkumarvb5197 10 ай бұрын
Manhhhh 🥵, you are awesome. I can see the effort you are putting in! Thanks a lot! ❤
@mityamkumar1158
@mityamkumar1158 Жыл бұрын
Understood.... 💯💯 Excited for Arrays playlist❤
@ShivamGupta-xw6gh
@ShivamGupta-xw6gh Жыл бұрын
best explanation of quick sort on youtube
@soumelee5661
@soumelee5661 11 ай бұрын
Awesome explanation! TYSM for the videos
@animeshmishra6280
@animeshmishra6280 Жыл бұрын
how do you know which doubts are going to come in my mind. GREAT LECTURE SIR 🔥
@edisane8763
@edisane8763 8 ай бұрын
Because once he was also in the same place as we are now and he worked hard to reach this point now he is helping us
@ahssanakhtar5746
@ahssanakhtar5746 Ай бұрын
Excellent content about DSA .I am follwing you A-Z coarse and improve my self in DSA day by DSA Thanks for making such a amazing content
@abdulwahabshaik1686
@abdulwahabshaik1686 Жыл бұрын
Understanding everything u r teaching to us u r magician striver
@tusharkhandave374
@tusharkhandave374 8 ай бұрын
Thanks for giving this content for free it helps me a lot
@SwatiSingh-ys6hm
@SwatiSingh-ys6hm 9 ай бұрын
Damn it, i have learnt sorting algorithms a lot of times, but i aways manage to somehow forget.But after seeing this video now i understand it in so much more detail and depth which i earlier didn't even notice. thanks you soo much striver !
@scoc55vora15
@scoc55vora15 Жыл бұрын
Best , Detailed and Crisp
@gurudev8543
@gurudev8543 Жыл бұрын
Best explanation ever ❤️❤️❤️ Thanks bhaiya
@darkelixir2517
@darkelixir2517 Жыл бұрын
Understood, will be a quick way to remember the algorithm, well taught!! Thanks
@omkarsawant9267
@omkarsawant9267 6 ай бұрын
Quick Sort's in-place partitioning makes it more memory-efficient than Merge Sort in practice, but the worst-case space complexity can be higher when the partitioning is unbalanced. Time Complexity: Best Case: O(n log n) when the pivot choices consistently lead to balanced partitions. Average Case: O(n log n) Worst Case: O(n^2) when the pivot choices consistently lead to unbalanced partitions. However, with good pivot selection strategies (e.g., using the median element), this can be mitigated. Space Complexity: O(log n) auxiliary space for the recursive call stack in the best and average cases. O(n) in the worst case when the partitioning is highly unbalanced. Quick Sort's in-place partitioning makes it more memory-efficient than Merge Sort in practice, but the worst-case space complexity can be higher when the partitioning is unbalanced. Quick Sort tends to perform well in practice and is often faster than other O(n log n) algorithms, but its worst-case time complexity is worse than Merge Sort. Merge Sort's space complexity makes it less memory-efficient compared to some other sorting algorithms, but its stable performance and guaranteed O(n log n) time complexity in all cases make it a preferred choice for certain scenarios. Space Complexity: O(n) additional space is required for the temporary arrays during the merging process. It has a space complexity of O(n) due to the need for additional space for merging.
@Jinntechive
@Jinntechive 2 ай бұрын
Appreciate the effort you put for writing this comment 😇❤
@nayankhuman1043
@nayankhuman1043 10 күн бұрын
Thanks for the comment. i was looking for it.
@lakshmitirupatamma2139
@lakshmitirupatamma2139 Жыл бұрын
Thank you so much sir for this content. Very good explanation
@tanmaykarmakar6224
@tanmaykarmakar6224 Жыл бұрын
Quick sort in Descending order-(PYTHON) arr=[25,1,8,7,32,2,5] def piviot(arr,high,low): piviot=arr[high] i=high j=low while(i=piviot and i
@sumitapathak2900
@sumitapathak2900 7 ай бұрын
Hey I haven't done a dryrun of your code but as i has index of high how can in increment in the while loop?
@jayaveersai1446
@jayaveersai1446 6 ай бұрын
yes make sense and have to chnage the while (i
@alessandrocamilleri1239
@alessandrocamilleri1239 Жыл бұрын
Excellent explanation as usual. Thank you. I am posting the iterative version which should further save on recursion call stack space. I have used a queue as the data structure but stack works just as well. void quickSort (vector &nums) { int n = nums.size(); queue q; q.push({0, n-1}); int low, high, pivot, i, j; while(!q.empty()) { low = q.front().first; high = q.front().second; q.pop(); if (low >= high) continue; pivot = nums[low]; i = low; j = high; while (j > i) { while (nums[i] pivot && j > 0) j--; if (j >= i) swap(nums[i], nums[j]); } swap (nums[low], nums[j]); q.push({low, j-1}); q.push({j+1, high}); } }
@balakrishnanr648
@balakrishnanr648 Жыл бұрын
So Yah u tried the iterative version of Quick Sort but still you are using the space what the Recursive func calls use in func call stack in the QUEUE FORM. O(logN) Queue takes as extra space. Like the point is Quick sort no matter what -> You can further optimize. Func Stk Space or in Iterative normal stack or queue space is needed. As we need to store it somewhere -> what are the next range of places where it is unsorted. Either use the system's func call stack or make ur own.
@hareshnayak7302
@hareshnayak7302 2 ай бұрын
Understood,Thanks striver for this amazing video.
@AbdullahKhan-et6qo
@AbdullahKhan-et6qo Жыл бұрын
Was eagerly waiting for your videos 🙌
@pradeep6635
@pradeep6635 Ай бұрын
understood Bhayya.The best explanation in youtube😎
@revathiP9185
@revathiP9185 Жыл бұрын
Thank you bhaiya. Amazing explanation ❤
@THE-MYSTIC
@THE-MYSTIC Жыл бұрын
Thanks striver this video helped me ❤
@sumit49
@sumit49 Жыл бұрын
us!! please add it in the same playlist as that will be more organised . ❣❣
@DevashishJose
@DevashishJose Жыл бұрын
Understood. Thank you so much.
@manavsingh5919
@manavsingh5919 11 ай бұрын
Understood sir.....u r the best👍💞
@rohanraj2604
@rohanraj2604 Жыл бұрын
Crystal clear bhaiya 😍
@rishabhkumar-qs3jb
@rishabhkumar-qs3jb Ай бұрын
Excellent explanation :)
@Hipfire786
@Hipfire786 2 ай бұрын
understood everything sir so far all sorting techniques
@Manishgupta200
@Manishgupta200 Жыл бұрын
Here is my Assignment question solution : #include using namespace std; int partition(vector &arr, int low, int high){ int pivot = arr[low]; int i = low; int j = high; while(i < j){ while(arr[i] >= pivot && i = low + 1) j--; if(i < j) swap(arr[i], arr[j]); } swap(arr[low], arr[j]); return j; } void qs(vector& arr, int low, int high){ if(low < high){ int pIndex = partition(arr, low, high); qs(arr, low, pIndex - 1); qs(arr, pIndex + 1, high); } } int main(void){ // vector v = {4, 3, 2, 1}; vector v = {4, 3, 2, 1, 4, 7, 5, 6}; int n = v.size(); qs(v, 0, n-1); for(auto it : v) cout
@waibeeYB
@waibeeYB Жыл бұрын
Understood bhaiya! Thank you
@gulammohammadali4831
@gulammohammadali4831 Жыл бұрын
Very well understood 🙂
@basusingg4882
@basusingg4882 6 ай бұрын
Very well understood!
@subhadeepghosh2813
@subhadeepghosh2813 Жыл бұрын
Kaha se sikha hai aise padana? vai koi vi nahi hai tumhare jaisa. Maza aa gaya
@rayyanrahim7413
@rayyanrahim7413 Жыл бұрын
love from pakistan we need these type of legend to teach progamming
@bonammadankumar681
@bonammadankumar681 3 ай бұрын
You rocks the DSA
@mansiyelgulwar4765
@mansiyelgulwar4765 Жыл бұрын
Understood Thank You!!!
@Manoj_IIC-Admin
@Manoj_IIC-Admin Жыл бұрын
at time 23:52 it should be pivot not ar[pivot] thanks bhaiya
@ankit-yj7hk
@ankit-yj7hk 22 күн бұрын
understand bhaiya !!! thank uh so much
@ankiitttkmmm
@ankiitttkmmm Жыл бұрын
man you awesome Thanks
@sakshamtyagi2969
@sakshamtyagi2969 4 ай бұрын
Completely Understood 👍👍
@yashpandey7
@yashpandey7 12 күн бұрын
understood , Step 2 completed :)
@bhagyashreekhairnar683
@bhagyashreekhairnar683 4 ай бұрын
Thank you thank you !!
@NazeerBashaShaik
@NazeerBashaShaik 3 ай бұрын
Understood, thank you.
@harshitjaiswal9439
@harshitjaiswal9439 11 ай бұрын
Amazing!
@kingreja5894
@kingreja5894 10 ай бұрын
//for descending while (arr[i]>=pivot && i
@_hulk748
@_hulk748 Жыл бұрын
Thank you sir🙇‍♂️🙏❤
@konankikeerthi
@konankikeerthi 20 күн бұрын
Thanks bro.. understood
@dayashankarlakhotia4943
@dayashankarlakhotia4943 Жыл бұрын
Good explanation us
@____Akash__
@____Akash__ Жыл бұрын
After long time ❤️❤️
@diyaarora3199
@diyaarora3199 10 ай бұрын
Wonderful Explanation!! Notes include the space complexity as O(1)+O(N) auxiliary stack space. Is it the worst case space complexity? And is the best and average case auxiliary space complexity O(logN)?
@The_Shubham_Soni
@The_Shubham_Soni 17 күн бұрын
Best Teacher
@user-ut2te7td7e
@user-ut2te7td7e 10 ай бұрын
After checking all lectures on internet...None has explained better than you
@preetisahani5054
@preetisahani5054 9 ай бұрын
Its a great video, but you should also explain the cases where complexity for quick sort can result to O(n^2) in the case where all elements of array are same and when array is already sorted, in those cases partition will always be 1, n-1.
@krishnendughosh2368
@krishnendughosh2368 6 ай бұрын
sorted or even if sorted in descending order complexity will be n^2
@manish_mnnit
@manish_mnnit 10 ай бұрын
For Descennding Order Sorting -> //Just Reverse the inequality sign in partition function :- #include int partition(vector&arr,int low,int high){ int pivot =arr[low]; int i=low ,j=high; while(i
@nayankhuman1043
@nayankhuman1043 10 күн бұрын
Understood ! ❤
@makingthamilan1592
@makingthamilan1592 6 ай бұрын
you are my God , thanks man 🥰
@jassbawa955
@jassbawa955 5 ай бұрын
UNDERSTOOD!
@tasneemayham974
@tasneemayham974 Жыл бұрын
CODE FOR DESCENDING (JAVA): public void quickSort(int[] arr, int low, int high){ if(low low){ j--; } if(i
@DineshKumar-pw7qb
@DineshKumar-pw7qb 9 ай бұрын
When I try to run this code(using array), I getting no output and the code runs for infinite time. When I try with ArrayList, I am getting output. Explain why? This put me into severe headache
@tasneemayham974
@tasneemayham974 9 ай бұрын
@@DineshKumar-pw7qb Heyy!! You mean my code? Either way, can you send me the code you are working on. I want to try it. How about that? Maybe we can fix it together?
@DineshKumar-pw7qb
@DineshKumar-pw7qb 9 ай бұрын
@@tasneemayham974bro are sure about your code is working well with array?
@tasneemayham974
@tasneemayham974 9 ай бұрын
@@DineshKumar-pw7qb Hey, mate! I copied my code, and yes it works with arrays. It doesn't give me errors or infinite loops, but... this line: while(arr[i] > pivot && i < high) I missed the =. I am so sorry. I should be: while(arr[i] >= pivot && i < high) Check it out now. But as I understand, the problem with your code is the array itself, yes? Not the output? If you want you can send the code. Because mine works well with array. P.S.: I will edit the original comment, and put the equal.
@ankush8243
@ankush8243 5 ай бұрын
Thank you bhaiya!
@nagame859
@nagame859 Жыл бұрын
Understood 👍
@zyzzbrah9429
@zyzzbrah9429 14 күн бұрын
int partition (int arr[], int low, int high) { int p=arr[low]; int i=low,j=high; while(i=p && i
@shailesh3348
@shailesh3348 10 күн бұрын
I also completed 2 steps can we connect?
@juhichoudhary9281
@juhichoudhary9281 8 ай бұрын
Understood ❤️‍🔥
@khalasianiket816
@khalasianiket816 16 күн бұрын
understood ❤
@her_soulmate
@her_soulmate 9 ай бұрын
Understood 🎉
@arnavanant3049
@arnavanant3049 Жыл бұрын
you are OP bhaiya
@Kirito045
@Kirito045 8 ай бұрын
Understood Striver on TOP!
@eshaanpandey7353
@eshaanpandey7353 Жыл бұрын
Thanks
@YourCodeVerse
@YourCodeVerse 8 ай бұрын
Understood✅🔥🔥
@lwnflash2123
@lwnflash2123 2 ай бұрын
Is recursive stack space not required while computing space somplexity?
@AbhishekKumar-cd4gg
@AbhishekKumar-cd4gg 10 ай бұрын
// for descending order just we have to do the tweaks in the how we are selecting elements when which we are stopping when we are finding element smaller in left and stop when we find the element greater the pivot then we just we swap it than it goes in the recursion stack public class Quicksort { static int partiton(int arr [] , int low , int high ){ int pivot = arr[low]; int i= low; int j = high; while (i < j ) { while (arr[i] >= pivot && i = low + 1 ) { j--; } if(i < j ){ int temp = arr[i]; arr[i] = arr [j]; arr[j] = temp; } } int temp = arr[j]; arr[j] = arr[low]; arr[low] = temp; return j ; } static void quicksort(int arr [] , int low , int high){ if(low < high ){ int PartionIndex = partiton(arr,low,high) ; quicksort(arr, low , PartionIndex-1); quicksort(arr, PartionIndex+1 , high); } } public static void main(String[] args) { int arr [] = {10, 80, 30, 90, 40}; int n = arr.length-1; quicksort(arr, 0, n); for (int i : arr) { System.out.print(i + " "); } } }
@ayushsagar9183
@ayushsagar9183 2 ай бұрын
understood🔥
@johndurai2226
@johndurai2226 Жыл бұрын
understood striver bro
@sangeetha_1403
@sangeetha_1403 Ай бұрын
Understood🙏
@venugopal_2003
@venugopal_2003 Жыл бұрын
understood!
@ranjanworld5450
@ranjanworld5450 11 ай бұрын
I will watch the next video now
@user-tk2vg5jt3l
@user-tk2vg5jt3l 4 ай бұрын
Thank you Bhaiya
@KartikeyTT
@KartikeyTT 2 күн бұрын
tysm sir
@abhimanyusingh4906
@abhimanyusingh4906 9 ай бұрын
UNDERSTOOD
@naveensaicremsiyadlapalli3769
@naveensaicremsiyadlapalli3769 Жыл бұрын
Super
@shaiksoofi3741
@shaiksoofi3741 5 ай бұрын
Thank yyou
@sid17_cgdyt
@sid17_cgdyt Жыл бұрын
// condition i
@user-uv5or5bm2c
@user-uv5or5bm2c 5 ай бұрын
Understood!!
@deepak8720
@deepak8720 7 ай бұрын
Understood. :)
@sonalikharwar4269
@sonalikharwar4269 9 ай бұрын
Instead of 3,2,1 it should be 1,3,2 coz we have done swapping b/w 4 & 1 like swap(arr[low], arr[j]) right ?
@nikhild.20
@nikhild.20 8 ай бұрын
Understood!
L8. Combination Sum | Recursion | Leetcode | C++ | Java
27:00
take U forward
Рет қаралды 535 М.
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 88 МЛН
TRY NOT TO LAUGH 😂
00:56
Feinxy
Рет қаралды 15 МЛН
When someone reclines their seat ✈️
00:21
Adam W
Рет қаралды 29 МЛН
2.8.1  QuickSort Algorithm
13:43
Abdul Bari
Рет қаралды 3,1 МЛН
❌ Don't Run Behind 500 LEETCODE Problems ❌ Focus on QPCD
8:31
8 patterns to solve 80% Leetcode problems
7:30
Sahil & Sarra
Рет қаралды 177 М.
Learn Quick Sort in 13 minutes ⚡
13:49
Bro Code
Рет қаралды 289 М.
Lecture36: Quick Sort using Recursion | Day-6 | 10 Day Recursion Challenge
37:55
I gave 127 interviews. Top 5 Algorithms they asked me.
8:36
Sahil & Sarra
Рет қаралды 601 М.
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 88 МЛН