OR15A 2023. 12. 8. 08:49
  • κ·Έλž˜ν”„
    • ν˜„μƒμ΄λ‚˜ 사물을 정점과 κ°„μ„ μœΌλ‘œ ν‘œν˜„ν•œ 것
  • 정점
    • λŒ€μƒμ΄λ‚˜ 개체λ₯Ό λ‚˜νƒ€λƒ„
  • κ°„μ„ 
    • μ •μ κ°„μ˜ 관계λ₯Ό λ‚˜νƒ€λƒ„
    • κ°€μ€‘μΉ˜λ₯Ό μ£Όμ–΄ 정도λ₯Ό ν‘œν˜„ν•  수 있음

κ·Έλž˜ν”„, 정점, κ°„μ„ 

 

 

 

κ·Έλž˜ν”„μ˜ ν‘œν˜„

  • 전톡적인 κ·Έλž˜ν”„ ν‘œν˜„λ²•μ—λŠ” 행렬을 μ΄μš©ν•˜λŠ” 방법과 리슀트λ₯Ό μ΄μš©ν•˜λŠ” 방법이 있음

 

인접 ν–‰λ ¬

인접 ν–‰λ ¬
  • ν–‰λ ¬ ν‘œν˜„λ²•μ€ μ΄ν•΄ν•˜κΈ° 쉽고 κ°„μ„ μ˜ 쑴재 μ—¬λΆ€λ₯Ό 즉각 μ•Œ 수 있음
  • n*n 행렬이 ν•„μš”ν•˜λ―€λ‘œ n^2에 λΉ„λ‘€ν•˜λŠ” 곡간이 ν•„μš”ν•˜κ³ , ν–‰λ ¬ μ€€λΉ„ κ³Όμ •μ—μ„œ ν–‰λ ¬μ˜ λͺ¨λ“  μ›μ†Œλ₯Ό μ±„μš°λŠ” 데만 n^2에 λΉ„λ‘€ν•˜λŠ” μ‹œκ°„μ΄ λ“ λ‹€
  • ν‘œν˜„λ°©λ²•
    • 정점 i 와 정점 j 사이에 간선이 있으면 ν–‰λ ¬ (i,j)  (j,i) μ›μ†Œμ˜ 값을 1둜 할당함
    • λ°©ν–₯이 μžˆλŠ” 경우 i->j λ₯Ό  (i,j)둜 ν‘œν˜„
    • κ°€μ€‘μΉ˜κ°€ μžˆλŠ” 경우 μ›μ†Œμ˜ 값에 할당함
    • λ‚˜λ¨Έμ§€ μžλ¦¬μ—λŠ” 0을 할당함

 

 

인접 리슀트

인접 리슀트
  • 각 정점에 μΈμ ‘ν•œ 정점듀을 리슀트둜 ν‘œν˜„ν•˜λŠ” 방법
  • 각 μ •μ λ§ˆλ‹€ 리슀트λ₯Ό ν•˜λ‚˜μ”© λ§Œλ“€λ©°, μ „ν†΅μ μœΌλ‘œ μ—°κ²° 리슀트λ₯Ό μ‚¬μš©ν•¨
  • ν‘œν˜„ 방법
    • 각 μ •μ λ§ˆλ‹€ μΈμ ‘ν•œ 정점듀을 ν•˜λ‚˜μ˜ μ—°κ²°λ¦¬μŠ€νŠΈμ— λ§€λ‹¬μŒ
    • μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 간선은 λ¦¬μŠ€νŠΈμ— λ‚˜νƒ€λ‚˜μ§€ μ•ŠμŒ
    • κ°„μ„  ν•˜λ‚˜μ— λŒ€ν•˜μ—¬ λ…Έλ“œκ°€ 2κ°œμ”© λ§Œλ“€μ–΄μ§
    • 각 λ…Έλ“œλŠ” 정점 번호, κ°€μ€‘μΉ˜, λ‹€μŒ μ •μ μœΌλ‘œ κ°€λŠ” 링크둜 ꡬ성됨
  • λͺ¨λ“  κ°€λŠ₯ν•œ 정점 μŒμ— λΉ„ν•΄ κ°„μ„ μ˜ μˆ˜κ°€ 적을 λ•Œ 특히 μœ μš©ν•¨ : ν¬μ†Œ κ·Έλž˜ν”„
  • 인접 λ¦¬μŠ€νŠΈμ—μ„œλŠ” 정점 i와 정점 j 간에 간선이 μ‘΄μž¬ν•˜λŠ” 지λ₯Ό μ•Œμ•„λ³Ό λ•Œ λ¦¬μŠ€νŠΈμ—μ„œ μ°¨λ‘€λŒ€λ‘œ ν›‘μ–΄μ•Ό ν•˜λ―€λ‘œ 인접 ν–‰λ ¬ ν‘œν˜„λ³΄λ‹€ μ‹œκ°„μ΄ 많이 κ±Έλ¦Ό
  • κ°„μ„ μ˜ 밀도가 μ•„μ£Ό 높을 λ•ŒλŠ” 인접 ν–‰λ ¬ ν‘œν˜„λ²•μ„ ꢌμž₯함

 

 

인접 λ°°μ—΄

인접 λ°°μ—΄
  • 각 정점에 μ—°κ²°λœ 정점듀을 μ—°κ²°λ¦¬μŠ€νŠΈ λŒ€μ‹  λ°°μ—΄λ‘œ μ €μž₯ν•˜λ©΄
    • μ—°κ²°λ¦¬μŠ€νŠΈμ˜ 싱크λ₯Ό μœ„ν•œ 곡간 μ ˆμ•½
    • λ…Έλ“œλ“€μ΄ λ©”λͺ¨λ¦¬μ— ν©μ–΄μ Έμ„œ μ‘΄μž¬ν•˜λŠ” λΆˆμ•ˆκ°μœΌλ‘œλΆ€ν„° 벗어남
    • 두 μ •μ μ˜ 인접 μ—¬λΆ€ μ²΄ν¬ν•˜λŠ” μ‹œκ°„λ„ 쀄일 수 있음
  • κ·Έλž˜ν”„λŠ” λŒ€λΆ€λΆ„ μ•Œκ³ λ¦¬μ¦˜ μ‹œμž‘λΆ€μ—μ„œ μ£Όμ–΄μ§€κ±°λ‚˜ ν•œλ²ˆ λ§Œλ“€μ–΄μ§€λ©΄ λ³€ν•˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ 많음
  • = μ•Œκ³ λ¦¬μ¦˜ μž…μž₯μ—μ„œ 보면 정적. -> 배열을 μ‚¬μš©ν•˜λ©΄ 효율적
  • 각 μ •μ μ˜ 인접 배열을 μœ„ν•΄ 곡간을 λ”°λ‘œ ν• λ‹Ή λ°›κ±°λ‚˜ / ν•˜λ‚˜μ˜ 배열을 ν• λ‹Ήλ°›μ•„μ„œ μ²˜λ¦¬ν•  μˆ˜λ„ 있음

 

 

인접 ν•΄μ‹œ ν…Œμ΄λΈ”

인접 ν•΄μ‹œ ν…Œμ΄λΈ”
  • 닀루어야 ν•  κ·Έλž˜ν”„κ°€ μ—„μ²­λ‚œ 크기이면 λΉ„κ΅μ˜ νšŸμˆ˜κ°€ 맀우 컀짐
  • 인접 λ°°μ—΄ 각각을 ν•΄μ‹œ ν…Œμ΄λΈ”λ‘œ λŒ€μ²΄ν•˜λ©΄ (적재율이 0.5일 λ•Œ) 평균 2번의 λΉ„κ΅λ‘œ κ°€λŠ₯함
  • 곡간 할당을 받을 λ•Œ μ •μ λ³„λ‘œ λ”°λ‘œ 할당받을 수 있고, ν•˜λ‚˜μ˜ 배열에 인접 λ°°μ—΄ 전체 크기λ₯Ό ν• λ‹Ήλ°˜μ•„μ„œ λ‚˜λˆ„μ–΄ μ“Έ μˆ˜λ„ 있음
  • ν•΄μ‹œ ν…Œμ΄λΈ”μ„ μ‚¬μš©ν•˜λ©΄ μž„μ˜μ˜ 정점에 μΈμ ‘ν•œ λͺ¨λ“  λ‹€λ₯Έ 덩점에 순차적으둜 μ ‘κ·Όν•΄μ•Όν•˜λŠ” κ²½μš°μ— λ‹€μ†Œ λΆˆνŽΈν•  수 있음

 

 

 

 

 

참고자료 : γ€Œμ‰½κ²Œ λ°°μš°λŠ” 자료ꡬ쑰 with μžλ°”γ€