# Searching techniques

I used to make a questions about Sorting techniques, and I was welcome by lots of you...
Now, it is the same but this time is for Searching...So, would you please tell me some of the searching techniques which you know and have implemented ?

Anything is okay, please tell me...

Thank you very much,

I think the most common is binary search, it's also quite fast at O(log2(N)) where N is the length of the list you search through. The only downside of binary search is that it requires the list to be sorted to begin with. Some pseudocode is here:
http://planetmath.org/encyclopedia/BinarySearch.html [Broken]

Last edited by a moderator:
Thanks, but you know any others in AI ?

dduardo
Staff Emeritus
Searching completely depends on the type of data your dealing with. Tell us what your dealing with and I can tell you which method to use. For instance if your dealing with trees, you might want to look into A*

If you are interested in the topic of search algorithms you might want to take a class in graph theory and learn a little about hueristics

dduardo said:
Searching completely depends on the type of data your dealing with. Tell us what your dealing with and I can tell you which method to use. For instance if your dealing with trees, you might want to look into A*

If you are interested in the topic of search algorithms you might want to take a class in graph theory and learn a little about hueristics
No, actually I amnot dealing with any problems in AI, I think that searching technique is used mostly in this field and I just try to "randomly" pick one and learn about it, then if time is given, I will come to the next, on and on...i don't have anything to do now, and that accounts for the main reason of the thread...
Are there any sites that have any tutorials about heuristic search ? May I ask for them ?

Thank you very much,

dduardo
Staff Emeritus
Here are some websites with general overviews:
http://www.cee.hw.ac.uk/~alison/ai3notes/subsection2_6_2_3.html#SECTION0062300000000000000 [Broken]
http://cogsci.ucsd.edu/~batali/108b/lectures/heuristic.html [Broken]

The best place to find information on this stuff is the library. I recommend this book if you can find it:

Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest, and Stein

Last edited by a moderator:
May I ask you a question of whether or not you are into this field or if it is possible for me to make a question about your major ?

Thank you very much,

dduardo
Staff Emeritus
I'm an electrical major. My speciality is going to be in digital design. Therefore I am almost required to be a software designer that writes code in VHDL and verilog.

For me, i find the ablity to write code a very important attribute in any field. Modern problems tend to require heavy duty computation, and to be able to whip up a program to quickly test a hypothesis gives you a big advantage over people that don't know how to program.

Thanks, I also have some times playing around with VHDL learning some of its basic syntax, havenot even once applied it to any real CPU related programings...That is a pity I think since I amnot majoring in CS...

Again thanks a lot for your help.

I have another question about Heuristic search,
Could anyone tell me what is the heuristic function ? is it to be computed as h(x,y,z)=dimx+dimy+dimz-x-y-z or something else ?
Thanks a lot,

???????????