Learn Interpolation search in 8 minutes ❓

Поделиться
HTML-код
  • Опубликовано: 19 окт 2024
  • Interpolation search data structures and algorithms tutorial example explained
    #interpolation #search #java

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

  • @BroCodez
    @BroCodez  3 года назад +18

    public class Main{

    public static void main(String args[]){

    //interpolation search = improvement over binary search best used for "uniformly" distributed data
    // "guesses" where a value might be based on calculated probe results
    // if probe is incorrect, search area is narrowed, and a new probe is calculated

    // average case: O(log(log(n)))
    // worst case: O(n) [values increase exponentially]
    int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9};

    int index = interpolationSearch(array, 8);

    if(index != -1) {
    System.out.println("Element found at index: "+ index);
    }
    else {
    System.out.println("Element not found");
    }
    }
    private static int interpolationSearch(int[] array, int value) {

    int high = array.length - 1;
    int low = 0;

    while(value >= array[low] && value

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

      Practicing...
      import java.util.*;
      public class Main
      {
      public static void main(String[] args) {
      int[]array = {1,2,4,8,16,32,64,128,256,512,1024};
      int index = interpolationSearch(array,1024);
      if(index != -1){
      System.out.println("Element found at index: "+ index);
      }
      else{
      System.out.println("Element not found");
      }
      }
      private static int interpolationSearch(int[]array, int value){
      int high = array.length - 1;
      int low = 0;
      while(value >= array[low] && value

  • @marcovic9916
    @marcovic9916 3 года назад +12

    This search algorithm is crazy, never heard of that! I'll definitely remind this and maybe should tell my prof about. Nice video bro :)

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

    this guy is the most underrated channel ever, like holy shit this guy is good at teaching, keep it up man don't stop!

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

    I'm transitioning out of teaching into programming/IT, and the biggest obstacle I've faced so far is learning from someone who can explain challenging material in a way that a novice can understand. You obviously know the material, but what sets you apart is your ability to teach it well. Outstanding job!

  • @Ashish-yq9lg
    @Ashish-yq9lg 3 года назад +8

    Can you make videos with some complex examples where we can code side by side with your videos for like arraylists, searching, sorting etc. That would be really helpful in understanding the use of them in different situations. Anyway Thanks for the free courses 😀

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

    Binary search, *BUT BETTER?!*
    Thanks! Saving it to my playlist with no hesitations!

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

      better but IF the data is about evenly distributed

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

    Can’t believe you are at 200K subscribers. I was one of the first subscribers when you started around November 2019. I went by Dan Savage then.

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

    I'm in the third year of my CS career and I have never heard of this type of search!

  • @HpLapTop-f1x
    @HpLapTop-f1x Год назад +1

    Assolomu Alaykum !
    Bro your videos so helpfull and better to undestand.
    Can you give more definations and explanations to probe function !
    Thank you ! For free sharing your videos.👌👌👌👌👌👌👌👌

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

    I love the explanation and I learned a lot. I also would like to learn for 2 or more array factors which we can guess the interpolated value using these given multiple set of arrays. Would love to watch that maybe in the series of this video? Either way, thanks so much bro!

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

    These algorithm videos are great bro :)

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

    In these videos where these concepts can be applied to programming you show examples of using them with programming in Java, and it has helped me understand a bit, it’s just that I’m not learning Java, I’m learning c#. Would it be ok for me to look at your examples to understand how the concepts work when applied to programming and then try to learn how to use them with c#?

    • @emptycode1782
      @emptycode1782 21 день назад

      these are general stuff and not really restricted to a language , you could apply the same concept and logic throughout other languages and it would be completely fine.
      actually most other stuff are the same , its rare to find a general concept that doesnt apply to all languages ( Dsa is an example , multithreading basics , data collections , networking , api design , sql basics)

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

    Thanks a lot ! Great job, advanced biSearch.

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

    Thanks Bro, For This Video. You ara A Good Parson. I Like Your Video all time. Your Fan From "Bangladesh".

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

    its really nice explanation with quite voice , thanks bro

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

    One question, this will work only if array is sorted and the data is either in Geometric progression or arithmetic progression. Will it also work in arithmetic-geometric progression and harmonic progression?

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

      Try it yourself 🙃

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

    omg, this algorithm is crazy! Although, I'm not sure if I'm doing this one correctly or what's going on:
    I'm using an array populated by random elements bound in 200.
    It has 100000 elements, and they have been sorted.
    I do this search function as explained but only throws 1 probe, or 2 at the most each time, how is that possible that it guesses almost every time correctly?
    int[] array3 = new int[100000];
    Random random = new Random();
    for (int i = 0; i < 100000; i++) array3[i] = random.nextInt(200);
    Arrays.sort(array3);
    int interpSearch = 123;
    int index3 = interpolationSearch(array3, interpSearch);
    System.out.println();
    if(index3 != -1) {
    System.out.println("Element found at index: " + index3);
    System.out.println("Array index: " + index3 + "\tValue:" + array3[index3]);
    }
    else System.out.println("Element not found");
    }
    And here's the method:
    private static int interpolationSearch(int[] array, int value){
    long start;
    long end;
    long elapsed;
    start = System.nanoTime();
    int high = array.length - 1;
    int low = 0;
    while(value >= array[low] && value

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

    Oh, this is something new and interesting. I thought only linear search and binary search existed😅

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

    yo i went from zero to hero cuz of ur content :)

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

    Thanks, Bro!

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

    can someone explain to me how probing works?
    how does the formula guess where the value is?

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

    Nice class

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

    What exactly does "uniformly distributed" mean here? The example series seem only increasing. What's uniform? You mean, increasing by a fixed rate?

  • @MrLoser-ks2xn
    @MrLoser-ks2xn Год назад

    Thanks!

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

    bro one request we need class of 3d game developement in java

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

    Well done

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

    Hello bro, cool vid 😎

  • @dhruvkumar-br2lp
    @dhruvkumar-br2lp 2 месяца назад

    Thanks

  • @ucPham-yq2qy
    @ucPham-yq2qy 7 месяцев назад

    but when arr[low] == arr[high] and low != high, how this search algorithm work?

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

    As what are you working?

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

    but ho do we get that formula of probe?

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

    sweeeet

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

    ❤️❤️❤️ first to see ❤️❤️

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

    Does anybody know where I can find a proof of the average case?

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

      It's basically the secant method, so you should probably look for proofs regarding it's convergence rate.
      For sufficiently large datasets you can treat it the same as finding the root of a real valued functions in the interval [0,1], and find how many steps until the error is < 1/n

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

    Poggersss

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

    I think this is giving wrong ans for array
    {10,20,30,40,50}

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

      It is working perfectly, check algorithm again.

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

    gg

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

    Random Comment

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

    my brain is defective I cant understand

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

    :((

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

    thanks