Hashing Technique - Simplified

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ย. 2024

ความคิดเห็น • 550

  • @aparna2701
    @aparna2701 5 ปีที่แล้ว +502

    Such a clear, crisp, no-nonsense explanation. Hats off, sir.

    • @avoidcomplexity5612
      @avoidcomplexity5612 4 ปีที่แล้ว +4

      Exactly

    • @kanikakansalpathshala1624
      @kanikakansalpathshala1624 2 ปีที่แล้ว

      th-cam.com/video/fPqYoe4YP14/w-d-xo.html

    • @ShankarThakur-xo2fe
      @ShankarThakur-xo2fe 20 วันที่ผ่านมา

      Hello mam
      Actually it's my father id
      And i am using it.
      I am messaging you because even I am aparna 😅 currently I am a sophomore at nit kurukshetra😅.
      So I am your junior😅

  • @paramjeetsingh3444
    @paramjeetsingh3444 3 ปีที่แล้ว +32

    Whenever i want to see any topic on youtube. I pray that u uploaded a video of that concept. Thanks a lot sir.

  • @dreadnautxbuddha
    @dreadnautxbuddha 4 ปีที่แล้ว +32

    I'm an IT grad and have just begun learning cs on my own. You, sir, are a blessing.

    • @84y87
      @84y87 2 ปีที่แล้ว +5

      IT grads aren’t taught all this in the course ?

    • @potatoisme1178
      @potatoisme1178 ปีที่แล้ว

      ​@@84y87same question coz I'm still an undergrad IT but this is in our 2nd year curriculum 1st sem

    • @84y87
      @84y87 ปีที่แล้ว +1

      @@potatoisme1178 I'm in 3rd year now lol, can confirm all this is pretty basic stuff and all IT grads, at least in my college were taught this.

  • @Bonecrusherdl
    @Bonecrusherdl 7 ปีที่แล้ว +240

    Thank god for you indian guys with your yt videos

    • @diwang4572
      @diwang4572 5 ปีที่แล้ว +11

      DaL I love India🤩

    • @saadmanahmed860
      @saadmanahmed860 5 ปีที่แล้ว +11

      i love india (2)

    • @jiaweitan3066
      @jiaweitan3066 5 ปีที่แล้ว +12

      INDIA FOR LIFE MAN. SAVE ME THROUGH ALL MY CS MODS PLS~

    • @mehulgarg9349
      @mehulgarg9349 4 ปีที่แล้ว +6

      India is the best!!!

  • @RajPatel-uh9nd
    @RajPatel-uh9nd 3 ปีที่แล้ว +17

    I have never seen such a clear explanation of hashing. My search ends here! Thank you Prof.!

  • @tommylau7457
    @tommylau7457 3 ปีที่แล้ว +48

    omg it sounded similar and so good, then i found out, oh! you are the tutor who teach C++ on udemy! btw you are soooo good.

    • @abdul_bari
      @abdul_bari  3 ปีที่แล้ว +19

      Glad I could help!

    • @harshsolanki3269
      @harshsolanki3269 3 ปีที่แล้ว +2

      @@abdul_bari can you explain how to search after appying quadratic probing

    • @mehrosenasir9974
      @mehrosenasir9974 2 ปีที่แล้ว +1

      @@harshsolanki3269 pass the value to the formula and verify the index, if it doesn't contain the desired value then keep on incrementing the I, just like we did for insertion

  • @bharatigupta3126
    @bharatigupta3126 2 ปีที่แล้ว +16

    Thank You Sir, because of you I am placed in an MNC and looking forward to achieve great things Once again thank you....Your Content is awesome and easy to understand

    • @rajbhardwaj2180
      @rajbhardwaj2180 2 ปีที่แล้ว

      How’s ur programming concept ?

  • @muhammadtahahaqqani4141
    @muhammadtahahaqqani4141 4 ปีที่แล้ว +43

    Your explanations are so clear and to the point. Thank you Sir for being so patient and explaining everything so well!

  • @suryapunjsharma9647
    @suryapunjsharma9647 4 ปีที่แล้ว +13

    My whole unit in 17 minutes ......just wow! Truly appreciate it man.

  • @hadywolf5866
    @hadywolf5866 4 ปีที่แล้ว +5

    السلام عليكم
    Magnificent, you are just magnificent, sir!
    I was suffering not understanding this hashing crab for almost 16 days, and then I found you, and it has been simplified in 16 minutes, what the heck!

  • @sweatyguysteve2056
    @sweatyguysteve2056 5 ปีที่แล้ว +17

    This was a way better explanation then the author of "Cracking The Coding Interview" explained it. Great job!

  • @harshitasingh963
    @harshitasingh963 4 ปีที่แล้ว +25

    Everything's so crisp ...precise and to the point . Your lectures are really an elixir for passing dsa . Couldn't be thankful enough 🙂

  • @mrpotato2027
    @mrpotato2027 ปีที่แล้ว +6

    I have used this channel throughout my undergrad and for preparing for interviews. It has been extremely helpful. Thank you so much for this. ::)

  • @geekyprogrammer4831
    @geekyprogrammer4831 5 ปีที่แล้ว +46

    you are really one of the best instructors of algorithms Sir!

  • @rubyPWNS1
    @rubyPWNS1 ปีที่แล้ว +5

    You are my probe of light. You shine your knowledge into my day as I struggle with algorithms in my analysis class. You show me the path towards earning my degree. I owe many thanks to you, yet it will never be enough. One day if our paths crosses, I shall buy you briyani.

  • @achrafBadiry
    @achrafBadiry ปีที่แล้ว +1

    The clearest explanation after watching many videos with no idea what they are talking about. Thank you

  • @jamshaidmushtaq1811
    @jamshaidmushtaq1811 4 ปีที่แล้ว +6

    Along with Professor Leonard for mathematics, you are a life-saver for us regarding Data Structures. sir. Bravo!

  • @makingachanneltopost
    @makingachanneltopost 5 หลายเดือนก่อน

    I would just like to say I really, really like Abdul Bari's teaching technique.
    I've been in the Silicon Valley as a developer for almost 20 years, and I wish there were more teachers like Abdul. He has a very graceful style of teaching that I wish more teachers would adapt.
    I like that he doesn't just jump into material, instead he says "I'm going to teach you X, Y, and Z", and then he repeats "this is how you do X, Y, and Z", then he teaches the material.
    I don't care how long you've been in the computer science field, there's always something to learn from someone, and Abdul has a lot of good lessons to teach.

  • @somparnachakrabarti5616
    @somparnachakrabarti5616 3 ปีที่แล้ว

    If this is the first video that came up on your search result on hashing then dont go anywhere else!This is by far the best explanation you could find on youtube.

  • @navalkumarshukla9447
    @navalkumarshukla9447 4 ปีที่แล้ว +11

    Thank you sir, we could clearly see that you have put some extra efforts in this video, and we genuinely appreciate that.

  • @ovidiuvergil
    @ovidiuvergil 3 ปีที่แล้ว +103

    2:10 - hashing
    3:51 - hash table
    6:00 - hash function
    7:00 - collision
    7:47 - chaining
    9:49 - linear probing
    14:04 - quadratic probing
    linear
    quadratic

  • @Sophie-zu7zi
    @Sophie-zu7zi 3 หลายเดือนก่อน +2

    God you just saved me at least an hour with the slides of my prof lol. Thank you and god bless you

  • @sihameelmouatasim-bih812
    @sihameelmouatasim-bih812 2 ปีที่แล้ว +1

    Ovidiu Sampalean
    Ovidiu Sampalean
    il y a 11 mois (modifié)
    2:10 - hashing
    3:51 - hash table
    6:00 - hash function
    7:00 - collision
    7:47 - chaining
    9:49 - linear probing
    14:04 - quadratic probing
    linear
    quadratic
    46
    Muhammad Taha Haqqani
    Muhammad Taha Haqqani
    il y a 2 ans
    Your explanations are so clear and to the point. Thank you Sir for being so patient and explaining everything so well!
    21
    Bharati Gupta
    Bharati Gupta
    il y a 6 mois

  • @ahsansiraj7505
    @ahsansiraj7505 8 หลายเดือนก่อน +1

    happines is when we search any topic and find the video of mr abdul bari sir... well done sir..GOAT LEVEL EXPLANATION ❤😊

  • @victore5536
    @victore5536 ปีที่แล้ว +1

    Here, one of the most important concepts in computer science is very well explained by one of the greatest professors! Thank you!

  • @davidjames1684
    @davidjames1684 5 ปีที่แล้ว +5

    If you want to know if a range of integers has been seen or not already on input, an array of flags would suffice. You could just prescan the array to determine the lowest and highest values (such as 3 is the lowest and 50 is the highest), then you can just make the array from 3 to 50. Space is not really an issue but if you had a low of 3 and a high of say 1 million and not much in between, you could have an "on the fly" hash function that modifies itself to force "oddball" numbers into a smaller space "on the fly" with minimal collisions.

  • @ketkipatil8309
    @ketkipatil8309 3 ปีที่แล้ว +1

    You are GOD sir.....for basic DSA concepts....the topics which I was fearing for 1 year..you made so effortlessly easy...Thankyou so much sir...

  • @photoninadoubleslit8405
    @photoninadoubleslit8405 3 ปีที่แล้ว +1

    Thank you sir! I have paper at 1'O Clock and I'm watching this video at 11. But totally confident about this concept...

  • @abhinavs03
    @abhinavs03 6 ปีที่แล้ว +416

    If you have an exam tomorrow, skip to 3:53 😃😃

    • @sanpreetkaur3071
      @sanpreetkaur3071 6 ปีที่แล้ว +101

      Abhinav Sharma I don't have it tomorrow I have it today in 20 minutes 😭😭

    • @abhinavs03
      @abhinavs03 6 ปีที่แล้ว +3

      Sanpreet Kaur hahahaha 😂

    • @ARVINDKUMAR-cp1vt
      @ARVINDKUMAR-cp1vt 6 ปีที่แล้ว +35

      then you must have to skip the whole tutorial

    • @shardoolbahing854
      @shardoolbahing854 6 ปีที่แล้ว +2

      same here3 :(

    • @skyerichardson4692
      @skyerichardson4692 6 ปีที่แล้ว +3

      today*

  • @vb63
    @vb63 6 ปีที่แล้ว +5

    Excellent explanation, you explain all the concepts in such simple manner.I was having tough time understanding datastructures and alogorithms but thank god i found your videos.Lots of respect to you sir. ~ from Venkatesh.

    • @vb63
      @vb63 6 ปีที่แล้ว

      i was thinking of joining a course to learn data structures and algorithms, and they were asking 21,000 rupees.I was almost going to join when i found your videos.

  • @reddymaestro3569
    @reddymaestro3569 5 ปีที่แล้ว +3

    this is the best explanation that i have seen in my career for hashmap in java

    • @joseph2073
      @joseph2073 3 ปีที่แล้ว

      No it's in ruby

  • @MichaelKazembe
    @MichaelKazembe ปีที่แล้ว +1

    How are you this good at explaining these concepts? I'm blown away

  • @maclo97
    @maclo97 6 ปีที่แล้ว +158

    better than my professor in college

  • @alexzimmerman3447
    @alexzimmerman3447 ปีที่แล้ว

    These videos are saving me big time, I have a final for data structures tomorrow

  • @lancezhang892
    @lancezhang892 8 หลายเดือนก่อน +1

    Linear probing ,quadratic probing and open addressing, perfect!

  • @chingiskhant4971
    @chingiskhant4971 4 ปีที่แล้ว +92

    Recommendation: The perfect playback speed is 1.5x.

    • @Visiblenight
      @Visiblenight 3 ปีที่แล้ว +1

      for me it's 1.25 xd

    • @Shy0553
      @Shy0553 9 หลายเดือนก่อน

      For me 2x

    • @bakeery
      @bakeery 8 หลายเดือนก่อน

      ​@@Shy0553 0.25x

    • @in_ashish
      @in_ashish 2 หลายเดือนก่อน

      better at normal pace

  • @abidaadil6303
    @abidaadil6303 2 ปีที่แล้ว +3

    No words to express my gratitude Sir 🙏 ....May Almighty shower His choicest blessings upon you n ur family....Thank U Sir....🙏💐

  • @pratyushukla
    @pratyushukla 4 ปีที่แล้ว +3

    Hashing done in 17minutes. Thank you for making this video.

  • @wahnik6112
    @wahnik6112 4 ปีที่แล้ว +1

    Sir u the best teacher .. even our data structures teacher follows you only

  • @rajendramisir3530
    @rajendramisir3530 ปีที่แล้ว +2

    The hash functions or algorithms for linear and quadratic probing to resolve Hash Table index collisions are interesting. Excellent explanation. One use case where Mathematical models are used to resolve data search collisions.

  • @olastenberg4964
    @olastenberg4964 6 ปีที่แล้ว +2

    Great, every question that popped in to my head was answered and explained a few seconds after, through the entire video!

  • @sohebkhan4230
    @sohebkhan4230 3 ปีที่แล้ว +1

    Koi jawab nhi aapka..Ek tarfa padaya apne..Thanks sir

  • @alessiodenny6123
    @alessiodenny6123 4 ปีที่แล้ว +4

    excellent explanation !!. Clear and straight to the point. Took me 10 minutes to understand what I could not understand in school for 3 hours.

  • @sidindian1982
    @sidindian1982 ปีที่แล้ว +1

    Brilliantly explained Linear Probing & quadratic probing ... 🤩🤩😍😍🥰🥰🤩😘😘😘

  • @Androidtricksforu
    @Androidtricksforu 2 ปีที่แล้ว +1

    Sir Your all videos are very simple to understand and full of knowledge.thank you for making such videos,🙏

  • @andrewtol8756
    @andrewtol8756 10 หลายเดือนก่อน

    Thank you for your clear explanation. :-) One question I had is regarding quadratic probing. You said that it helps to avoid collision element clustering -- and it did, but it seems that it still requires the same number of lookup steps as it would need if linear probing had been applied and clustering had occurred.
    Ex: Suppose, as in the last example, that the key space is: 8, 3, 13, 23, 43, 10.
    Then, using linear probing: 3 is stored at index 3, 13 is stored at index 4, 23 is stored at index 5.
    // That's 3 index checks: h'(x) = [h(x) + f(i)] % 10, for f(i) = i, where i = 0, 1, and 2.
    Using quadratic probing: 3 is stored at index 3, 13 is stored at index 4, 23 is stored at index 7.
    // That's 3 index check: h'(x) = [h(x) + f(i)] % 10, for f(i) = i^2, where i = 0, 1, and 2.
    So, I'm wondering what the benefit is of using quadratic probing to avoid collision clustering? It still requires the same number of basic computations to lookup and element, it seems.

  • @favthingzz
    @favthingzz 5 ปีที่แล้ว +2

    Very thank you sir..after listening Ur class I get clarity on this topic.very clear explanation.

  • @godnoss466
    @godnoss466 3 ปีที่แล้ว +1

    nice video , 100% recommended
    to learn hashing and its functions

  • @teenschool282
    @teenschool282 ปีที่แล้ว +2

    Hashing has never sounded so easy🥰🥰

  • @niranjanshettymay
    @niranjanshettymay 3 ปีที่แล้ว +1

    Very clear explanation. Please continue posting more videos. It was very helpful.

  • @sagarmehla3781
    @sagarmehla3781 6 ปีที่แล้ว +5

    Sir try to arrange your videos sub-topic wise. Like for tree,graph,algo etc.
    Your explanation are awesome.

  • @shariulekab
    @shariulekab 3 ปีที่แล้ว

    Best Teacher and best lecture over youtube for any kind of problem

  • @venikasruthiannam7656
    @venikasruthiannam7656 3 ปีที่แล้ว +2

    OMG sir,, this is super osm!!!!
    I just loved the content. Please make more videos!
    REAL TALENT!

  • @mohsenmohammadian5329
    @mohsenmohammadian5329 5 หลายเดือนก่อน +1

    I like the video by default whenever I this man has recorded it as I'm sure I will clearly get the answer I'm looking for.

  • @letsknow7676
    @letsknow7676 3 ปีที่แล้ว +1

    Shaandaar explanation....
    Very helpful video
    Thank you so much sir.

  • @MemesfromOhio999
    @MemesfromOhio999 5 ปีที่แล้ว +21

    If we had teachers like him in colleges like IP University then we would have no need of going to coaching only e college lectures would suffice for our success 😓

  • @ryandavis7506
    @ryandavis7506 5 ปีที่แล้ว +5

    best explanation I've seen so far

  • @saketh.vadlamudi
    @saketh.vadlamudi 5 ปีที่แล้ว +2

    Thank you very much sir for making hashing concept crystal clear..... please do keep making videos like these

  • @lonwabomfuntana6108
    @lonwabomfuntana6108 3 หลายเดือนก่อน

    you might actually be the greatest to ever do it

  • @MAHALAKSHMI-wq3eo
    @MAHALAKSHMI-wq3eo 3 ปีที่แล้ว +2

    You literally saved me sir, you are such a masterpiece🙏🙏🙏
    Thank youuu soo much sir, you're amaazing!!!👌👌👌

  • @SHRUTIGUPTAism
    @SHRUTIGUPTAism 6 ปีที่แล้ว +1

    your teaching method is really very very much effective.thank you so much sir

  • @JaveedAther
    @JaveedAther 6 หลายเดือนก่อน

    Sir Hats off to your explanation. Thanks for existing.

  • @sibonilemthunzi6297
    @sibonilemthunzi6297 3 หลายเดือนก่อน

    wow you are just so good. this is the best video about hashing I have watched.

  • @satya-official
    @satya-official 6 ปีที่แล้ว +3

    very good explanation Sir !!!!!!!!!!!
    Keep making this type of videos.
    I have seen All your Algorithm Analysis videos. I am a huge fan of your teaching style !!!!!!!!!!

  • @adilbundhoo3079
    @adilbundhoo3079 6 ปีที่แล้ว +66

    man that was next level explanation

  • @ayubaiddrisu609
    @ayubaiddrisu609 หลายเดือนก่อน +1

    Sir you really a good teacher ❤

  • @vishnu3851
    @vishnu3851 7 ปีที่แล้ว +6

    A newbie like me was able to understand. Thanks a lot :)

  • @yisahkelvin1532
    @yisahkelvin1532 2 ปีที่แล้ว +1

    You are the best teacher in this youtube. What a fantastic explanation in such a short time. #Woow #HatsOff

  • @mafazpx
    @mafazpx 2 ปีที่แล้ว +1

    Very simple and excellent explanation.

  • @krishnagavas6163
    @krishnagavas6163 6 ปีที่แล้ว +1

    Beautiful explanation, must watch if u r new to hashing.👌👍

  • @aakashbhatia
    @aakashbhatia หลายเดือนก่อน

    best video on hashing on the planet

  • @sakshamsrivastava6280
    @sakshamsrivastava6280 3 ปีที่แล้ว +2

    This is pure gold.
    Thankyou sir!!

  • @mohammadahmedragab837
    @mohammadahmedragab837 3 ปีที่แล้ว +1

    big thank you , I have just discovered your amazing helpful valued channel. Many thanks from Egypt :)

  • @nabinrai749
    @nabinrai749 3 ปีที่แล้ว +24

    i wish you were my father

    • @FahahahaGuliehehe
      @FahahahaGuliehehe 2 หลายเดือนก่อน +1

      ????

    • @NoName-ob3ou
      @NoName-ob3ou 2 หลายเดือนก่อน +2

      😂😂😂

    • @devshah100
      @devshah100 26 วันที่ผ่านมา

      You have your father, god has given...
      But guru is a valuable asset ❤

  • @ninapanou5217
    @ninapanou5217 7 ปีที่แล้ว +10

    The most helpful video about hashing. Thank you so much, Sir. Keep up the good work!

  • @rahulrex1641
    @rahulrex1641 ปีที่แล้ว

    this is so goood even after 7 years. thank you
    text book sucks!!

  • @mayankkataria7080
    @mayankkataria7080 2 ปีที่แล้ว +5

    Your videos are best sir. Thanks for explaining in such a well manner.
    But I've one correction. You said it'll be definitely less than O(logn) but worst case of hashing is O(n) so it can be greater than O(logn).

    • @hasaniqbal1646
      @hasaniqbal1646 2 ปีที่แล้ว

      Exactly what I was thinking. What if all the elements have same mod and we have a single linked list with all the elements. in that case its O(n)

  • @VinodKhanna007
    @VinodKhanna007 3 ปีที่แล้ว

    Thank U soo much sir ! When I open the book & some other channel for this topic My mind was boomerang! But after watching this just .. just 30 minutes I learned entire concept very very easily like peeling banana ! What an explanation sir G ! Thank u so much !

  • @TheThelifegame
    @TheThelifegame 2 ปีที่แล้ว

    sir words cannot discripe how staight, clear your explanation is ... thank uuuuu

  • @vipulsingh4893
    @vipulsingh4893 2 ปีที่แล้ว

    Sur give a really good explanation of every topic hats off for u sir

  • @jaren_c
    @jaren_c 2 ปีที่แล้ว

    Damn excellent explanation.. Even 7 years later. Thanks!

  • @MrHajabe
    @MrHajabe 7 ปีที่แล้ว

    I gone through multiple hast table logic video, but this is gives nice explanation.thank you

  • @chinmaydas4053
    @chinmaydas4053 6 ปีที่แล้ว +1

    Your explanation is elaborative and in depth..thank you sir 🙏🙏..

  • @gopeswarnamasudra8895
    @gopeswarnamasudra8895 7 ปีที่แล้ว +2

    Hope you make more videos your explanation is really clear and simple , thanks a lot

  • @Thekingslayer-ig5se
    @Thekingslayer-ig5se 8 หลายเดือนก่อน

    Fantastic tutorial
    I really learnt what hashing is

  • @saadmanahmed860
    @saadmanahmed860 5 ปีที่แล้ว +2

    pedantic explanation...good job

  • @ApstractMusic
    @ApstractMusic 4 ปีที่แล้ว +3

    What an absolutely fantastic explanation. Thank you!

  • @Kaiser3493
    @Kaiser3493 6 ปีที่แล้ว

    Thank you so much. Your video will make me pass this course. May god bless you.

  • @kshirodmishra171
    @kshirodmishra171 6 ปีที่แล้ว

    super sir. The best training about Hashing . So simple and an easy you made it......!!!!

  • @ashwiniv7053
    @ashwiniv7053 5 ปีที่แล้ว +2

    Awesome explanation. Thank you Abdul.

  • @super21knight14
    @super21knight14 3 ปีที่แล้ว +1

    thank you so much for your clear and concise explanation!

  • @josecabrera7947
    @josecabrera7947 2 ปีที่แล้ว

    Thank you brother. Such a good detailed instruction to Hash Tables and Techniques.

  • @ravindracute
    @ravindracute 4 ปีที่แล้ว +1

    Awesome video...i was not aware of quadratic probing. Thanks

  • @mayankkataria7829
    @mayankkataria7829 5 ปีที่แล้ว +1

    I liked the video but I have doubts if with linear and quadratic probing all slots are filed in hash table then what will happen do we have to increase the size of hash table or what?

  • @Prism684
    @Prism684 3 ปีที่แล้ว

    This is truly fast forward learning in fast world. Thanks.

  • @dwivedys
    @dwivedys 7 ปีที่แล้ว +2

    super cool video. very nicely explained. can u talk more about why clustering of elements around collision point is bad and hence quadratic probing is preferable?

    • @rajghosh217
      @rajghosh217 2 ปีที่แล้ว

      Probably because in linear probing you'd have to go through a lot of unnecessary elements whose h(x) in h'(x) wasn't the same as the element you're searching for because you keep looking until you find the vacant space.

  • @tarun4705
    @tarun4705 5 ปีที่แล้ว

    no one can give a better explanation than this one

  • @aishwaryakudatarkar3891
    @aishwaryakudatarkar3891 4 ปีที่แล้ว +6

    Sir what about 43 in quadratic probing?? It will be stored at 2nd index, but then how to search for an element?

  • @vbroskas
    @vbroskas 6 ปีที่แล้ว +4

    Using the quadratic probing, what happens if you are forced to index something in a position that is outside the range of your hash table? For example if because of other collisions, using the hash function, it tells you to index something at index 12, but your array only goes up to 9? Thanks for the help, this was a great video!

    • @mrchali-rl8es
      @mrchali-rl8es 6 ปีที่แล้ว

      same question

    • @HippieDreamsWV
      @HippieDreamsWV 6 ปีที่แล้ว +2

      The modulus is taken after the functions are added. Thus, there is no value of [ h(x) + f(i) ] which when the modulus is taken can be greater than the number of entries in the hash table. The value of a mod b will always be less than b.

    • @kwakubiney5175
      @kwakubiney5175 2 ปีที่แล้ว +1

      @@HippieDreamsWV But there can still be a situation where array space gets used up. Is the array length increased dynamically to solve that?

  • @hemanegikhatri6075
    @hemanegikhatri6075 7 ปีที่แล้ว +1

    this is the one i found the bestest lecture