Sobes.tech
Junior — Middle

Чӣ гуна метавон пайвандҳо ва муносибатҳои байни вершҳоро дар сохтори графӣ тасвир ва тавсиф кард?

sobes.tech AI

Ҷавоб аз AI

Васлҳо ва робитаҳо байни сӯрохиҳо дар сохтори граф одатан бо ёрии канорҳо тавсиф мешаванд. Роҳҳои асосии намоиши граф:

  • Листи ҳамсоягӣ: барои ҳар як сӯрохи, рӯйхати сӯрохиҳои ҳамсоя, ки бо он пайваст аст, нигоҳ дошта мешавад. Ин усули муассир барои графҳои нодир аст.

  • Маҳдуди ҳамсоягӣ: массиви дуҷониба, ки дар он унсури [i][j] нишон медиҳад, ки оё канор байни сӯрохиҳо i ва j вуҷуд дорад (ва эҳтимолан вазнаш). Барои графҳои ғафс мувофиқ аст.

  • Рӯйхати канорҳо: танҳо рӯйхати ҳамаи канорҳо, ки ҳар як канор маълумот дар бораи сӯрохиҳои оғоз ва анҷом (ва вазн, агар мавҷуд бошад) дорад.

Масалан, дар Java, граф чунин тасвир карда мешавад:

class Graph {
    private Map<Integer, List<Integer>> adjacencyList = new HashMap<>();

    void addEdge(int from, int to) {
        adjacencyList.computeIfAbsent(from, k -> new ArrayList<>()).add(to);
        // Барои графи нусрат, канори муқобилро илова кунед
        // adjacencyList.computeIfAbsent(to, k -> new ArrayList<>()).add(from);
    }
}

Инчунин, робитаҳо байни сӯрохиҳо бо ёрии канорҳо модел карда мешаванд, ва сохтори додаҳо мувофиқи вазифа ва хусусиятҳои граф интихоб мешавад.