Binary tree

This technique is very usefull if you need to find a value in a very large array. It works much and much faster then looping through your array waiting to find your value.

This is how it works:
You check the value in the middle of your array. You check if this value is smaller or larger then the value you are looking for. If it's smaller you take the left part of the array, if it's bigger you take the right part of the array. You keep on doing this until you find your value.
Note that your array needs to be sorted to use this technique.

The main problem with binary search is that the data already has to be sorted and it may end up being more work than just doing a linear search in alot of cases since in a linear search, the data does not have to be sorted.