Effective Searching Techniques for Sorting and Beyond

  • Thread starter Thread starter Pattielli
  • Start date Start date
Click For Summary
SUMMARY

This discussion focuses on effective searching techniques, particularly binary search, which operates at O(log2(N)) but requires a sorted list. Participants highlight the importance of selecting searching methods based on data types, recommending A* for tree structures. Additionally, resources for learning about heuristic search algorithms are shared, including links to educational websites and the book "Introduction to Algorithms, Second Edition" by Cormen, Leiserson, Rivest, and Stein. The conversation emphasizes the necessity of programming skills in modern problem-solving.

PREREQUISITES
  • Understanding of binary search and its requirements
  • Familiarity with A* search algorithm and its applications
  • Basic knowledge of heuristic functions in search algorithms
  • Awareness of graph theory concepts
NEXT STEPS
  • Study the implementation of binary search in various programming languages
  • Explore the A* search algorithm and its use cases in AI
  • Learn about heuristic functions and their role in optimizing search algorithms
  • Read "Introduction to Algorithms, Second Edition" for a comprehensive understanding of algorithms
USEFUL FOR

Software developers, AI researchers, and students interested in search algorithms and their applications in various fields, particularly in optimizing data retrieval and problem-solving techniques.

Pattielli
Messages
296
Reaction score
0
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,
 
Computer science news on Phys.org
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
 
Last edited by a moderator:
Thanks, but you know any others in AI ?
 
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,
 
Here are some websites with general overviews:
http://www.cee.hw.ac.uk/~alison/ai3notes/subsection2_6_2_3.html#SECTION0062300000000000000
http://cogsci.ucsd.edu/~batali/108b/lectures/heuristic.html

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:
Thank Dduardo a lot for those links and for your recommendation..
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,
 
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.
 
  • #10
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,
 
  • #11
??
 

Similar threads

  • · Replies 23 ·
Replies
23
Views
3K
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 19 ·
Replies
19
Views
5K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 26 ·
Replies
26
Views
5K
  • · Replies 5 ·
Replies
5
Views
883
  • · Replies 18 ·
Replies
18
Views
4K
  • · Replies 7 ·
Replies
7
Views
2K