일지

자료구조...75

niamdank 2021. 4. 10. 11:15

그래프 구현/인접행렬)

각각의 노드와 간선을 행렬을 통해 표현하는 방법으로 다음과 같이 각각의 노드가 순서대로 존재하는 것으로 가정하고 노드의 간선을 값으로 표현하는 방법이다.

 

구현이 필요한 메서드 및 속성은 다음과 같다.

  • 생성자
    • ArrayGraph() 비어있고 기본 초기 용량을 가지는 인스턴스 생성
    • ArrayGraph(int) 비어있고 지정한 초기 용량을 가지는 인스턴스 생성
  • 속성 
    • NodeCapacity 노드의 최대 개수
    • NodeCount 현재 노드의 개수
  • 메서드 
    • InsertNode() 가능할 경우 노드 추가
    • InsertEdge(int, int) 앞의 노드에서 뒷 노드로 이동하는 엣지 추가
    • RemoveNode(int) 지정된 인덱스의 노드 제거 후 모든 데이터 위치 조정
    • RemoveEdge(int, int) 앞의 노드에서 뒷 노드로 이동하는 엣지 제거
    • Clear() 저장되어 있는 모든 데이터 삭제
    • GetDegreeIn(data) 노드의 진입 차수 반환
    • GetDegreeOut(data) 노드의 진출 차수 반환