πŸ—£οΈ μ‹ μž… 인터뷰/μ•Œκ³ λ¦¬μ¦˜

μ‹ μž… 개발자 κΈ°μˆ λ©΄μ ‘ : κ·Έλž˜ν”„ μ•Œκ³ λ¦¬μ¦˜

μ«€λƒ  2024. 1. 3. 10:10

A* (A-Star) μ•Œκ³ λ¦¬μ¦˜

  1. νœ΄λ¦¬μŠ€ν‹± 기반 탐색: A* μ•Œκ³ λ¦¬μ¦˜μ˜ 핡심은 νœ΄λ¦¬μŠ€ν‹± ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 각 λ…Έλ“œμ—μ„œ λͺ©ν‘œκΉŒμ§€μ˜ μ˜ˆμƒ λΉ„μš©μ„ μΆ”μ •ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 νœ΄λ¦¬μŠ€ν‹±μ€ ν˜„μž¬ λ…Έλ“œμ—μ„œ λͺ©ν‘œ λ…Έλ“œκΉŒμ§€μ˜ μ΅œμ†Œ μ˜ˆμƒ λΉ„μš©μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
  2. 졜적 경둜 탐색: A* μ•Œκ³ λ¦¬μ¦˜μ€ μ‹œμž‘ λ…Έλ“œλ‘œλΆ€ν„° λͺ©ν‘œ λ…Έλ“œκΉŒμ§€μ˜ 졜적 경둜λ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€. 이 μ•Œκ³ λ¦¬μ¦˜μ€ νœ΄λ¦¬μŠ€ν‹±μ„ μ‚¬μš©ν•˜μ—¬ 탐색 κ³Όμ •μ—μ„œ λΉ„νš¨μœ¨μ μΈ 경둜λ₯Ό μ œκ±°ν•¨μœΌλ‘œμ¨, 보닀 효율적으둜 λͺ©ν‘œμ— 도달할 수 μžˆλŠ” 경둜λ₯Ό μ°Ύμ•„λƒ…λ‹ˆλ‹€.
  3. 동적인 λΉ„μš© 평가: A*λŠ” 각 λ…Έλ“œμ— λŒ€ν•΄ 두 가지 λΉ„μš©μ„ κ³„μ‚°ν•©λ‹ˆλ‹€: ν•˜λ‚˜λŠ” μ‹œμž‘ λ…Έλ“œλ‘œλΆ€ν„° ν•΄λ‹Ή λ…Έλ“œκΉŒμ§€μ˜ μ‹€μ œ λΉ„μš©(G-Cost), λ‹€λ₯Έ ν•˜λ‚˜λŠ” νœ΄λ¦¬μŠ€ν‹±μ„ 톡해 μΆ”μ •λœ ν•΄λ‹Ή λ…Έλ“œλ‘œλΆ€ν„° λͺ©ν‘œ λ…Έλ“œκΉŒμ§€μ˜ λΉ„μš©(H-Cost). 이 두 λΉ„μš©μ˜ ν•©(F-Cost)을 기반으둜 졜적의 경둜λ₯Ό λ™μ μœΌλ‘œ κ²°μ •ν•©λ‹ˆλ‹€.
  4. 효율적인 탐색: λ‹€λ₯Έ 경둜 탐색 μ•Œκ³ λ¦¬μ¦˜μ— λΉ„ν•΄ A*λŠ” 탐색 κ³Όμ •μ—μ„œ λΆˆν•„μš”ν•œ 경둜λ₯Ό 효과적으둜 λ°°μ œν•©λ‹ˆλ‹€. μ΄λŠ” 특히 λ³΅μž‘ν•œ κ·Έλž˜ν”„λ‚˜ λŒ€κ·œλͺ¨ κ·Έλž˜ν”„μ—μ„œ 탐색 μ‹œκ°„μ„ 크게 μ€„μ—¬μ€λ‹ˆλ‹€.
  5. μ‘μš© λΆ„μ•Όμ˜ λ‹€μ–‘μ„±: A* μ•Œκ³ λ¦¬μ¦˜μ€ κ²Œμž„ λ‚΄ NPC의 경둜 탐색, λ‘œλ΄‡ 경둜 κ³„νš, μ§€λ„μ—μ„œμ˜ 경둜 μ°ΎκΈ° λ“± λ‹€μ–‘ν•œ 뢄야에 μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ•Œκ³ λ¦¬μ¦˜μ˜ λ²”μš©μ„±κ³Ό μ μš©μ„±μ΄ λ›°μ–΄λ‚˜λ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.
  6. νœ΄λ¦¬μŠ€ν‹± ν•¨μˆ˜μ˜ μ€‘μš”μ„±: A*의 μ„±λŠ₯은 νœ΄λ¦¬μŠ€ν‹± ν•¨μˆ˜μ˜ 선택에 크게 μ˜μ‘΄ν•©λ‹ˆλ‹€. μ μ ˆν•œ νœ΄λ¦¬μŠ€ν‹± ν•¨μˆ˜λ₯Ό μ„ νƒν•˜λ©΄ 경둜 탐색을 맀우 효율적으둜 μˆ˜ν–‰ν•  수 μžˆμ§€λ§Œ, λΆ€μ μ ˆν•œ νœ΄λ¦¬μŠ€ν‹± ν•¨μˆ˜λŠ” λΉ„νš¨μœ¨μ μΈ 경둜 νƒμƒ‰μœΌλ‘œ μ΄μ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄λ ‡κ²Œ A* μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ μ„€λͺ…ν•  λ•Œ, κ·Έ νš¨μœ¨μ„±, μ΅œμ ν™” λŠ₯λ ₯, νœ΄λ¦¬μŠ€ν‹± 기반의 동적인 경둜 κ²°μ • 방법을 κ°•μ‘°ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. μ΄λŠ” λ©΄μ ‘κ΄€μ—κ²Œ μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•œ κΉŠμ€ 이해λ₯Ό λ³΄μ—¬μ£ΌλŠ” λ™μ‹œμ—, κ·Έ μ•Œκ³ λ¦¬μ¦˜μ˜ μž₯점을 효과적으둜 전달할 수 μžˆμŠ΅λ‹ˆλ‹€.


BFS (Breadth-First Search), λ‹€μ΅μŠ€νŠΈλΌ μ•Œκ³ λ¦¬μ¦˜, 그리고 A* (A-Star) μ•Œκ³ λ¦¬μ¦˜μ€ λͺ¨λ‘ κ·Έλž˜ν”„μ—μ„œ 경둜λ₯Ό μ°ΎλŠ” 데 μ‚¬μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€. 이듀은 μ„œλ‘œ λ‹€λ₯Έ νŠΉμ„±κ³Ό μ‚¬μš© 사둀λ₯Ό 가지고 있으며, 특히 κ²Œμž„ AIμ—μ„œμ˜ λͺ¬μŠ€ν„° 이동 둜직과 같은 μƒν™©μ—μ„œ 각각의 μž₯단점이 μ€‘μš”ν•˜κ²Œ μž‘μš©ν•©λ‹ˆλ‹€.

BFS (Breadth-First Search)

  1. νŠΉμ§•: BFSλŠ” κ·Έλž˜ν”„μ—μ„œ λͺ¨λ“  λ…Έλ“œλ₯Ό λ„ˆλΉ„ μš°μ„ μœΌλ‘œ νƒμƒ‰ν•©λ‹ˆλ‹€. 이 μ•Œκ³ λ¦¬μ¦˜μ€ μ‹œμž‘ λ…Έλ“œμ—μ„œ κ°€μž₯ κ°€κΉŒμš΄ λ…Έλ“œλΆ€ν„° μ°¨λ‘€λŒ€λ‘œ νƒμƒ‰ν•©λ‹ˆλ‹€.
  2. μ‚¬μš© 사둀: BFSλŠ” 주둜 무방ν–₯ κ·Έλž˜ν”„μ—μ„œ 두 λ…Έλ“œ κ°„μ˜ μ΅œλ‹¨ 경둜 λ˜λŠ” μ—°κ²°λœ ꡬ성 μš”μ†Œλ₯Ό μ°ΎλŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. 이 μ•Œκ³ λ¦¬μ¦˜μ€ κ°€μ€‘μΉ˜κ°€ μ—†λŠ” κ·Έλž˜ν”„μ—μ„œ νš¨κ³Όμ μž…λ‹ˆλ‹€.
  3. μž₯점: κ΅¬ν˜„μ΄ κ°„λ‹¨ν•˜λ©°, λͺ¨λ“  경둜λ₯Ό νƒμƒ‰ν•©λ‹ˆλ‹€.
  4. 단점: BFSλŠ” μ΅œλ‹¨ 경둜λ₯Ό μ°Ύμ§€λ§Œ, κ°€μ€‘μΉ˜κ°€ μžˆλŠ” κ·Έλž˜ν”„μ—μ„œλŠ” 졜적의 경둜λ₯Ό 보μž₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ‹€μ΅μŠ€νŠΈλΌ μ•Œκ³ λ¦¬μ¦˜ (Dijkstra's Algorithm)

  1. νŠΉμ§•: λ‹€μ΅μŠ€νŠΈλΌ μ•Œκ³ λ¦¬μ¦˜μ€ κ·Έλž˜ν”„μ˜ ν•œ λ…Έλ“œμ—μ„œ λ‹€λ₯Έ λ…Έλ“œκΉŒμ§€μ˜ μ΅œλ‹¨ 경둜λ₯Ό μ°ΎλŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŠ” 주둜 κ°€μ€‘μΉ˜κ°€ μžˆλŠ” κ·Έλž˜ν”„μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.
  2. μ‚¬μš© 사둀: κ°€μ€‘μΉ˜κ°€ μžˆλŠ” κ·Έλž˜ν”„μ—μ„œ ν•œ λ…Έλ“œμ—μ„œ λ‹€λ₯Έ λ…Έλ“œλ‘œμ˜ μ΅œλ‹¨ 경둜λ₯Ό μ°ΎλŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.
  3. μž₯점: κ°€μ€‘μΉ˜κ°€ μžˆλŠ” κ·Έλž˜ν”„μ—μ„œ νš¨κ³Όμ μž…λ‹ˆλ‹€.
  4. 단점: 음수 κ°€μ€‘μΉ˜κ°€ μžˆλŠ” κ·Έλž˜ν”„μ—μ„œλŠ” μ‚¬μš©ν•  수 μ—†μœΌλ©°, BFS보닀 κ΅¬ν˜„μ΄ λ³΅μž‘ν•©λ‹ˆλ‹€.

A* (A-Star) μ•Œκ³ λ¦¬μ¦˜

  1. νŠΉμ§•: A* μ•Œκ³ λ¦¬μ¦˜μ€ μ‹œμž‘ λ…Έλ“œμ—μ„œ λͺ©ν‘œ λ…Έλ“œκΉŒμ§€μ˜ μ΅œλ‹¨ 경둜λ₯Ό μ°ΎκΈ° μœ„ν•΄ 'νœ΄λ¦¬μŠ€ν‹±'을 μ‚¬μš©ν•©λ‹ˆλ‹€. 이 νœ΄λ¦¬μŠ€ν‹±μ€ λͺ©ν‘œμ— μ–Όλ§ˆλ‚˜ κ°€κΉŒμš΄μ§€λ₯Ό μΆ”μ •ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.
  2. μ‚¬μš© 사둀: λ§Žμ€ κ²Œμž„κ³Ό AI μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 경둜 찾기에 μ‚¬μš©λ©λ‹ˆλ‹€. 특히 λͺ©ν‘œκΉŒμ§€μ˜ 경둜λ₯Ό λΉ λ₯΄κ³  효율적으둜 μ°Ύμ•„μ•Ό ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€.
  3. μž₯점: νœ΄λ¦¬μŠ€ν‹±μ„ μ‚¬μš©ν•˜μ—¬ λΆˆν•„μš”ν•œ 경둜λ₯Ό λΉ λ₯΄κ²Œ λ°°μ œν•˜κ³ , λͺ©ν‘œμ— 더 빨리 도달할 수 μžˆλŠ” 경둜λ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€.
  4. 단점: νœ΄λ¦¬μŠ€ν‹± 선택이 μ€‘μš”ν•˜λ©°, λΆ€μ μ ˆν•œ νœ΄λ¦¬μŠ€ν‹±μ€ λΉ„νš¨μœ¨μ μΈ 경둜λ₯Ό μ΄ˆλž˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ²Œμž„ AIμ—μ„œ A*κ°€ 많이 μ‚¬μš©λ˜λŠ” 이유

κ²Œμž„ AIμ—μ„œ λͺ¬μŠ€ν„° 이동과 같은 경둜 찾기에 A* μ•Œκ³ λ¦¬μ¦˜μ΄ 자주 μ‚¬μš©λ˜λŠ” 주된 μ΄μœ λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  1. νš¨μœ¨μ„±: A*λŠ” νœ΄λ¦¬μŠ€ν‹±μ„ μ‚¬μš©ν•˜μ—¬ κ°€μž₯ κ°€λŠ₯성이 높은 경둜λ₯Ό μš°μ„ μ μœΌλ‘œ νƒμƒ‰ν•©λ‹ˆλ‹€. μ΄λŠ” κ²Œμž„ ν™˜κ²½μ—μ„œ μ‹€μ‹œκ°„μœΌλ‘œ 효율적인 경둜 탐색을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.
  2. μœ μ—°μ„±: A*λŠ” λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ κ·Έλž˜ν”„μ™€ λ‹€μ–‘ν•œ ν™˜κ²½μ— μ μš©ν•  수 있으며, νœ΄λ¦¬μŠ€ν‹± ν•¨μˆ˜λ₯Ό λ³€κ²½ν•¨μœΌλ‘œμ¨ λ‹€μ–‘ν•œ μ‹œλ‚˜λ¦¬μ˜€μ— 맞좜 수 μžˆμŠ΅λ‹ˆλ‹€.
  3. μ΅œμ ν™” κ°€λŠ₯: A*λŠ” λͺ©μ μ§€μ— λŒ€ν•œ 거리뿐만 μ•„λ‹ˆλΌ μ‹œμž‘μ μœΌλ‘œλΆ€ν„°μ˜ 거리도 κ³ λ €ν•©λ‹ˆλ‹€. μ΄λŠ” μ΅œμ ν™”λœ 경둜λ₯Ό μ°ΎλŠ” 데 도움을 μ€λ‹ˆλ‹€.
  4. μ‹€μ œ ν™˜κ²½κ³Όμ˜ μœ μ‚¬μ„±: A*λŠ” μ‹€μ œ μ„Έκ³„μ—μ„œμ˜ 경둜 찾기와 μœ μ‚¬ν•œ λ°©μ‹μœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€. μ΄λŠ” κ²Œμž„ λ‚΄ λͺ¬μŠ€ν„°μ˜ 이동이 μ‹€μ œμ™€ 같은 λŠλ‚Œμ„ μ£ΌλŠ” 데 도움이 λ©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 이유둜 A* μ•Œκ³ λ¦¬μ¦˜μ€ κ²Œμž„ AIμ—μ„œ λͺ¬μŠ€ν„°μ˜ 이동 경둜λ₯Ό κ²°μ •ν•˜λŠ” 데 널리 μ‚¬μš©λ˜λ©°, 효율적이고 ν˜„μ‹€μ μΈ 이동 νŒ¨ν„΄μ„ μƒμ„±ν•˜λŠ” 데 맀우 μœ μš©ν•©λ‹ˆλ‹€.


BFS (Breadth-First Search)와 DFS (Depth-First Search)λŠ” κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜μ˜ 두 가지 기본적인 ν˜•νƒœμž…λ‹ˆλ‹€. 이듀은 κ·Έλž˜ν”„μ˜ λͺ¨λ“  λ…Έλ“œλ₯Ό νƒμƒ‰ν•˜λŠ” 방법이 λ‹€λ₯΄λ©°, 각각의 νŠΉμ§•κ³Ό μ‚¬μš© 사둀가 μžˆμŠ΅λ‹ˆλ‹€.

BFS (Breadth-First Search)

  • 방법: BFSλŠ” λ„ˆλΉ„ μš°μ„  탐색 방식을 μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄λŠ” μ‹œμž‘ λ…Έλ“œμ—μ„œ μΈμ ‘ν•œ λ…Έλ“œλ₯Ό λ¨Όμ € νƒμƒ‰ν•˜κ³ , κ·Έ λ‹€μŒ 레벨의 λ…Έλ“œλ‘œ μ΄λ™ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ§„ν–‰λ©λ‹ˆλ‹€.
  • 자료 ꡬ쑰: 일반적으둜 큐(Queue)λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„λ©λ‹ˆλ‹€. ν˜„μž¬ λ…Έλ“œμ˜ 인접 λ…Έλ“œλ₯Ό 큐에 μΆ”κ°€ν•˜κ³ , νμ—μ„œ λ…Έλ“œλ₯Ό ν•˜λ‚˜μ”© κΊΌλ‚΄λ©΄μ„œ νƒμƒ‰ν•©λ‹ˆλ‹€.
  • νŠΉμ§•: BFSλŠ” μ‹œμž‘ λ…Έλ“œλ‘œλΆ€ν„°μ˜ 거리가 λ™μΌν•œ λ…Έλ“œλ“€μ„ μ°¨λ‘€λŒ€λ‘œ νƒμƒ‰ν•©λ‹ˆλ‹€. λ”°λΌμ„œ κ°€μ€‘μΉ˜κ°€ μ—†λŠ” κ·Έλž˜ν”„μ—μ„œ μ‹œμž‘ λ…Έλ“œλ‘œλΆ€ν„° λ‹€λ₯Έ λ…Έλ“œκΉŒμ§€μ˜ μ΅œλ‹¨ 경둜λ₯Ό 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μš©λ„: μ΅œλ‹¨ 경둜 μ°ΎκΈ°, λ ˆλ²¨λ³„ 탐색, κ·Έλž˜ν”„μ˜ μ—°κ²°μ„± 검사 등에 μ‚¬μš©λ©λ‹ˆλ‹€.

DFS (Depth-First Search)

  • 방법: DFSλŠ” 깊이 μš°μ„  탐색 방식을 μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄λŠ” μ‹œμž‘ λ…Έλ“œμ—μ„œ κ°€λŠ₯ν•œ ν•œ 깊이 νƒμƒ‰ν•˜λ©°, 더 이상 탐색할 λ…Έλ“œκ°€ 없을 λ•Œ 이전 λ…Έλ“œλ‘œ λŒμ•„κ°€ λ‹€λ₯Έ 경둜λ₯Ό νƒμƒ‰ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ§„ν–‰λ©λ‹ˆλ‹€.
  • 자료 ꡬ쑰: 일반적으둜 μŠ€νƒ(Stack) λ˜λŠ” μž¬κ·€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„λ©λ‹ˆλ‹€. ν˜„μž¬ λ…Έλ“œμ—μ„œ 이동할 수 μžˆλŠ” λ…Έλ“œ 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•˜μ—¬ 탐색을 κ³„μ†ν•©λ‹ˆλ‹€.
  • νŠΉμ§•: DFSλŠ” λͺ¨λ“  κ°€λŠ₯ν•œ 경둜λ₯Ό 탐색할 λ•ŒκΉŒμ§€ 깊이 λ“€μ–΄κ°€ νƒμƒ‰ν•©λ‹ˆλ‹€. λ”°λΌμ„œ 탐색 μ™„λ£ŒκΉŒμ§€ κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ BFS보닀 κΈΈ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μš©λ„: λͺ¨λ“  경둜 탐색, λ°±νŠΈλž˜ν‚Ή 문제, λ³΅μž‘ν•œ ꡬ쑰의 탐색(예: 미둜 μ°ΎκΈ°) 등에 μ‚¬μš©λ©λ‹ˆλ‹€.

차이점

  • 탐색 μˆœμ„œ: BFSλŠ” λ„ˆλΉ„ μš°μ„ μœΌλ‘œ, DFSλŠ” 깊이 μš°μ„ μœΌλ‘œ νƒμƒ‰ν•©λ‹ˆλ‹€.
  • 자료 ꡬ쑰: BFSλŠ” 큐λ₯Ό μ‚¬μš©ν•˜λŠ” 반면, DFSλŠ” μŠ€νƒμ΄λ‚˜ μž¬κ·€λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
  • 탐색 κ²°κ³Ό: BFSλŠ” μ΅œλ‹¨ 경둜 λ¬Έμ œμ— μ ν•©ν•˜λ©°, DFSλŠ” λͺ¨λ“  경둜λ₯Ό 탐색해야 ν•˜λŠ” κ²½μš°μ— μ ν•©ν•©λ‹ˆλ‹€.
  • 퍼포먼슀: BFSλŠ” λ ˆλ²¨λ³„λ‘œ νƒμƒ‰ν•˜κΈ° λ•Œλ¬Έμ— λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ΄ 클 수 있고, DFSλŠ” 경둜λ₯Ό λκΉŒμ§€ νƒμƒ‰ν•˜κΈ° λ•Œλ¬Έμ— μŠ€νƒμ˜ κΉŠμ΄κ°€ κΉŠμ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

두 μ•Œκ³ λ¦¬μ¦˜μ˜ 선택은 문제의 μš”κ΅¬ 사항과 κ·Έλž˜ν”„μ˜ νŠΉμ„±μ— 따라 λ‹¬λΌμ§‘λ‹ˆλ‹€. BFSλŠ” μ΅œλ‹¨ 경둜λ₯Ό μ°Ύκ±°λ‚˜, λ ˆλ²¨λ³„ 탐색이 ν•„μš”ν•  λ•Œ μœ μš©ν•˜κ³ , DFSλŠ” κ°€λŠ₯ν•œ λͺ¨λ“  경둜λ₯Ό νƒμƒ‰ν•˜κ±°λ‚˜, 미둜 찾기와 같은 λ¬Έμ œμ— 더 μ ν•©ν•©λ‹ˆλ‹€.


 


μ°Έκ³ 

 

https://velog.io/@strurao/searchgraph

 

[C++] κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜ πŸ—ΊοΈ

DFS, BFS, λ‹€μ΅μŠ€νŠΈλΌ, A* μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ μ‚΄νŽ΄λ΄…λ‹ˆλ‹€ πŸ—ΊοΈ

velog.io

https://blog.naver.com/PostView.naver?blogId=oyh951416&logNo=222045386773&parentCategoryNo=&categoryNo=8&viewDate=&isShowPopularPosts=false&from=search

 

[C++] λ‹€μ΅μŠ€νŠΈλΌ μ•Œκ³ λ¦¬μ¦˜, A* μ•Œκ³ λ¦¬μ¦˜

Dijkstra algorithm λ‹€μ΅μŠ€νŠΈλΌ μ•Œκ³ λ¦¬μ¦˜μ€ 'μ—μΈ ν—ˆλ₯΄ λ‹€μ΅μŠ€νŠΈλΌ(1930~2002)'κ°€ κ°œλ°œν•œ μ•Œκ³ λ¦¬...

blog.naver.com