Data Structures and Algorithms in Python - Full Course for Beginners

Поделиться
HTML-код
  • Опубликовано: 22 дек 2024

Комментарии • 915

  • @kannalix-amsmhss4369
    @kannalix-amsmhss4369 3 года назад +2244

    ⭐️ Course Contents ⭐️
    ⌨️ (00:00:00) Introduction
    ⌨️ (00:01:43) Binary Search Linked Lists and Complexity
    ⌨️ (00:03:43) Introduction
    ⌨️ (00:08:35) Problem
    ⌨️ (00:12:17) The Method
    ⌨️ (00:13:55) Solution
    ⌨️ (00:50:52) Complexity and Big O notation
    ⌨️ (01:24:57) Binary Search vs Linear Search
    ⌨️ (01:31:40) Generic Binary Search
    ⌨️ (01:40:08) Summary and Conclusion
    ⌨️ (01:44:30) Assignment Walkthrough
    ⌨️ (01:45:05) Introduction
    ⌨️ (01:50:01) Problem- Rotated Lists
    ⌨️ (01:53:02) The Method
    ⌨️ (01:54:03) Solution
    ⌨️ (02:30:47) Summary and Conclusion
    ⌨️ (02:33:29) Binary Search Trees Python Tutorial
    ⌨️ (02:34:41) Introduction
    ⌨️ (02:37:36) Problem
    ⌨️ (02:38:40) The Method
    ⌨️ (03:13:58) Binary tree
    ⌨️ (03:27:16) Traversing Binary Tree
    ⌨️ (03:36:10) Binary Search Tree
    ⌨️ (04:22:37) Self-Balancing Binary Trees and AVL Trees
    ⌨️ (04:26:27) Summary and Conclusion
    ⌨️ (04:30:33) Hash Tables and Python Dictionaries
    ⌨️ (04:31:09) Introduction
    ⌨️ (04:34:00) Problem
    ⌨️ (04:40:28) Data List
    ⌨️ (04:42:52) Hash Function
    ⌨️ (04:54:52) Basic Hash Table Implementation
    ⌨️ (05:03:07) Handling Collisions with Linear Probing
    ⌨️ (05:09:24) Summary and Conclusion
    ⌨️ (05:16:47) Sorting Algorithms and Divide & Conquer
    ⌨️ (05:17:48) Introduction
    ⌨️ (05:20:19) Problem
    ⌨️ (05:21:27) The Method
    ⌨️ (06:40:49) Custom Comparison Functions
    ⌨️ (06:48:53) Summary and Conclusion
    ⌨️ (06:54:57) Recursion Memoization & Dynamic Programming
    ⌨️ (06:56:37) Introduction
    ⌨️ (07:00:04) Problem
    ⌨️ (07:04:28) The Method
    ⌨️ (07:06:21) Solution
    ⌨️ (08:06:13) Knapsack Problems
    ⌨️ (08:08:48) The Method
    ⌨️ (08:09:24) Solution
    ⌨️ (08:43:26) Summary and Conclusion
    ⌨️ (08:44:05) Graph Algorithms BFS, DFS & Shortest Paths
    ⌨️ (08:45:02) Introduction
    ⌨️ (08:51:00) Graph Data Structure
    ⌨️ (09:15:57) Graph Algorithms - Breadth-First Search
    ⌨️ (09:37:28) Depth-First Search
    ⌨️ (10:08:26) Shortest Paths
    ⌨️ (10:40:39) Summary and Conclusion
    ⌨️ (10:42:21) Python Interview Questions Tips & Advice
    ⌨️ (10:43:09) Introduction
    ⌨️ (10:44:08) The Method
    ⌨️ (10:47:10) Solution
    ⌨️ (12:30:51) Summary and Conclusion
    NOTE: this is not copied from the description , description is copied from this. So i didn't copy pasted, description is copy pasted from this

  • @haliltezel8106
    @haliltezel8106 3 года назад +1228

    İndians really really awesome actually,they are teaching coding to almost half of IT industry.Thanks brother

    • @penultimania4295
      @penultimania4295 3 года назад +48

      unfortunately all theyre good at is theory.

    • @gautamgautam3452
      @gautamgautam3452 3 года назад +146

      @@penultimania4295 at least people like you can learn and make practicals.

    • @NikhilYadav-du6wn
      @NikhilYadav-du6wn Год назад +58

      ​@@penultimania4295 still ahead of your league

    • @Ronak557t
      @Ronak557t Год назад

      That’s why google and youtube and microsoft ceo are Indians

    • @MarcusHCrawford
      @MarcusHCrawford Год назад +35

      Wow. Serious racism going on in here. Lol.

  • @zigginzag584
    @zigginzag584 3 года назад +812

    This is great. I did the MIT Online Introduction to Computation and Programming using Python course and am currently working to build my freelance business. This will be a major boost. Thank you.

    • @yourfriendlyneighborhood5547
      @yourfriendlyneighborhood5547 3 года назад +20

      Wow I'm exactly doing the same now lol, best of luck bruv 👍

    • @muchintalasushmith1367
      @muchintalasushmith1367 3 года назад +5

      Is that course good and highly recommended.?!

    • @yourfriendlyneighborhood5547
      @yourfriendlyneighborhood5547 3 года назад

      @@zigginzag584 wait you bought the course book? What's the name of it?

    • @zigginzag584
      @zigginzag584 3 года назад +10

      @@yourfriendlyneighborhood5547 Introduction to Computation and Programming using Python with Application to understanding Data by John V Guttag. I keep it here at my desk for reference when needed.

    • @yourfriendlyneighborhood5547
      @yourfriendlyneighborhood5547 3 года назад +7

      @@muchintalasushmith1367 Well as far as I covered in that course I can say that it's for absolute beginners in Python and computer science. It's actually kinda slow imo bcoz I already knew Python to some extent. Conclusion - if you just need to gather knowledge audit the course in edx platform without paying(it's actually worth to pay if you want a certificate). This course is not just Python, it also teaches us some fundamentals in computer science, that's why it's great for beginners.

  • @devstation18
    @devstation18 3 года назад +8

    Thanks

  • @BalanceChen87
    @BalanceChen87 2 года назад +109

    10:33:49 The algorithm picks 2-3-4-8 as the shortest path, total distance 15, while in fact the 2-3-0-8 path has a shorter distance of 12. I think this error is due to using the wrong graph data (num_nodes2, edges2). The right data that represents the graph should be num_nodes5, edges5.

    • @sriram7363
      @sriram7363 6 месяцев назад

      but i checked for proper graph(num_nodes5, edges5), the algorithm give value of 15. Do you know why?

    • @repanshu43
      @repanshu43 5 месяцев назад

      correct, although i made the algorithm myself raw from pseudocode and mine gives correct answer, i think they should write the code to avoid these reduncancies

    • @andrescasillas6213
      @andrescasillas6213 4 месяца назад

      for make the correct answer, only change the conditional where it says: if next_node:, put instead if next_node is not None, and thats it, the code gives the correct answer.

  • @Kevin-ch8fu
    @Kevin-ch8fu 3 года назад +190

    Oh wow this is just what I needed. Every time im studying something new you upload it within a day I swear this channel is a miracle and a gift from god. Thank you!

    • @Coders_World
      @Coders_World 3 года назад +1

      Literally💯

    • @light1673
      @light1673 3 месяца назад

      ​@@Coders_Worldruclips.net/video/B7-ppAdHO80/видео.htmlsi=miQ06U1FKMzIDzki

  • @alexk9626
    @alexk9626 3 года назад +164

    Exactly what I needed and precisely when I needed it. My excitement is immeasurable and my day is saved. Thank you!

    • @this_rishi
      @this_rishi 3 года назад +23

      'My excitement is immeasurable and my day is saved.'
      lol i see what you did there.

    • @Ramdoot_Shubham
      @Ramdoot_Shubham 3 года назад +2

      How far did u reach?

    • @aces8481
      @aces8481 4 месяца назад

      @@Ramdoot_Shubham dude probably quit 5 minutes in lol

  • @karthikbs8749
    @karthikbs8749 2 года назад +153

    30 mins and I am already in love with this course . Thank you akash for your efforts to help us. The way you explained to approach a problem was absolutely great

    • @TechWave2630
      @TechWave2630 2 месяца назад

      have you completed this course?

    • @athulkrishnatn4265
      @athulkrishnatn4265 Месяц назад

      Brother have you completed this course .how is it? Pls reply

    • @rashikpujari296
      @rashikpujari296 Месяц назад

      hello bro ,i have one doubt how to enroll in free to this course because now its not showing .please guide me!!!!

    • @EulGaStellar
      @EulGaStellar Месяц назад

      By the first 15 minutes, I already got this hope, this guy would make me Learn DSA for sure.😊

  • @джамп
    @джамп 3 года назад +438

    Oh my God.
    That's exactly what I needed! I just started watching your Data Structures Course, but I wanted it to be Python-related. So here we go! 12 hours of free high-quality content.
    Thank you.

    • @arkumar842
      @arkumar842 3 года назад +4

      did u complete?

    • @shubhamkumar-nw1ui
      @shubhamkumar-nw1ui 3 года назад +3

      Can anyone tell How is learning DS and algo in python different from learning it in. C/C+ ?

    • @джамп
      @джамп 3 года назад +2

      @@arkumar842 Have watched 1/4 of the whole thing.

    • @джамп
      @джамп 3 года назад +12

      @@shubhamkumar-nw1ui Only the implementation is different. Abstract data types like graphs or queues exist beyond a programming language, but the way you implement them depends on a programming language. Just learn DS the way you're more comfortable with.

    • @yadhukrishna9839
      @yadhukrishna9839 3 года назад +3

      Is the 12 hours worth it?

  • @PrayagSanjay
    @PrayagSanjay 3 года назад +107

    Brilliant course. Hits the nail on the head. Aakash you are such a good teacher. Hats off to you.

  • @MrVontar
    @MrVontar 3 года назад +82

    Watch this 2x...
    Implement in Java or C++
    Do 1 hour increments alongside 2 hour increments for introduction to algorithm books
    Do 1 hour leetcode blocks
    Congrats, you're understanding is at a new level.

    • @RAJUBHAI-ww7em
      @RAJUBHAI-ww7em 2 года назад +1

      .

    • @chintureddy1212
      @chintureddy1212 3 месяца назад +1

      could youmake this a bit more breif enough

    • @ga5567
      @ga5567 5 дней назад

      @MrVontar can you explain more it will really help me thanks in advance

  • @yashsrivastava2257
    @yashsrivastava2257 13 дней назад +2

    Timestamps for personal reference:
    8:38 - 2:33:28 - Lesson 1 : Binary Search
    2:33:29 - 3:36:10 - Lesson 2: Binary Trees
    3:36:11 - Lesson 2.5: BST

  • @roshanbhagat458
    @roshanbhagat458 3 года назад +21

    In the second python interview question, It was intention and execution that you began with and not intention and exception. Nevertheless the writing steps in plain English to solve the problem was life saving.

  • @mdmamun-vp9xj
    @mdmamun-vp9xj 3 года назад +7

    there was a problem in binary search (1:08:06).first elif i think this should be lo=mid+1.bcs query is greater than midnumber so we have to search right side of the array.and next elif it should be hi=mid-1.

  • @satabratapaul2077
    @satabratapaul2077 3 года назад +357

    Finaaaaaaallllyyyy in Python 😭😭😭😭😭😭😭😭😭
    I literally waited for this for soooooo loooonnnnggggg

  • @Lorryduckie2
    @Lorryduckie2 Год назад +6

    started this course few days ago. For a complete beginner like myself it is completely helpful although i'm struggling to progress but this course is exactly what i need.

    • @mohan4185
      @mohan4185 Год назад

      Every topic is covered in this video??

    • @Joshua-gk9bc
      @Joshua-gk9bc Год назад

      @@mohan4185 Pirate King said he got through FANG interviews with this course, this should be good enough😅

    • @ItWealthyFX
      @ItWealthyFX Месяц назад

      Am not understanding this can someone help me out

  • @aparnadadi
    @aparnadadi 3 месяца назад +7

    I started this course today onwords i will update everyday keep track of the course 00:00:00

    • @aris4537
      @aris4537 3 месяца назад +5

      Come back

  • @anuragthakur5787
    @anuragthakur5787 3 года назад +67

    These guys are really great I completed their data analysis and machine learning course.
    I am looking forward to complete their Deep learning course too
    Thank you very much Jovian and freecodecamp

    • @jeetbhatt5986
      @jeetbhatt5986 3 года назад +4

      Could you share that DA ML course link??
      Was it from Jovian or Freecodecamp?
      And how was it?

    • @ananthaswath5543
      @ananthaswath5543 3 года назад

      Can you write your review about the same ?It would be really helpful. Thanks

  • @aditya_asundi
    @aditya_asundi 3 года назад +17

    Put 00:00 at the beginning of the course content section in the description. Then the video will be divided into chapters.

    • @quincylarsonmusic
      @quincylarsonmusic 3 года назад +11

      Thanks. That worked.

    • @yourfellowhumanbeing2323
      @yourfellowhumanbeing2323 3 года назад +3

      @@quincylarsonmusic Hello there!!! Thank you for your platform!!!

    • @lordblanck7923
      @lordblanck7923 3 года назад +2

      Thanks....gonna help for sure...

    • @travbrack
      @travbrack 3 года назад +2

      @@quincylarsonmusic Thank you for everything. Not seeing the chapters on the timeline, latest Chrome on Mac.

    • @godfather7339
      @godfather7339 3 года назад

      @@travbrack same here, using brave on linux, however I can see the different chapters on other videos.

  • @Snowccian
    @Snowccian 2 года назад +69

    Excellent Course! Subject matter and contents are clearly articulated and easy to follow. I've learned a lot. Thank you!

  • @razerxp25
    @razerxp25 Год назад +12

    Hey man just wanted to thank you. Brilliant course. Teaching problem solving ain't easy but somehow you hit it spot on

  • @mohammadsahil4347
    @mohammadsahil4347 21 день назад +1

    00:00
    1:50:00 ✅
    2:35:00 ✅
    3:38:00 ✅
    4:30:00 ✅
    5:17:00 ✅
    6:55:00 ✅
    8:44:00

  • @anindiansquirrel
    @anindiansquirrel 9 месяцев назад +7

    ⭐ Course Contents ⭐
    ⌨ (00:00:00) Introduction
    ⌨ (00:01:43) Binary Search Linked Lists and Complexity
    ⌨ (00:03:43) Introduction
    ⌨ (00:08:35) Problem
    ⌨ (00:12:17) The Method
    ⌨ (00:13:55) Solution
    ⌨ (00:50:52) Complexity and Big O notation
    ⌨ (01:24:57) Binary Search vs Linear Search
    ⌨ (01:31:40) Generic Binary Search
    ⌨ (01:40:08) Summary and Conclusion
    ⌨ (01:44:30) Assignment Walkthrough
    ⌨ (01:45:05) Introduction
    ⌨ (01:50:01) Problem- Rotated Lists
    ⌨ (01:53:02) The Method
    ⌨ (01:54:03) Solution
    ⌨ (02:30:47) Summary and Conclusion
    ⌨ (02:33:29) Binary Search Trees Python Tutorial
    ⌨ (02:34:41) Introduction
    ⌨ (02:37:36) Problem
    ⌨ (02:38:40) The Method
    ⌨ (03:13:58) Binary tree
    ⌨ (03:27:16) Traversing Binary Tree
    ⌨ (03:36:10) Binary Search Tree
    ⌨ (04:22:37) Self-Balancing Binary Trees and AVL Trees
    ⌨ (04:26:27) Summary and Conclusion
    ⌨ (04:30:33) Hash Tables and Python Dictionaries
    ⌨ (04:31:09) Introduction
    ⌨ (04:34:00) Problem
    ⌨ (04:40:28) Data List
    ⌨ (04:42:52) Hash Function
    ⌨ (04:54:52) Basic Hash Table Implementation
    ⌨ (05:03:07) Handling Collisions with Linear Probing
    ⌨ (05:09:24) Summary and Conclusion
    ⌨ (05:16:47) Sorting Algorithms and Divide & Conquer
    ⌨ (05:17:48) Introduction
    ⌨ (05:20:19) Problem
    ⌨ (05:21:27) The Method
    ⌨ (06:40:49) Custom Comparison Functions
    ⌨ (06:48:53) Summary and Conclusion
    ⌨ (06:54:57) Recursion Memoization & Dynamic Programming
    ⌨ (06:56:37) Introduction
    ⌨ (07:00:04) Problem
    ⌨ (07:04:28) The Method
    ⌨ (07:06:21) Solution
    ⌨ (08:06:13) Knapsack Problems
    ⌨ (08:08:48) The Method
    ⌨ (08:09:24) Solution
    ⌨ (08:43:26) Summary and Conclusion
    ⌨ (08:44:05) Graph Algorithms BFS, DFS & Shortest Paths
    ⌨ (08:45:02) Introduction
    ⌨ (08:51:00) Graph Data Structure
    ⌨ (09:15:57) Graph Algorithms - Breadth-First Search
    ⌨ (09:37:28) Depth-First Search
    ⌨ (10:08:26) Shortest Paths
    ⌨ (10:40:39) Summary and Conclusion
    ⌨ (10:42:21) Python Interview Questions Tips & Advice
    ⌨ (10:43:09) Introduction
    ⌨ (10:44:08) The Method
    ⌨ (10:47:10) Solution
    ⌨ (12:30:51) Summary and Conclusion

  • @bavidlynx3409
    @bavidlynx3409 3 года назад +8

    i am at 1:56:00
    edit 2:35:37
    edit_2 2:55:05
    edit_3 3:11:58
    edit_4 3:21:00
    edit_5 3:32:52
    edit_6 3:38:00
    edit_7 4:01:29
    edit_8 4:30:20
    edit_9 5:34:00
    edit_10 6:17:00
    edit_11 8:27:00
    edit_12 10:00:00 (nice)
    edit_ 13 10:40:00 i guess we are in the end game now
    ps nevermind this comment its just a *bookmark*

    • @shantanupabitwar1440
      @shantanupabitwar1440 2 года назад +3

      Is it worthy to spend time on this tutorial?? I am thinking to start this course bt worried about the timing can you please share your experience @Shiva Kharbanda

    • @shantanupabitwar1440
      @shantanupabitwar1440 2 года назад +1

      @Shiva Kharbanda

    • @bavidlynx3409
      @bavidlynx3409 2 года назад +1

      @@shantanupabitwar1440 this course is a good place to start if you know the basics of python and have some coding experience. You should go for it

  • @SreejishNair
    @SreejishNair Год назад +5

    For an entire 5 min he was looping and rambling about his online course!!! Damn!

    • @kishan9689
      @kishan9689 Месяц назад

      This video is free just for that

  • @shadow43121
    @shadow43121 3 года назад +39

    A good substitute for the hashing function is just the "hash()" function in python since it uses a collision free algorithm called siphash.

    • @krnl1304
      @krnl1304 2 года назад +2

      Thank you man 🙏🙏

  • @sreyanghosh4003
    @sreyanghosh4003 3 года назад +45

    you have no idea how long i was waiting for this. I learnt cpp just for DSA and now you release this. i don't care, I'm doing this one for sure. I'll check out the cpp one later. FCC is really god's gift to mankind.

    • @sudeshabasu9193
      @sudeshabasu9193 3 года назад

      Agreed

    • @siddhantpathak9405
      @siddhantpathak9405 3 года назад

      where did you learn cpp from, buddy ??

    • @sreyanghosh4003
      @sreyanghosh4003 3 года назад +1

      @@siddhantpathak9405 I started learning it from the GFG DSA course. But from a usefulness perspective, this course is much better at equipping you with skills to tackle actual problems.

    • @AminKhan-wo4ec
      @AminKhan-wo4ec 3 года назад

      so compitative in python will help us in future or else should we go with cpp or java

    • @siddhantpathak9405
      @siddhantpathak9405 3 года назад

      @@sreyanghosh4003 Yes! this one is much more practice/Interview oriented, seems it is important to learn DSA beforehand for this course, and.... Thanks for the tip :>

  • @avityagi59
    @avityagi59 15 дней назад +2

    I watched first 1 hour of the video, the instructor was more interested in promoting his platform and in features than the actual DSA

    • @nithishkumar4858
      @nithishkumar4858 4 дня назад

      Nothing is free man. Absorb only the required parts

  • @ansarulanis02
    @ansarulanis02 3 года назад +16

    You deserve 100 million views. ❤
    Thanks a lot for your great efforts.

  • @circle2266
    @circle2266 Год назад +13

    This it to keep track where I am in the video:
    21:54
    1:20:20
    2:11:00
    2:42:28
    3:22:25
    3:32:00
    4:13:00
    4:33:15
    5:22:13

    • @powerofgames3600
      @powerofgames3600 4 месяца назад +5

      Bro you gave up?

    • @circle2266
      @circle2266 4 месяца назад +3

      @@powerofgames3600 yea ;-;
      I was doing this during class in school, but then something happened and I had to focus on class for a hot minute

    • @RaviChandran-zo4cc
      @RaviChandran-zo4cc 4 месяца назад +1

      ​@@powerofgames3600 bro shall we complete this one together?

    • @deuteriumtritium9700
      @deuteriumtritium9700 3 месяца назад +1

      get it back. You got this!

    • @circle2266
      @circle2266 3 месяца назад +2

      @@deuteriumtritium9700 yea- your RIGHT!
      Imma start this grind back up >:D

  • @toniogunkoya2984
    @toniogunkoya2984 Год назад +4

    For the max and min key in the BST. You can think of the min key as the leftmost node and max key as the rightmost node.

  • @syedfahad6501
    @syedfahad6501 7 месяцев назад +1

    Hi Akash, Just want to apprecite your work and the efforts you have put in this course, I am doing programming since long and currently working as an engineer, but this course changed the way of my programminng, have saw so many such course but this one is truly exceptional.

  • @maysammansor
    @maysammansor Год назад +7

    This course is awesome!!! wide range of topics are discussed here. Thank you!!

  • @AlgorithmEngineer
    @AlgorithmEngineer 3 года назад +19

    Super appreciating this video. Just what I have looking for 🙌🏾

  • @itsme7800
    @itsme7800 7 месяцев назад +4

    This is soo good...very beginner friendly loved it❤

  • @wenkanglee9596
    @wenkanglee9596 6 месяцев назад +2

    I think there's an error at 6:37:47:
    n + (n-1) ... should = n*(n+1)/2, instead of minus one, but it shouldn't be a big deal because it's still O(n^2).

  • @aksxaay
    @aksxaay 3 года назад +3

    This one video is going to save so many lives.

  • @Nandhis
    @Nandhis 3 года назад +16

    Free course is always beat source to learn technology for complete beginners. Thanks for the video🙏

  • @wenkanglee9596
    @wenkanglee9596 6 месяцев назад +2

    I don't think 7:36:00 is correct:
    Memoization-exclusive time complexity doesn't seem to be 2^m+n, given m and n are the nums of elements in two sequences.
    first, finding the longest common subsequence by quick sort would be meaningless if one of the lists/sequences is exhausted, regardless of the remainders within the other. That means, and as stated by the code itself, the code will stop getting rid of character/ element when there's no more comparison to take place, so making "all leaves end at 0, 0" unachievable. (They either stuck in a loop like (1, 0) would generate (1, 0) and (0, 0) or could not be proceeded further.)
    So, based on the above, it looks like the tree is not a symmetrical binary and hence 2^x could no be induced from the statement "each element would cause two possible choices to be made". But when we tried that -- 2^(m+n) -- with small numbers, it does approximate what was stated and seemed to be true. Let's say [a, b] & [c, d]. but as the quantity of input gets exponentially larger, I'm no longer convinced that is still correct.
    When we're given a fixed yet allocable nums of elements (you can see this as you gambling chips), the max num we could potentially get from them from a multiplication is through the minumum difference between the two numbers. (like how 2x2 > 1x3) So, the worst case where iteration would be at maximum, under the circumstance that total num of elements of both sequences are fixed, would be when seq1 and seq2 have the same number. And now what would be the other extreme case? I'm sure you can tell it's when there is only one element in seq1 and the remainder in seq2. The time complexity of that would be:
    (2 x N of the longest sequence)+1
    and the leaves would just be N+1.
    Now let's get back to the "worst of worst" case. I've tried to construct the binary tree up to (4, 4) root and noticed it does resemble a perfect, symmetrical binary tree but with surplus leaves (the number of leaves after you filled out all the gaps left by a zero-sth pairs to make it a perfect binary). And my conclusion was that the time complexity should be of 2 to the power of the height of tree, instead of simply adding m and n. The increment or trend of the surplus leaves is a multiplication of 4 for every one element added to both sequences: I had 4 leaves at (2, 2), 8 at (3, 3), and 12 at (4, 4), so on and forth. And we know that exponent has a greater growing power than multiplication, so eventually the disparity between the number given by m+n and the surplus leaves would be exponentially greater.
    From the sum of geometrical series, if we substitute a with 1 and r with 2, we know that the sum of all the nunber of nodes (including leaves) of a h-layer tree would be approximately 2^h. And for a same-number pair root, the height of the tree (excluding root and surplus leaves) is just 2n-2. On a side note, we can now deduce that if we toggle the number on the scale, let say from a fixed total of 10, the number of nodes would lie somewhere between 19 to ~256. Hence, it would be more intuitive (for me, personally) to say that the time complexity of the quick sort that without memoization would be ~ 2^h, for which h is the number of layers excluding root (or counting from 0 if you wanna do so). But, ultimately, it's just the matter of 2^n+2, so I assumed it doesn't affect much. In the end, worst case of memoization (which simply is m*n) would beat 2^(2n-2).

  • @shiwanshsingh4977
    @shiwanshsingh4977 3 года назад +20

    Thank you so much for coming up with this course

    • @shishirkatiyar8430
      @shishirkatiyar8430 2 года назад

      Is this course worth for cracking the tests of big product based companies and solve problems on leetcode ?

    • @shiwanshsingh4977
      @shiwanshsingh4977 2 года назад +1

      @@shishirkatiyar8430 it will clear your basics and will help in problem solving thought process

  • @Jamaalmamu
    @Jamaalmamu 6 месяцев назад +1

    Simplest solution for the first problem:
    Gemini write a function which takes a list of integers and a integer and then if the given integer exist in the given list of integers return its index or else return -1

  • @dinkletonne
    @dinkletonne 2 года назад +7

    i was gonna start leetcode and other comp programming stuff , this course is going to be really helpful !

  • @waildjerroudib9630
    @waildjerroudib9630 6 месяцев назад +3

    ⌨ (00:00:00) Introduction
    ⌨ (00:01:43) Binary Search Linked Lists and Complexity
    ⌨ (00:03:43) Introduction
    ⌨ (00:08:35) Problem
    ⌨ (00:12:17) The Method
    ⌨ (00:13:55) Solution
    ⌨ (00:50:52) Complexity and Big O notation
    ⌨ (01:24:57) Binary Search vs Linear Search
    ⌨ (01:31:40) Generic Binary Search
    ⌨ (01:40:08) Summary and Conclusion
    ⌨ (01:44:30) Assignment Walkthrough
    ⌨ (01:45:05) Introduction
    ⌨ (01:50:01) Problem- Rotated Lists
    ⌨ (01:53:02) The Method
    ⌨ (01:54:03) Solution
    ⌨ (02:30:47) Summary and Conclusion
    ⌨ (02:33:29) Binary Search Trees Python Tutorial
    ⌨ (02:34:41) Introduction
    ⌨ (02:37:36) Problem
    ⌨ (02:38:40) The Method
    ⌨ (03:13:58) Binary tree
    ⌨ (03:27:16) Traversing Binary Tree
    ⌨ (03:36:10) Binary Search Tree
    ⌨ (04:22:37) Self-Balancing Binary Trees and AVL Trees
    ⌨ (04:26:27) Summary and Conclusion
    ⌨ (04:30:33) Hash Tables and Python Dictionaries
    ⌨ (04:31:09) Introduction
    ⌨ (04:34:00) Problem
    ⌨ (04:40:28) Data List
    ⌨ (04:42:52) Hash Function
    ⌨ (04:54:52) Basic Hash Table Implementation
    ⌨ (05:03:07) Handling Collisions with Linear Probing
    ⌨ (05:09:24) Summary and Conclusion
    ⌨ (05:16:47) Sorting Algorithms and Divide & Conquer
    ⌨ (05:17:48) Introduction
    ⌨ (05:20:19) Problem
    ⌨ (05:21:27) The Method
    ⌨ (06:40:49) Custom Comparison Functions
    ⌨ (06:48:53) Summary and Conclusion
    ⌨ (06:54:57) Recursion Memoization & Dynamic Programming
    ⌨ (06:56:37) Introduction
    ⌨ (07:00:04) Problem
    ⌨ (07:04:28) The Method
    ⌨ (07:06:21) Solution
    ⌨ (08:06:13) Knapsack Problems
    ⌨ (08:08:48) The Method
    ⌨ (08:09:24) Solution
    ⌨ (08:43:26) Summary and Conclusion
    ⌨ (08:44:05) Graph Algorithms BFS, DFS & Shortest Paths
    ⌨ (08:45:02) Introduction
    ⌨ (08:51:00) Graph Data Structure
    ⌨ (09:15:57) Graph Algorithms - Breadth-First Search
    ⌨ (09:37:28) Depth-First Search
    ⌨ (10:08:26) Shortest Paths
    ⌨ (10:40:39) Summary and Conclusion
    ⌨ (10:42:21) Python Interview Questions Tips & Advice
    ⌨ (10:43:09) Introduction
    ⌨ (10:44:08) The Method
    ⌨ (10:47:10) Solution
    ⌨ (12:30:51) Summary and Conclusion

  • @yashsolanki069
    @yashsolanki069 3 года назад +34

    Just on Time when i needed the most✌️

    • @maxwelleaster4124
      @maxwelleaster4124 3 года назад +2

      Why do u guys pretend to act like u really needed this

    • @mrsuspicious5531
      @mrsuspicious5531 3 года назад +1

      @@maxwelleaster4124 because we really needed this...!!

    • @yashsolanki069
      @yashsolanki069 3 года назад +1

      @@maxwelleaster4124 cause I'm preparing for my interview was doing hackerrank but needed some structured path. There are many paths I've came cross but mostly were not on python. This one seems better to my liking ✌️

    • @yourfellowhumanbeing2323
      @yourfellowhumanbeing2323 3 года назад +2

      @@maxwelleaster4124 I read an article this morning about it and looked to learn about it, and the video came lol

    • @bavidlynx3409
      @bavidlynx3409 3 года назад

      @@maxwelleaster4124 it is difficult to find a fully compiled python dsa course.

  • @kirollssabri4651
    @kirollssabri4651 3 года назад +23

    Finally I found this with python thanks so much for your efforts this is literally a treasure ♥️♥️

  • @andrewjohnson9014
    @andrewjohnson9014 3 года назад +8

    I am relieved whenever I hear an Indian accent in a programming or coding video. I know it's gonna be very helpful.

  • @biprajitsarkar98
    @biprajitsarkar98 3 года назад +13

    That's some strong Indian Accent and I love it

  • @xXHelsingGamingXx
    @xXHelsingGamingXx Год назад +9

    Finally after paying to udemy and buying a bunch of courses, I end up here, with this 12 hour long beautiful Python data structures courses. Too bad I already completed a data structure course. But willing to take this again.

  • @musify6444
    @musify6444 3 года назад +3

    Reading whats written on the screen and some improvising that's it!

  • @aditimaheshwari5529
    @aditimaheshwari5529 3 года назад +10

    This is really very helpful!!😭😭 Thank you so much!❤🙌

  • @andr3w321
    @andr3w321 9 месяцев назад

    12:09:00 intention and execution (first example) is 5 steps , but intention and exception (later example) is only 4 steps

  • @imranahmed6615
    @imranahmed6615 3 года назад +6

    this is what i needed. lately I have been struggling to find the best step ( algorithm ) for my code. hope I found it ^_*

  • @VadimBogomazov
    @VadimBogomazov 2 года назад +2

    Спасибо, Алкаш! 🫶

  • @NandavaramMahesh-hf4sk
    @NandavaramMahesh-hf4sk Год назад +4

    This video is the best resource to learn DSA , especially if u r new to this concept. Love the explanation, clarity in the content. Great video. It demystified all the myths i had about DSA.

    • @Shsquad11
      @Shsquad11 Год назад

      bro this is the worst dsa course i have ever seen

    • @anshrai6
      @anshrai6 Год назад +1

      ​@@Shsquad11yes

    • @senorperez
      @senorperez Год назад

      @@Shsquad11 why ? should i do it or not ?

    • @madman3727
      @madman3727 Год назад

      @@Shsquad11 I am learning many things and most the important rememembering them because of assignments, what is problem?

  • @SaurabhSingh1987
    @SaurabhSingh1987 2 года назад +3

    Very useful and heloful for cracking interviews!! Keep going on ......

  • @LeelaSankharM
    @LeelaSankharM 4 месяца назад +3

    checkpoints for myself:
    4. 2:33:29
    3. 1:45:00
    2. 1:14:00
    1. 45:00

  • @AmitYadav-mk8dl
    @AmitYadav-mk8dl 7 месяцев назад

    The first video I watched about DSA and it turned out to be one of the best one.
    I have almost completed an hour, planning to watch it for full 12 hours.

  • @justinjiang4208
    @justinjiang4208 2 года назад +18

    Sir, it seems that you made a mistake in Dijkstra's algorithm when assessing the shortest path between 2 and 8--I think it should be 2,3,0,8 -- 12 instead of 15. I made it 12 following your pseudocode, so I have no idea about the issue. Anyway, great course!

  • @nocopyrightgameplaystockvi231
    @nocopyrightgameplaystockvi231 3 года назад +1

    Just before my job! Thankyou with my life!

  • @skymeisterkai7589
    @skymeisterkai7589 3 года назад +8

    One of the best 12 hours that i have spent. Love the full courses !

  • @harshitasingh963
    @harshitasingh963 3 года назад +1

    def searchRange(self, nums: List[int], target: int) -> List[int]:
    low,high=0,len(nums)-1
    left,right=-1,-1
    while(low

    • @cramin_techoninstagram2616
      @cramin_techoninstagram2616 3 года назад +1

      👆👆All thanks for👆👆🔝he helped me achieved my own python 3 programming course certificate and am very glad to have my own certificate thanks so much 🥰

    • @shishirkatiyar8430
      @shishirkatiyar8430 2 года назад

      Hey Harishita , Did you completed this entire course ? If yes , is this course worth watching to crack tests of product based companies and practise on leetcode ?

  • @muallaozdemir1012
    @muallaozdemir1012 2 года назад +5

    woww, these tutorials are gold. super grateful for people like you (and for all of the amazing content people provide here on RUclips)

  • @pankajmoulekhi
    @pankajmoulekhi 15 дней назад +1

    I am starting this course Today. Hope I am able to complete it, posting to keep myself accountable.
    00:0

  • @rahulsaha2859
    @rahulsaha2859 3 года назад +5

    Just when I needed it the most
    FCC is here ... You guys are really great ☺️

  • @mahirfaisal2137
    @mahirfaisal2137 2 года назад +1

    it is a great course to get started with dsa

  • @Kau093
    @Kau093 6 месяцев назад +3

    Using this to prepare for my Netflix interview tomorrow, will update on how it goes 😅

    • @Shortsfortheday21
      @Shortsfortheday21 5 месяцев назад +1

      was it benificial let me know!

    • @cadetmanishtiwari8694
      @cadetmanishtiwari8694 5 месяцев назад +1

      How was the interview?

    • @nrk07
      @nrk07 5 месяцев назад +1

      @Kau093 Hey, Have you completed the course?

  • @Alternatywny_1
    @Alternatywny_1 4 месяца назад +1

    Now I'm to tired but I will try this tutorial starting from tomorrow, 1 hour per day and write results here 😊

  • @teofaneschaco2517
    @teofaneschaco2517 3 года назад +5

    Gracias por este curso, siga adelanté con el canal. Gracias

  • @venkatrajan4980
    @venkatrajan4980 3 года назад +1

    you arre really great ....your work was lot of benefit for our poor people including me also............any way continue ur unfeesable job

  • @manitbhusal1554
    @manitbhusal1554 2 года назад +4

    Thank you so much for the lesson man. I wish you could hear me screaming that you are checking two different strings "exception" and "execution". Anyway great video!

  • @muzammilomarzoy6616
    @muzammilomarzoy6616 10 месяцев назад

    day 1 : 1:20:18
    day 2 1:44:30
    day 3 : 2:31:00
    day 4: (02:33:29) Binary Search Trees Python Tutorial

    • @brahmamshriramoju7601
      @brahmamshriramoju7601 10 месяцев назад

      Bro does this course includes stacks queue linked lists

    • @moonlight-td8ed
      @moonlight-td8ed 8 месяцев назад

      what happened did you stop this course?

    • @muzammilomarzoy6616
      @muzammilomarzoy6616 8 месяцев назад +1

      @@moonlight-td8ed
      Yeah, I had to drop that course too. It just didn't really get into the nuances and details and real-world applications of the algorithms and data structures. And the way they had the whole thing pre-written made it super hard to follow along.
      If you're totally new to this stuff, I'd recommend starting with the Code Basics channel instead. Their Data Structures and Algorithms in Python playlist (ruclips.net/p/PLeo1K3hjS3uu_n_a__MI_KktGTLYopZ12&si=2nsP-rpd9BbYYH86) is way more beginner-friendly and has great visual explanations.
      Once you've got the basics down, check out Greg Hogg (youtube.com/@GregHogg?si=xWF7x8uaske9ADbi) and NeetCodeIO (youtube.com/@NeetCodeIO?si=v7OypMWD0GF61I26) for LeetCode problem walkthroughs and solutions.
      Oh, and if you can spare the cash, NeetCode's Beginner's Guide course on their website is supposed to be really good too! Probably worth the investment if you want that structured full course experience.
      Some recommendations learning DSA : use a ton of Google, after learning the theory and the mechanics from watching a video or reading from text I would recommend trying to write the code yourself and that don't just dive into the code rather think about the solution in your head or maybe even write it out as to what you are trying to achieve and how you are going to achieve and then you can try if it doesn't work you have now some knowledge as to where it lacks and what is missing so that you can look up the answer.
      From personal experience don't be so hard on yourself that you just start beating yourself as to why you can come up with the solution try if yourself if you could solve it good, if not then it's not the end of the world and think of it as a journey right that on and in no time you would be able to implement and solve these problems. But make sure after you lookup the solution make sure to understand personally adding print statements right to describe and seeing how the algorithms change and work really helped me deepen my knowledge of algorithms and try not to memorize the solution rather the patterns so that I you see a similar question your are easily able to understand what the problem wants you to do.
      Just my two cents! Let me know if you have any other questions.

  • @tanveersingh659
    @tanveersingh659 3 года назад +3

    Thank You,much needed for python

  • @arun7291
    @arun7291 Год назад

    You are actually a goat, this is so blessed and so detailed. THANK YOU!

  • @harshchauhan7416
    @harshchauhan7416 3 года назад +8

    Exactly what I needed ❤️

  • @lebomcdonald5241
    @lebomcdonald5241 10 месяцев назад

    Thank you very very much,you make things to be easy to grasp & understand.You are really one of the best tech channels 🙏

  • @bavidlynx3409
    @bavidlynx3409 3 года назад +2

    mistake @ 10:34:02 the stortest path from node 2 to node 8 is [ 2, 3, 0, 8] == 12 not 15. @jovian

  • @tanlooting
    @tanlooting 3 года назад +9

    thanks for the video. I noticed a mistake in 10:34:00, shouldn't the shortest path be 12 instead of 15 (node 2-3-0-8)?

    • @thanhnam7037
      @thanhnam7037 3 года назад +5

      Hi, I just have figured it out after a while
      In the function shortest_path, the last line is " if next_node: queue.append(next_node) ", the problem is, when next_node == 0, the condition is False, and it will not append 0 to the queue
      The solution to this is you just need to change it to if next_node != None, and it will work !

    • @Saqeebh
      @Saqeebh 2 года назад

      @@thanhnam7037 This worked, thank you!

  • @Karthik-gl9ct
    @Karthik-gl9ct 3 года назад +1

    Always waited for....Thank you sooo much

  • @subhamsourav5475
    @subhamsourav5475 3 года назад +3

    I am hopeful that this will be a great learning experience for me.

  • @adinaabdukerim1493
    @adinaabdukerim1493 Год назад

    After seaching for suitable course, this is the best I found. Thank u for an amazing platform !

  • @iamadityavaishy
    @iamadityavaishy 2 месяца назад +3

    This English version video is 12 hours and 30 minutes long but the same playlist in Hindi by the same instructor and same course content runs for 11 hours and 11 minutes. So Hindi language is so effective that it needs less words to communicate?

  • @appwings.protech
    @appwings.protech 2 года назад

    Best Course ever I found till now.

  • @govarthenanrajadurai9817
    @govarthenanrajadurai9817 2 года назад +3

    FreeCodeCamp what's the difference between this course and the other 2 hours long one? What would be the reasons for recommending each one?
    I want to get into these courses quite seriously and is expecting some advice.

  • @kaydeeinmy
    @kaydeeinmy Год назад +1

    Jovian !!! Thank you so much !!!

  • @michaeljhonmariano6462
    @michaeljhonmariano6462 3 года назад +72

    When i heard that accent, I knew I'm saved

    • @rayyanamir8560
      @rayyanamir8560 3 года назад +19

      All praise to the Indians saving our lives

    • @andrewjohnson9014
      @andrewjohnson9014 3 года назад +2

      @@rayyanamir8560 Amen

    • @JaveGeddes
      @JaveGeddes 3 года назад +2

      How come no one ever wonders why only Indians seem to be taught code?

  • @amankrsingh
    @amankrsingh 3 года назад +1

    Wow waiting since so long
    Great freecodecamp ❤️

  • @walkwithmanish
    @walkwithmanish 2 года назад +11

    I am new to the python learning world and looking for some good dsa tutorials with problem-solving approaches and guess what, I found his tutorial. this is just super amazing for any beginner. Now I think I can clear my coding interviews with confidence. Thank you so much for this tutorial, wish i could found more of your tutorials on python on youtube. can you give me links on oops in python as well.

    • @gotham_edits1720
      @gotham_edits1720 2 года назад +2

      This is advanced maybe intermediate. Personally, I wouldn't start python with this but more if statements and basic language but if your picking up and doing it have fun course.

  • @edwarddijkstra1185
    @edwarddijkstra1185 2 года назад +1

    he has a really nice voice,you can hear the indian accent but its clear and realaxing

  • @happy......
    @happy...... 2 года назад +3

    I'm new to programming algorithms. I used a recursive function to locate the 1st repeating card, does it increase the complexity in any way?
    def check1st(card, mid):
    if mid-1 >= 0 and card[mid] == card[mid-1]:
    return check1st(card, mid-1)
    else:
    return mid
    Thank you!

  • @AmitYadav-mk8dl
    @AmitYadav-mk8dl 7 месяцев назад

    This video made me fall in love with problem-solving, I think from this day I'm gonna love coding.

    • @1PercentDaily
      @1PercentDaily 7 месяцев назад

      How’s it going so far?

    • @Shortsfortheday21
      @Shortsfortheday21 7 месяцев назад

      @@1PercentDaily what about you how is it going??

    • @Shortsfortheday21
      @Shortsfortheday21 7 месяцев назад +1

      @@1PercentDaily need a coding partner let me know if you are interested!

  • @hanishs52
    @hanishs52 3 года назад +3

    Can anyone say me where does where does this algorithms tutorial Start's ?

  • @harshgamer6105
    @harshgamer6105 5 месяцев назад +1

    awesome teaching sir!

  • @sarangkashalkar1851
    @sarangkashalkar1851 3 года назад +6

    These courses are more important to me than oxygen

    • @akankshach3537
      @akankshach3537 3 года назад

      ruclips.net/video/iIq-HPzY-Ts/видео.html

  • @sproutboot
    @sproutboot 3 года назад +1

    ⁷r thesedays.. many python courses come out. I like it.

  • @svenbtb
    @svenbtb 2 года назад +12

    Going to be working through this over time (and I'm doing C# so that'll add maybe some extra challenge transposing everything lol) but thank you! I've been trying to find some better practice/info about how to learn algorithms and coding patterns, and using this (along with leetcode, which I wasn't aware of before) is exactly what I need

    • @habeeb_a
      @habeeb_a 2 года назад

      nice, I was wondering how to take notes/learn through this lesson, how do you learning this, any particular methodology? i appreciate your reply

    • @ashhandle
      @ashhandle Год назад

      Can self learners crack a job at google?

  • @chetnadangwal2
    @chetnadangwal2 2 месяца назад

    i love the accent, it is hard for me to understand english in native accent but this is better.

  • @srikumarbhat2672
    @srikumarbhat2672 3 года назад +8

    Thanks for all the documentation! its such a clear master piece!

  • @unpluggedalphaa
    @unpluggedalphaa 2 года назад

    1:16:56
    Please tell me why do we write a whole new function for the duplicate elements present when simple sort and set functions do the job.
    Eg:- [8,6,6,6,4,3,2,1,0]
    After sorting
    [0,1,2,3,4,6,6,6,8]
    Now list(set function) gives
    [0,1,2,3,4,6,8]
    Now it gives the position as 5.
    Can anyone explain ???

  • @william2jz
    @william2jz 6 месяцев назад +8

    Bro spent more time explaining his website than actually explaining the material

  • @zikobht4623
    @zikobht4623 3 года назад +1

    My good this is the course I have been waiting for