Qraf quruluşunda düyünlər arasındakı əlaqələri və əlaqələri necə təqdim etmək və təsvir etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Qovşqlar arasındakı əlaqələr və qarşılıqlı əlaqələr qraf strukturunda adətən kənarlarla təsvir olunur. Bir qrafın əsas təqdimetmə üsulları:
-
Yaxınlıq siyahısı: hər bir qovşaq üçün, onun əlaqəli olduğu qonşu qovşaq siyahısı saxlanılır. Bu, seyrek qraf üçün effektiv üsuldur.
-
Yaxınlıq matrisi: [i][j] elementi, i və j qovşaqları arasında kənar mövcuddursa (və ya çəkisi ilə), onu göstərən iki ölçülü massivdir. Yığcam qraflar üçün əlverişlidir.
-
Kənarların siyahısı: sadəcə bütün kənarların siyahısı, hər kənar başlanğıc və son qovşaq haqqında məlumat saxlayır (və çəkisi, əgər varsa).
Məsələn, Java-da qraf aşağıdakı kimi təqdim oluna bilər:
class Graph {
private Map<Integer, List<Integer>> adjacencyList = new HashMap<>();
void addEdge(int from, int to) {
adjacencyList.computeIfAbsent(from, k -> new ArrayList<>()).add(to);
// Yönəldilməmiş qraf üçün, tərs kənar əlavə edin
// adjacencyList.computeIfAbsent(to, k -> new ArrayList<>()).add(from);
}
}
Beləliklə, qovşaq arasındakı əlaqələr kənarlarla modelləşdirilir və məlumat strukturu vəzifəyə və qrafın xüsusiyyətlərinə görə seçilir.