[컴퓨터과학 개둠] 3κ°• - 자료ꡬ쑰(1)

2025. 9. 17. 15:57Β·πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠

βœ… 1. κΈ°λ³Έ κ°œλ…

(1) 자료ꡬ쑰의 κ°œλ…

[ 좔상화 ]

  • 곡톡적인 κ°œλ…μ„ μ΄μš©ν•˜μ—¬ 같은 μ’…λ₯˜μ˜ λ‹€μ–‘ν•œ 객체λ₯Ό μ •μ˜ν•˜λŠ” 것을 μ˜λ―Έν•¨.
  • λ‹€μ–‘ν•œ 객체의 μ˜ˆμ‹œλŠ” λ²„μŠ€κ°€ 될 수 있고, λ²„μŠ€μ—λŠ” κ΄‘μ—­, 고속, μ‹œμ™Έ λ“± λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ λ²„μŠ€κ°€ μ‘΄μž¬ν•˜μ§€λ§Œ 곡톡적인 κ°œλ…μ„ λ½‘μ•„μ„œ 이미지화λ₯Ό 톡해 좔상화λ₯Ό μ‹œν‚¬ 수 있음. 즉, "λ²„μŠ€ νƒ€λŸ¬ κ°€μž" λ§ŒμœΌλ‘œλ„ 이해가 μΆ©λΆ„ν•  수 있음.
  • 예λ₯Ό λ“€λ©΄ μˆ˜μ‹, ν”„λ‘œκ·Έλž¨ μ–Έμ–΄ 등이 있음

[ 자료(데이터) 좔상화 ]

  • λ‹€μ–‘ν•œ 객체λ₯Ό μ»΄ν“¨ν„°μ—μ„œ ν‘œν˜„ν•˜κ³  ν™œμš©ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ λ°μ΄ν„°μ˜ ꡬ쑰에 λŒ€ν•΄μ„œ κ³΅ν†΅μ˜ νŠΉμ§•λ§Œ 뽑아 μ •μ˜ ν•œ 것을 μ˜λ―Έν•¨.
  • μžλ£Œκ΅¬μ‘°λŠ” μ’…λ₯˜κ°€ λ‹€μ–‘ν•˜λ‹€. 즉, λ°°μ—΄λ§Œ 봐도 μ—¬λŸ¬ 배열이 쑴재 ν•  수 있기 λ•Œλ¬Έμ— λ°°μ—΄ 자체의 곡톡적인 νŠΉμ§•μ„ λ½‘μ•„μ„œ 자료 λ₯Ό 좔상화 ν•  수 있음. μ΄μœ λŠ” μ˜μ‚¬μ†Œν†΅μ„ ν•˜κΈ° μœ„ν•΄μ„œ κ³΅ν†΅μœΌλ‘œ μ΄ν•΄μ‹œν‚€κΈ° μœ„ν•΄ 좔상화λ₯Ό ν•˜λŠ” κ²ƒμž„.
  • 즉, 자료 μ‚¬μ΄μ˜ λ…Όλ¦¬μ  κ΄€κ³„λ₯Ό μ»΄ν“¨ν„°λ‚˜ ν”„λ‘œκ·Έλž¨μ— μ μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” μžλ£Œμ˜ μΆ”상화가 ν•„μš”ν•¨
  • 자료ꡬ쑰: μΆ”상화λ₯Ό ν†΅ν•΄ μžλ£Œμ˜ λ…Όλ¦¬μ  κ΄€κ³„λ₯Ό κ΅¬μ‘°ν™”ν•œ κ²ƒμ„ μ˜λ―Έν•¨.

(2) 자료ꡬ쑰의 μ’…λ₯˜μ™€ 관계

[ 미리 μ •μ˜ 된 자료ꡬ쑰 ]

  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ 미리 λ§Œλ“€μ–΄μ„œ μ œκ³΅μ„ ν•΄μ€Œ
  • ν”„λ‘œκ·Έλž˜λ° μ„€κ³„λ‚˜ 컴파일러 κ΅¬ν˜„ λ‹¨κ³„μ—μ„œ μ •μ˜λ˜μ–΄ κ°œλ°œμžμ—κ²Œ μ œκ³΅λ˜λŠ” 자료ꡬ쑰λ₯Ό μ˜λ―Έν•¨.

[ μ‚¬μš©μž μ •μ˜ 자료ꡬ쑰 ]

  • κ°œλ°œμžκ°€ μ •μ˜ν•˜μ—¬ μ‚¬μš©ν•¨
  • μ†Œν”„νŠΈμ›¨μ–΄ 개발 쀑에 κ°œλ°œμžμ— μ˜ν•΄ λ§Œλ“€μ–΄μ§€λŠ” 자료ꡬ쑰λ₯Ό 의미(리슀트, μŠ€νƒ, 큐, 트리, κ·Έλž˜ν”„ λ“±)

βœ… 2. λ°°μ—΄

  • 배열은 λ³€μˆ˜ ν•˜λ‚˜μ™€ 인덱슀(첨자) 둜 이루어진 자료ꡬ쑰둜 λ³Ό 수 μžˆλ‹€.
  • λ™μΌν•œ μžλ£Œν˜•μ„ κ°–λŠ” μ—¬λŸ¬ 개의 데이터λ₯Ό λ™μΌν•œ λ³€μˆ˜ μ΄λ¦„μ˜ 방에 일렬둜 μ €μž₯ν•˜λŠ” 자료 집합체이닀. ( μ›μ†Œ + 인덱슀 )
  • μ›μ†Œ: 자료 μ§‘μ°Ήν—€μ—μ„œ 각 μ›μ†Œμ˜ ν•­λͺ©κ°’을 μ˜λ―Έν•¨. 즉, 데이터
  • 인덱슀: 자료 μ§‘ν•©μ²΄μ—μ„œ 각 μ›μ†Œκ°€ μ €μž₯된 방을 μ ‘κ·Όν•˜κΈ° μœ„ν•œ λ°© λ²ˆν˜Έμ— ν•΄λ‹Ήν•˜λŠ” 번호둜 λ³Ό 수 있음.

  • μ™Όμͺ½ μ»΄ν“¨ν„°λŠ” λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό μ˜λ―Έν•˜λ©°, 일반적으둜 λ¬Όλ¦¬μ£Όμ†ŒλΌκ³  말함.
  • λ©”λͺ¨λ¦¬μ—λŠ” μ‹€μ œλ‘œ λ©”λͺ¨λ¦¬μ— μ£Όμ†Œκ°€ λ„˜λ²„λ§ λ˜μ–΄μž‡κ³  κ·Έκ±Έ κ°€μ§€κ³  데이터 접근을 ν•˜κ²Œ 됨.
  • 였λ₯Έμͺ½μ€ 논리 μ£Όμ†Œμ΄λ©°, μ΄λŸ¬ν•œ 논리 μ£Όμ†ŒλŠ” 물리 μ£Όμ†Œμ™€ 1:1둜 맀칭이 λ˜μ–΄ λ©”λͺ¨λ¦¬μ—μ„œλ„ λ°°μ—΄μ˜ 연속적인 νŠΉμ§•μ΄ λ™μΌν•˜κ²Œ 적용이 λ˜μ–΄, λ©”λͺ¨λ¦¬μ— μ—°μ†μ μœΌλ‘œ μ €μž₯이 λœλ‹€. 즉, μ›μ‹œμ μΈ μ΄μœ κ°€ 물리적인 μ£Όμ†Œμ™€ 1:1둜 맀칭이 되기 λ•Œλ¬Έμž„.

(1) 1차원 λ°°μ—΄

  • κ°€μž₯ κ°„λ‹¨ν•œ ν˜•νƒœμ˜ 배열이며, ν•œ 개의 인덱슀λ₯Ό μ‚¬μš©ν•΄μ„œ μ›μ†Œμ— 직접 접근을 함.
  • λ°°μ—΄μ˜ μ›μ†Œλ“€μ€ 컴퓨터 λ©”λͺ¨λ¦¬μ˜ 연속적인 κΈ°μ–΅μž₯μ†Œμ— ν• λ‹Ήλ˜μ–΄ 순차적으둜 μ €μž₯이 λœλ‹€.

(2) 2차원 λ°°μ—΄

  • 두 개의 첨자λ₯Ό κ°€μ§€λŠ” 배열이며, λ™μΌν•œ 크기의 1차원 배열을 λͺ¨μ•„ 놓고, λ°”λ‘‘νŒ ν˜•νƒœλ‘œ λ§Œλ“  배열이닀.
  • ν•˜λ‚˜μ˜ μ›μ†ŒλŠ” 두 개의 첨자 i와 j의 쌍으둜 ꡬ뢄이 λœλ‹€. A[i][j]

[ μ—΄ μš°μ„  μˆœμ„œ μ €μž₯ ]

  • 첫 열에 μžˆλŠ” 각 ν–‰μ˜ μ›μ†Œλ₯Ό μ°¨λ‘€λŒ€λ‘œ 컴퓨터 λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜κ³  λ‹€μŒ μ—΄λ‘œ μ΄λ™ν•˜μ—¬ 각 행에 μžˆλŠ” μ›μ†Œλ₯Ό μ°¨λ‘€λŒ€λ‘œ 컴퓨터 λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜λŠ” 방법을 μ˜λ―Έν•œλ‹€.

[ ν–‰ μš°μ„  μˆœμ„œ μ €μž₯ ]

  • 첫 행에 μžˆλŠ” 각 μ—΄μ˜ μ›μ†Œλ₯Ό μ°¨λ‘€λŒ€λ‘œ 컴퓨터 λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜κ³  λ‹€μŒ ν–‰μœΌλ‘œ μ΄λ™ν•˜μ—¬ 각 열에 μžˆλŠ” μ›μ†ŒλΆ€ν„° μ°¨λ‘€λŒ€λ‘œ 컴퓨터 λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜λŠ” 방법을 μ˜λ―Έν•œλ‹€.

(3) 3차원 λ°°μ—΄

  • 3개의 μ²¨μžλ“€μ„ κ°€μ§€λŠ” 배열이닀.

(4) ν¬μ†Œ ν–‰λ ¬

  • μ›μ†Œ 값이 0 인 μ›μ†Œκ°€ κ·Έλ ‡μ§€ μ•Šμ€ μ›μ†Œλ³΄λ‹€ μƒλŒ€μ μœΌλ‘œ λ§Žμ€ 행렬을 μ˜λ―Έν•¨.

  • 사진과 같이 ν¬μ†Œ 행렬은 2차원 λ°°μ—΄λ‘œ ν‘œν˜„μ΄ κ°€λŠ₯ν•˜λ‹€. 즉, λ©”λͺ¨λ¦¬μ…€μ— 데이터λ₯Ό μ‚½μž…ν•˜λŠ” ꡬ쑰λ₯Ό λ§Œλ“€ 수 있음.
  • μ΄λ ‡κ²Œ μ €μž₯을 ν•˜κ²Œ 되면, λ¬Έμ œλŠ” 0κ³Ό 같이 의미 μ—†λŠ” 값이 λ©”λͺ¨λ¦¬ 곡간을 λ„ˆλ¬΄ 많이 μ°¨μ§€ν•˜κ²Œ 됨.

  • ν¬μ†Œ ν–‰λ ¬ 즉, 0이 과반수λ₯Ό λ„˜μ–΄κ°€λŠ” 경우 μœ„μ˜ λ°°μ—΄μ²˜λŸΌ μ €μž₯을 ν•˜κ²Œ 되면 λ©”λͺ¨λ¦¬ 효율이 올라 갈 수 있음.
  • 즉, λ©”λͺ¨λ¦¬ λ‚­λΉ„λ₯Ό 막을 수 있게 됨.
  • 자료ꡬ쑰λ₯Ό μ–΄λ–»κ²Œ λ§Œλ“œλŠλƒμ— λ”°λΌμ„œ λ©”λͺ¨λ¦¬λ₯Ό μ ˆμ•½ ν•  수 μžˆμŒμ„ λ‚˜νƒ€λ‚΄λŠ” ν•˜λ‚˜μ˜ μ‚¬λ‘€λ‘œ λ³Ό 수 있음.
  • 자료ꡬ쑰λ₯Ό 잘 μ΄μš©ν•˜λ©΄ ν”„λ‘œκ·Έλž˜λ° μ»΄ν“¨νŒ… λ¦¬μ†ŒμŠ€λ₯Ό 잘 ν™œμš© ν•  수 있게 됨. λ˜‘κ°™μ€ 데이터λ₯Ό 달리 ν‘œν˜„λ„ κ°€λŠ₯해짐.

βœ… 3. 리슀트

  • μˆœμ„œ 리슀트 라고도 ν•˜λ©°, 1개 μ΄μƒμ˜ μ›μ†Œλ“€μ΄ μˆœμ„œλ₯Ό κ°€μ§€κ³  ꡬ성이 λ˜μ–΄μžˆμŒ.
  • λ‹¨μˆœνžˆ μˆœμ„œκ°€ μžˆλŠ” λ°μ΄ν„°μ˜ λ‚˜μ—΄μ΄λΌκ³  보면 λœλ‹€.
  • μ΄λŸ¬ν•œ 리슀트λ₯Ό μ–΄λ–€ λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•˜λŠλƒμ— 따라 방식이 λ‹¬λΌμ§€μ§€λ§Œ μˆœμ„œ λ¦¬μŠ€νŠΈλΌλŠ” 점은 λ³€ν•˜μ§€ μ•ŠμŒ.
  • 리슀트라고 λ³Ό 수 μžˆλŠ” μ΅œμ†Œ ν•„μˆ˜ 연산은 μ‚½μž…, μ‚­μ œ, μ ‘κ·Ό, 길이 확인 정도가 있음.

(1) μ„ ν˜• 리슀트의 κ΅¬ν˜„ (λ°°μ—΄)

  • μ„ ν˜• λ¦¬μŠ€νŠΈμ™€ 1차원 배열은 순차적인 ꡬ쑰λ₯Ό κ°€μ§€κ³  μžˆμœΌλ―€λ‘œ 1차원 λ°°μ—΄λ‘œ κ°„λ‹¨ν•˜κ²Œ ν‘œν˜„ν•  수 있음.

  • ν•˜μ§€λ§Œ, μ›μ†Œλ₯Ό μ‚½μž…ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ‚½μž…λ  μœ„μΉ˜ μ΄ν›„μ˜ μ›μ†Œλ“€μ˜ μˆœμ„œλ₯Ό κ·ΈλŒ€λ‘œ μœ μ§€ν•˜λ©΄μ„œ μ›μ†Œλ₯Ό μ‚½μž…ν•΄μ•Ό 함.
  • μ‚½μž…ν•  μœ„μΉ˜μ— μžˆλŠ” μ›μ†Œμ™€ κ·Έ λ‹€μŒμ˜ μ›μ†Œλ“€μ„ λͺ¨λ‘ ν•œ μΉΈ μ”© λ’€λ‘œ μ΄λ™μ‹œμΌœμ•Ό 함.
  • λ˜ν•œ, μ›μ†Œλ₯Ό μ‚­μ œν•˜λŠ” κ²½μš°μ—λ„ μ‚­μ œν•  μ›μ†Œλ₯Ό μ°Ύμ•„ μ‚­μ œν•œ ν›„, κ·Έ 뒀에 μžˆλŠ” λͺ¨λ“  μ›μ†Œλ“€μ„ ν•œ μΉΈ μ”© μ•žμœΌλ‘œ μ΄λ™μ‹œμΌœμ•Όν•¨.
  • μ‚½μž…κ³Ό μ‚­μ œκ°€ μΌμ–΄λ‚˜λ©΄ 배열을 ν™œμš© ν–ˆκΈ°μ— 물리적인 μˆœμ„œμ—λ„ 반영이 λ˜μ–΄μ•Ό 함.
  • ν•˜μ§€λ§Œ, λ°°μ—΄μ˜ 방식은 데이터 이동이 λ„ˆλ¬΄ μž¦μ•„μ Έ μ„±λŠ₯적으둜 λ–¨μ–΄μ§€κ²Œ 되며, λΉ„νš¨μœ¨μ μ΄κ²Œ 됨.

(2) μ„ ν˜• 리슀트의 κ΅¬ν˜„ (μ—°κ²° 리슀트)

  • λ°°μ—΄μ˜ 방식과 λ‹€λ₯΄κ²Œ 각 λ…Έλ“œλ§ˆλ‹€ 링크λ₯Ό λ„£μ–΄ 포인터 연결을 ν†΅ν•΄μ„œ μ‚½μž…κ³Ό μ‚­μ œμ˜ λŒ€ν•œ νš¨μœ¨μ„±μ„ κ°€μ§€κ²Œ 됨.
  • 각 λ…Έλ“œλŠ” 적어도 두 μ’…λ₯˜μ˜ ν•„λ“œ, μ›μ†Œ 값을 μ €μž₯ν•˜λŠ” 데이터 ν•„λ“œμ™€ λ…Έλ“œ 연결을 μœ„ν•œ 링크 ν•„λ“œλ₯Ό κ°€μ§„λ‹€.
  • μ„ ν˜• 리슀트의 논리적 μˆœμ„œλ§Œμ„ 지원함. 즉, 각 λ…Έλ“œ κ°„μ˜ 포인터 연결을 ν†΅ν•΄μ„œ κ΅¬ν˜„λœ 리슀트라고 보면 됨.

  • ν•œ λ…Έλ“œμ— 데이터와 링크λ₯Ό 같이 μ €μž₯ν•˜μ—¬ λ…Έλ“œμ˜ λ§ν¬λŠ” λ‹€μŒ λ…Έλ“œμ˜ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°€μ§€κ³  있음.

[ 단일 μ—°κ²° 리슀트 ]

  • νŠΉμ • λ…Έλ“œμ˜ 링크 ν•„λ“œλ₯Ό μ‚¬μš©ν•΄μ„œ ν›„ν–‰ λ…Έλ“œλ₯Ό 가리킴
  • νŠΉμ • λ…Έλ“œμ˜ ν›„ν–‰ λ…Έλ“œλŠ” μ‰½κ²Œ μ ‘κ·Όν•  수 μžˆμ§€λ§Œ, μ„ ν–‰ λ…Έλ“œμ— λŒ€ν•œ 접근은 ν—€λ“œ λ…Έλ“œλΆ€ν„° μƒˆλ‘œ μ‹œμž‘ν•΄μ•Ό ν•œλ‹€λŠ” λ‹¨μ μ΄μžˆμŒ.
  • μ‰½κ²Œλ§ν•΄, ν•œ λ°©ν–₯으둜 링크가 λ˜μ–΄μžˆλ‹€κ³  보면 됨.

[ 이쀑 μ—°κ²° 리슀트 ]

  • 단일 μ—°κ²° 리슀트의 단점을 λ³΄μ™„ν•˜κ³ μž λ‚˜μ˜¨λ“―
  • νŠΉμ • λ…Έλ“œμ˜ 첫번째 λ§ν¬λŠ” ν›„ν–‰ λ…Έλ“œλ₯Ό 가리킀고 λ‘λ²ˆμ§Έ λ§ν¬λŠ” μ„ ν–‰ λ…Έλ“œλ₯Ό 가리킴
  • νŠΉμ • λ…Έλ“œμ—μ„œ ν›„ν–‰ λ…Έλ“œ 뿐만 μ•„λ‹ˆλΌ μ„ ν–‰ λ…Έλ“œμ— λŒ€ν•œ 접근을 μ‰½κ²Œ μ œκ³΅ν•˜κΈ° μœ„ν•œ κ²ƒμž„.
  • μ‰½κ²Œλ§ν•΄, μ–‘ λ°©ν–₯으둜 링크가 λ˜μ–΄μžˆλ‹€κ³  보면 됨.

(3) 정리

  • μ •λ¦¬ν•˜λ©΄, λ°°μ—΄ 방식은 μ‚½μž…κ³Ό μ‚­μ œμ— 데이터 이동이 ν•„μˆ˜κ³  μ—°κ²° 리슀트 방식은 μ‚½μž…κ³Ό μ‚­μ œμ— 데이터 이동이 ν•„μš”μ—†μŒ.
  • 즉, μ–΄λ–€ κ²½μš°μ— μ–΄λ–€ 자료ꡬ쑰λ₯Ό μ“Έ 것인가에 λŒ€ν•œ 결정을 μœ„ν•œ λ‚΄μš©μ΄λΌ 보면 됨.

βœ… 4. μŠ€νƒκ³Ό 큐

(1) μŠ€νƒ

  • λ°μ΄ν„°μ˜ μ‚½μž…κ³Ό μ‚­μ œκ°€ ν•œμͺ½ λμ—μ„œλ§Œ μ΄λ£¨μ–΄μ§€λŠ” μžλ£Œκ΅¬μ‘°μ΄λ‹€.
  • κ°€μž₯ λ¨Όμ € μž…λ ₯된 데이터가 κ°€μž₯ λ‚˜μ€‘μ— μ œκ±°λ˜λŠ” μ„ μž…ν›„μΆœ(FILO, First In Last Out) νŠΉμ§•μ„ κ°€μ§€κ³  있음.

[ μŠ€νƒ μ˜€λ²„ν”Œλ‘œ ]

  • μ‚½μž… 연산을 μˆ˜ν–‰ν•  λ•Œ λ°œμƒν•˜λ©°, μŠ€νƒμ„ μœ„ν•΄ ν• λ‹Ήλœ μ €μž₯ 곡간을 μ΄ˆκ³Όν•΄μ„œ 더 이상 데이터λ₯Ό μ‚½μž…ν•  수 μ—†λŠ” ν˜„μƒμž„

[ μŠ€νƒ μ–Έλ”ν”Œλ‘œ ]

  • μ‚­μ œ 연산을 μˆ˜ν–‰ν•  λ•Œ λ°œμƒν•˜λ©°, μŠ€νƒμ— 데이터가 μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©΄ μ‚­μ œκ°€ μΌμ–΄λ‚˜μ§€ μ•ŠλŠ” ν˜„μƒ

[ μŠ€νƒμ˜ λ™μž‘ κ³Όμ • ]

(2) 큐

  • μ„ ν˜• 리슀트의 ν•œμͺ½ λμ—μ„œλŠ” λ°μ΄ν„°μ˜ μ‚­μ œλ§Œ 이루어지고, λ‹€λ₯Έ ν•œμͺ½ λμ—μ„œλŠ” λ°μ΄ν„°μ˜ μ‚½μž…λ§Œ μ΄λ£¨μ–΄μ§€λŠ” μžλ£Œκ΅¬μ‘°μ΄λ‹€.
  • κ°€μž₯ λ¨Όμ € μž…λ ₯된 데이터가 κ°€μž₯ λ¨Όμ € μ œκ±°λ˜λŠ” μ„ μž…μ„ μΆœ(FIFO, First-In-First-Out) νŠΉμ§•μ„ κ°€μ§„λ‹€.

[ 큐 μ˜€λ²„ν”Œλ‘œ ]

  • μ‚½μž… 연산을 μˆ˜ν–‰ν•  λ•Œ λ°œμƒν•˜λ©°, 큐λ₯Ό μœ„ν•΄ ν• λ‹Ήλœ μ €μž₯ 곡간을 μ΄ˆκ³Όν•΄μ„œ 더 이상 데이터λ₯Ό μ‚½μž…ν•  수 μ—†λŠ” ν˜„μƒμ΄λ‹€.

[ 큐 μ–Έλ”ν”Œλ‘œ ]

  • μ‚­μ œ 연산을 μˆ˜ν–‰ν•  λ•Œ λ°œμƒν•˜λ©°, 큐에 데이터가 μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©΄ μ‚­μ œκ°€ μΌμ–΄λ‚˜μ§€ μ•ŠλŠ” ν˜„μƒμ΄λ‹€.

[ 큐의 λ™μž‘ 원리 ]

[ 큐의 λ§Œμ› μƒνƒœ ]

  • λ°°μ—΄λ‘œ κ΅¬ν˜„λœ νμ—μ„œλŠ” 데이터가 큐에 μ‚½μž…λ¨μ— 따라 rear λ³€μˆ˜ 값이 μ¦κ°€ν•˜λ‹€κ°€ n-1이 되면 더 이상 데이터가 μ‚½μž…λ  수 μ—†λŠ” μƒνƒœκ°€ 됨. 즉, λ°°μ—΄μ˜ 곡간이 ν• λ‹Ή 받은 만큼의 ν•œμ •λ˜μ–΄ 있음.
  • 그리고 λ°°μ—΄μ˜ 길이가 κΈΈλ‹€κ³  해도 front κ°€ μ•žμœΌλ‘œ μ΄λ™ν•˜λ©΄μ„œ μ•žμ˜ 빈 λ°°μ—΄μ˜ 곡간이 λ©”λͺ¨λ¦¬ λ‚­λΉ„λ‘œ 직결 될 수 있음.
  • ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œ μ—°κ²° 리슀트 λ˜λŠ” μ›ν˜• 큐 방식을 보톡 μ‚¬μš©ν•œλ‹€?

'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ > πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[컴퓨터과학 개둠] 6κ°• - μ•Œκ³ λ¦¬μ¦˜(2)  (0) 2025.10.01
[컴퓨터과학 개둠] 4κ°• - 자료ꡬ쑰(2)  (0) 2025.09.19
[컴퓨터과학 개둠] 10κ°• - 컴퓨터 ꡬ쑰(2)  (0) 2025.09.15
[컴퓨터과학 개둠] 9κ°• - 컴퓨터 ꡬ쑰(1)  (0) 2025.09.08
[컴퓨터과학 개둠] 5κ°• - μ•Œκ³ λ¦¬μ¦˜(1)  (0) 2025.09.04
'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [컴퓨터과학 개둠] 6κ°• - μ•Œκ³ λ¦¬μ¦˜(2)
  • [컴퓨터과학 개둠] 4κ°• - 자료ꡬ쑰(2)
  • [컴퓨터과학 개둠] 10κ°• - 컴퓨터 ꡬ쑰(2)
  • [컴퓨터과학 개둠] 9κ°• - 컴퓨터 ꡬ쑰(1)
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    였늘
    μ–΄μ œ
    • 전체보기 (181)
      • πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ (41)
        • βš™οΈμ»΄ν“¨ν„°μ˜ 이해 (11)
        • πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠 (9)
        • πŸ”’μžλ£Œκ΅¬μ‘° (6)
        • πŸŒμœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ… (11)
        • πŸ›οΈμ„Έκ³„μ˜μ •μΉ˜μ™€κ²½μ œ (3)
        • πŸ–₯️컴퓨터과학과 (1)
      • πŸ› οΈBackend (64)
        • πŸ“šλ°±μ—”λ“œ 곡뢀 (4)
        • β˜•Java (23)
        • 🌳Spring (13)
        • βš™οΈC (8)
        • ⚑Python (13)
        • JavaScript (1)
        • πŸ›’οΈDatabase (0)
        • Algorithm Problem Solving (2)
      • 🌐 Network (7)
        • πŸ“œHTTP (7)
      • πŸš€DevOps (1)
      • β›ΊμŠ€νŒŒλ₯΄νƒ€μ½”λ”©ν΄λŸ½ (64)
      • 정보 (2)
      • 정리가 ν•„μš”ν•œ κΈ€ (2)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

    • GitHub
  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    ν•¨μˆ˜
    자료ꡬ쑰
    λ°©μ†‘λŒ€
    Python
    파이썬
    λ°©ν†΅λŒ€
    Cμ–Έμ–΄
    Spring Framework
    μ»΄ν“¨ν„°μ˜ 이해
    μžλ°”
    컴퓨터과학 개둠
    μœ λΉ„μΏΌν„°μŠ€
    C
    spring
    C μ–Έμ–΄
    μž…μΆœλ ₯
    λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅
    μœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ…κ°œλ‘ 
    λ°°μ—΄
    Java
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
junbin2
[컴퓨터과학 개둠] 3κ°• - 자료ꡬ쑰(1)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”