πŸ’ 자료ꡬ쑰

경이·2023λ…„ 5μ›” 14일
0

❀ 자료ꡬ쑰

  • 데이터λ₯Ό ν‘œν˜„, 관리, μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ ꡬ쑰

🧑 μŠ€νƒ(FILO)

  • λ°μ΄ν„°μ˜ μ‚½μž…κ³Ό μ‚­μ œκ°€ λ°μ΄ν„°μ˜ ν•œμͺ½ λμ—μ„œλ§Œ μΌμ–΄λ‚˜λŠ” 자료ꡬ쑰λ₯Ό 의미
  • μ„ μž…ν›„μΆœκ΅¬μ‘°(FILO) / ν›„μž…μ„ μΆœκ΅¬μ‘°(LIFO)
  • append()와 pop()λ©”μ„œλ“œλ₯Ό μ΄μš©ν—€ μŠ€νƒ 자료ꡬ쑰 κ΅¬ν˜„ κ°€λŠ₯ν•˜λ‹€.

πŸ’› 큐(FIFO)

  • λ°μ΄ν„°μ˜ μ–‘λ°©ν–₯μ—μ„œ μ‚½μž…κ³Ό μ‚­μ œκ°€ μΌμ–΄λ‚˜λŠ” 자료ꡬ쑰λ₯Ό 의미
  • μ„ μž…μ„ μΆœκ΅¬μ‘°(FIFO)
  • collections λͺ¨λ“ˆμ˜ deque 자료ꡬ쑰 μ‚¬μš©ν•΄ κ΅¬ν˜„ κ°€λŠ₯ν•˜λ‹€.

πŸ’š κ·Έλž˜ν”„(Graph)

  • λ…Έλ“œ(Node)와 κ·Έ λ…Έλ“œλ₯Ό μ—°κ²°ν•˜λŠ” κ°„μ„ (Edge)으둜 ν‘œν˜„λ˜λŠ” 자료ꡬ쑰
  • μ—°κ²°λ˜μ–΄ μžˆλŠ” κ°μ²΄κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•  수 μžˆλ‹€.
  • 인접 ν–‰λ ¬(Adjacency Matrix) : 2차원 λ°°μ—΄λ‘œ κ·Έλž˜ν”„μ˜ μ—°κ²° 관계λ₯Ό ν‘œν˜„ν•˜λŠ” 방식
    inf = 99999999 
    
    graph = [
      [0, 7, 5],
      [7, 0, inf],
      [5, inf, 0]]
    
    print(graph)
  • 인접 리슀트(Adjacency List) : 리슀트둜 κ·Έλž˜ν”„μ˜ μ—°κ²° 관계λ₯Ό ν‘œν˜„ν•˜λŠ” 방식
    graph = [[] for _ in range(3)]
    print(graph)
    
    graph[0].append((1, 7))
    graph[0].append((2, 5))
    graph[1].append((0, 7))
    graph[2].append((0, 5))
    
    print(graph)

πŸ’™ 트리(Tree)

  • λ…Έλ“œμ™€ λ…Έλ“œμ˜ μ—°κ²°λœ 자료ꡬ쑰
  • νŠΈλ¦¬λŠ” λΆ€λͺ¨ λ…Έλ“œμ™€ μžμ‹ λ…Έλ“œμ˜ κ΄€κ³„λ‘œ ν‘œκΈ°λœλ‹€.
  • 트리의 μ΅œμƒλ‹¨ λ…Έλ“œλ₯Ό 루트 λ…Έλ“œ, μ΅œν•˜λ‹¨ λ…Έλ“œλ₯Ό 단말 λ…Έλ“œλΌκ³  ν•œλ‹€.
  • νŠΈλ¦¬μ—μ„œ 일뢀λ₯Ό 떼어내도 트리 ꡬ쑰이며 이λ₯Ό μ„œλΈŒ 트리라고 ν•œλ‹€.
  • νŠΈλ¦¬λŠ” 파일 μ‹œμŠ€ν…œκ³Ό 같이 계측적이고 μ •λ ¬λœ 데이터λ₯Ό 닀루기에 μ ν•©ν•˜λ‹€
  • λ…Έλ“œκ°€ Nκ°œμΌλ•Œ κ°„μ„ μ˜ κ°œμˆ˜λŠ” 항상 N-1개

πŸ’œ 이진 탐색 트리(Complete Binary Tree)

  • 이진 탐색이 λ™μž‘ν•  수 μžˆλ„λ‘ 효율적인 탐색이 κ°€λŠ₯ν•œ 자료ꡬ쑰
  • λΆ€λͺ¨ λ…Έλ“œλ³΄λ‹€ μ™Όμͺ½ μžμ‹ λ…Έλ“œκ°€ μž‘κ³ , λΆ€λͺ¨ λ…Έλ“œλ³΄λ‹€ 였λ₯Έμͺ½ μžμ‹ λ…Έλ“œκ°€ 크닀.

🀎 νž™(heap)

  • μ™„μ „ 이진 트리의 μΌμ’…μœΌλ‘œ heapq λͺ¨λ“ˆμ„ μ΄μš©ν•˜μ—¬ κ΅¬ν˜„ κ°€λŠ₯ν•˜λ‹€.
  • μžμ‹ λ…Έλ“œλ³΄λ‹€ λΆ€λͺ¨ λ…Έλ“œμ˜ 값이 μž‘μ€ μ΅œμ†Œ νž™(Min Heap)κ³Ό μžμ‹ λ…Έλ“œλ³΄λ‹€ λΆ€λͺ¨ λ…Έλ“œμ˜ 값이 큰 μ΅œλŒ€ νž™(Max Heap)으둜 κ΅¬λΆ„λœλ‹€.
  • μ΅œμ†Œκ°’μ΄λ‚˜ μ΅œλŒ“κ°’μ„ μ°ΎκΈ°μœ„ν•΄ μ‚¬μš©ν•  수 μžˆλ‹€.
profile
μ΄μ‚¬μ€‘μž…λ‹ˆλ‹€!🌟https://velog.io/@devkyoung2

0개의 λŒ“κΈ€