Python의 행렬에서 인접 목록 그래프 만들기

ayc.19

그래서 저는 문자 행렬에서 문자 그래프를 만들려고합니다 (보글 보드를 표현하기 위해). 그래서 다음과 같은 것이 있다고 말하십시오.

[ [ A, B, C, D], 
  [E, F, G, H], 
  [I, J, K, L], 
  [M, N, O, P] ].

각 노드가 문자가되기를 원하지만 각 노드의 이웃을 가져 오는 방법을 파악하는 데 어려움이 있습니다. 예를 들어, 노드 A에는 이웃 B, E 및 F가 있습니다. 노드 K에는 이웃 F, G, H, J, L, M, O 및 P가 있습니다. 어떤 도움을 주시면 감사하겠습니다!

음소거

행렬의 모든 노드를 반복 한 다음 오른쪽 및 아래에있는 모든 인접 노드를 결과에 추가 할 수 있습니다.

matrix = [
    ['A', 'B', 'C', 'D'],
    ['E', 'F', 'G', 'H'],
    ['I', 'J', 'K', 'L'],
    ['M', 'N', 'O', 'P']
]

def add(adj_list, a, b):
    adj_list.setdefault(a, []).append(b)
    adj_list.setdefault(b, []).append(a)

adj_list = {}
for i in range(len(matrix)):
    for j in range(len(matrix[i])):
        if j < len(matrix[i]) - 1:
            add(adj_list, matrix[i][j], matrix[i][j+1])
        if i < len(matrix[i]) - 1:
            for x in range(max(0, j - 1), min(len(matrix[i+1]), j+2)):
                add(adj_list, matrix[i][j], matrix[i+1][x])

import pprint
pprint.pprint(adj_list)

산출:

{'A': ['B', 'E', 'F'],
 'B': ['A', 'C', 'E', 'F', 'G'],
 'C': ['B', 'D', 'F', 'G', 'H'],
 'D': ['C', 'G', 'H'],
 'E': ['A', 'B', 'F', 'I', 'J'],
 'F': ['A', 'B', 'C', 'E', 'G', 'I', 'J', 'K'],
 'G': ['B', 'C', 'D', 'F', 'H', 'J', 'K', 'L'],
 'H': ['C', 'D', 'G', 'K', 'L'],
 'I': ['E', 'F', 'J', 'M', 'N'],
 'J': ['E', 'F', 'G', 'I', 'K', 'M', 'N', 'O'],
 'K': ['F', 'G', 'H', 'J', 'L', 'N', 'O', 'P'],
 'L': ['G', 'H', 'K', 'O', 'P'],
 'M': ['I', 'J', 'N'],
 'N': ['I', 'J', 'K', 'M', 'O'],
 'O': ['J', 'K', 'L', 'N', 'P'],
 'P': ['K', 'L', 'O']}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

인접 목록에서 무 방향 그래프 만들기

분류에서Dev

주어진 학위 목록에서 임의 그래프 또는 해당 인접 행렬을 만듭니다.

분류에서Dev

Python의 목록 목록에서 그래프 만들기

분류에서Dev

연결된 그래프의 인접 행렬 및 인접 목록

분류에서Dev

graph-tool, python 인터페이스의 인접 행렬에서 가중치 그래프 만들기

분류에서Dev

C ++에서 유 방향 그래프에 대한 인접 목록 만들기

분류에서Dev

c의 거리 2 그래프 인접 목록에서 이웃 가져 오기

분류에서Dev

에지 목록에서 인접 행렬 만들기

분류에서Dev

Java에서 그래프의 가장자리 정렬 (인접 목록 표시 기반)

분류에서Dev

apply를 사용하여 R의 데이터 프레임에서 인접 행렬 목록을 만듭니다.

분류에서Dev

인접성 목록에서 그래프의 토폴로지 순서 가져 오기

분류에서Dev

Python에서 인접 행렬에 대한 인접 목록 표현

분류에서Dev

Python의 목록에서 행렬 만들기

분류에서Dev

C의 인접 목록 그래프에서 각 꼭지점의 차수 계산

분류에서Dev

Dict 및 List를 사용하여 Python에서 인접 목록 만들기

분류에서Dev

C의 인접 목록 그래프 표현에서 나가는 링크 계산

분류에서Dev

(R Igraph) 제휴를 사용하여 인접 행렬에서 부분 그래프 만들기

분류에서Dev

igraph를 사용하여 R에서 순환 그래프 또는 인접 행렬 만들기?

분류에서Dev

무 방향 (무가 중) 그래프에 대한 C의 인접 목록

분류에서Dev

프롤로그에서 두 목록의 합집합 만들기

분류에서Dev

MS Excel의 목록에서 행렬 만들기

분류에서Dev

Python의 루프 값에서 목록 만들기

분류에서Dev

Python에서 2D 행렬 목록 만들기

분류에서Dev

목록에서 이름을 가진 클래스의 인스턴스 만들기

분류에서Dev

vba의 데이터 목록에서 조인 된 행렬 만들기 (예 : 외부 조인)

분류에서Dev

R의 요인 목록에서 논리 또는 이진 행렬 /data.frame 만들기

분류에서Dev

Pandas : 인접 행렬에서 일련의 노드 목록으로

분류에서Dev

루프가없는 다른 행렬의 임의 블록 행에서 행렬 만들기 (R)?

분류에서Dev

루프가없는 다른 행렬의 임의 블록 행에서 행렬 만들기 (R)?

Related 관련 기사

  1. 1

    인접 목록에서 무 방향 그래프 만들기

  2. 2

    주어진 학위 목록에서 임의 그래프 또는 해당 인접 행렬을 만듭니다.

  3. 3

    Python의 목록 목록에서 그래프 만들기

  4. 4

    연결된 그래프의 인접 행렬 및 인접 목록

  5. 5

    graph-tool, python 인터페이스의 인접 행렬에서 가중치 그래프 만들기

  6. 6

    C ++에서 유 방향 그래프에 대한 인접 목록 만들기

  7. 7

    c의 거리 2 그래프 인접 목록에서 이웃 가져 오기

  8. 8

    에지 목록에서 인접 행렬 만들기

  9. 9

    Java에서 그래프의 가장자리 정렬 (인접 목록 표시 기반)

  10. 10

    apply를 사용하여 R의 데이터 프레임에서 인접 행렬 목록을 만듭니다.

  11. 11

    인접성 목록에서 그래프의 토폴로지 순서 가져 오기

  12. 12

    Python에서 인접 행렬에 대한 인접 목록 표현

  13. 13

    Python의 목록에서 행렬 만들기

  14. 14

    C의 인접 목록 그래프에서 각 꼭지점의 차수 계산

  15. 15

    Dict 및 List를 사용하여 Python에서 인접 목록 만들기

  16. 16

    C의 인접 목록 그래프 표현에서 나가는 링크 계산

  17. 17

    (R Igraph) 제휴를 사용하여 인접 행렬에서 부분 그래프 만들기

  18. 18

    igraph를 사용하여 R에서 순환 그래프 또는 인접 행렬 만들기?

  19. 19

    무 방향 (무가 중) 그래프에 대한 C의 인접 목록

  20. 20

    프롤로그에서 두 목록의 합집합 만들기

  21. 21

    MS Excel의 목록에서 행렬 만들기

  22. 22

    Python의 루프 값에서 목록 만들기

  23. 23

    Python에서 2D 행렬 목록 만들기

  24. 24

    목록에서 이름을 가진 클래스의 인스턴스 만들기

  25. 25

    vba의 데이터 목록에서 조인 된 행렬 만들기 (예 : 외부 조인)

  26. 26

    R의 요인 목록에서 논리 또는 이진 행렬 /data.frame 만들기

  27. 27

    Pandas : 인접 행렬에서 일련의 노드 목록으로

  28. 28

    루프가없는 다른 행렬의 임의 블록 행에서 행렬 만들기 (R)?

  29. 29

    루프가없는 다른 행렬의 임의 블록 행에서 행렬 만들기 (R)?

뜨겁다태그

보관