வரைபடத் தேடல் (Graph Search) அல்காரிதம் இல் Java

வரைபடத் தேடல் அல்காரிதம் என்பது Java ஒரு வரைபடத்தில் உள்ள செங்குத்துகள் அல்லது விளிம்புகளைத் தேடுவதற்குப் பயன்படுத்தப்படும் நிரலாக்கத்தில் இன்றியமையாத நுட்பமாகும். வரைபடம் என்பது விளிம்புகளால் இணைக்கப்பட்ட செங்குத்துகளின் தொகுப்பாகும். இந்த அல்காரிதம் பெரும்பாலும் குறுகிய பாதையைக் கண்டறிதல், உறுப்புகளுக்கு இடையேயான இணைப்புகளைத் தேடுதல் மற்றும் நெட்வொர்க்குகளை பகுப்பாய்வு செய்தல் போன்ற பிரச்சனைகளுக்குப் பயன்படுத்தப்படுகிறது.

வரைபடத் தேடல் அல்காரிதம் எவ்வாறு செயல்படுகிறது

வரைபடத் தேடல் அல்காரிதம், அகலம்-முதல் தேடல்(BFS) மற்றும் ஆழம்-முதல் தேடல்(DFS) போன்ற பல்வேறு முறைகளைக் கொண்டுள்ளது. இந்த இரண்டு முறைகளும் இலக்கை அல்லது தேவையான நிலையைக் கண்டறிய வரைபடத்தில் உள்ள செங்குத்துகள் மற்றும் விளிம்புகளைக் கடப்பதை உள்ளடக்கியது.

  • அகலம்-முதல் தேடல்(BFS) முதலில் மூல உச்சியைக் கடந்து, தொலைதூர முனைகளுக்குச் செல்வதற்கு முன் அண்டை முனைகளை ஆராய்கிறது.
  • ஆழம்-முதல் தேடல்(DFS) ஒவ்வொரு உச்சியையும் ஆராய்ந்து, இலக்கைக் கண்டுபிடிக்கும் வரை அல்லது மேலும் ஆய்வு சாத்தியமில்லாத வரை ஆழமான முதல் தேடலைச் செய்கிறது.

வரைபடத் தேடல் அல்காரிதத்தின் நன்மைகள் மற்றும் தீமைகள்

நன்மைகள்:

  • இணைப்புகளைக் கண்டறிதல்: இந்த அல்காரிதம் ஒரு வரைபடத்தில் உள்ள செங்குத்துகளுக்கு இடையே உள்ள இணைப்புகளை அடையாளம் காண உதவுகிறது, இது உறுப்புகளுக்கு இடையிலான குறுகிய பாதைகள் அல்லது உறவுகளைக் கண்டறிய பயனுள்ளதாக இருக்கும்.
  • வேகமான தேடல் திறன்: வரைபடத்தின் கட்டமைப்பைப் பொறுத்து, அல்காரிதம் இலக்கை விரைவாகத் தேடலாம்.

தீமைகள்:

  • தொலைந்து போகும் வாய்ப்புகள்: பெரிய மற்றும் சிக்கலான வரைபடங்களில், அல்காரிதம் தொலைந்து போகலாம் அல்லது திசைதிருப்பலாம், இது நேரத்தைச் செலவழிக்கும் தேடல்களுக்கு வழிவகுக்கும்.

எடுத்துக்காட்டு மற்றும் விளக்கம்

Java ஒரு வரைபடத்தில் உள்ள செங்குத்துகளுக்கு இடையே உள்ள குறுகிய பாதையைக் கண்டறிய, அகலம்-முதல் தேடல்(BFS) முறையைப் பயன்படுத்தும் உதாரணத்தைப் பயன்படுத்தி வரைபடத் தேடல் அல்காரிதத்தை விளக்கவும் .

import java.util.*;  
  
public class GraphSearchExample {  
    // Class implementation of the graph and BFS here...  
}  
  
public static void main(String[] args) {  
    Graph g = new Graph(4);  
    g.addEdge(0, 1);  
    g.addEdge(0, 2);  
    g.addEdge(1, 2);  
    g.addEdge(2, 0);  
    g.addEdge(2, 3);  
    g.addEdge(3, 3);  
  
    System.out.println("BFS search from vertex 2:");  
    g.BFS(2);  
}  

இந்த எடுத்துக்காட்டில், நாம் ஒரு வரைபடத்தை உருவாக்கி, உச்சம் 2 இலிருந்து இணைக்கப்பட்ட செங்குத்துகளைத் தேட, அகலம்-முதல் தேடல்(BFS) முறையைப் பயன்படுத்துகிறோம். இதன் விளைவாக, வெர்டெக்ஸ் 2 இலிருந்து அகல-முதல் முறையில் கடந்து செல்லும் செங்குத்துகளின் வரிசையாக இருக்கும். இது ஒரு அடிப்படை. இல் உள்ள வரைபடத் தேடல் வழிமுறையைப் பயன்படுத்தி வரைபடத்திற்குள் தேடுவதற்கான அணுகுமுறை Java.