๋ฐ˜์‘ํ˜•
JuneBee
JuneBee
JuneBee
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (102)
    • ๐Ÿ‘” JOB (10)
      • ์ „ํ˜• ํ›„๊ธฐ (10)
    • ๐ŸŽฎ GAME (9)
      • ์ ค๋‹ค | ์™•๊ตญ์˜ ๋ˆˆ๋ฌผ ๊ฒŒ์ž„ ์ผ๊ธฐ (9)
    • ๐Ÿ““ STUDY (60)
      • JAVA (15)
      • TIL (2)
      • FASTCAMPUS (32)
      • ํ™˜๊ฒฝ์„ค์ • (2)
      • YOCTO (1)
      • OS (4)
      • ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ์ธ ์•ก์…˜ (2)
    • ๐ŸŽงDAILY (6)
    • ๐Ÿ‡ฉ๐Ÿ‡ช GERMAN (17)
      • ๋Œ€ํ•™์› ์ง€์› (3)
      • ์ง€์› ํ›„๊ธฐ (11)
      • ๋…์ผ์–ด ์‹œํ—˜ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ์ผ์ƒ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ž๋ฃŒ๊ตฌ์กฐ
  • ๋…์ผ์œ ํ•™
  • SSAFY
  • B1
  • ์™•๋ˆˆ
  • ๊ฒŒ์ž„์ผ๊ธฐ
  • ํ•œ๋ฒˆ์—๋๋‚ด๋Š”์ฝ”๋”ฉํ…Œ์ŠคํŠธ369JavaํŽธ์ดˆ๊ฒฉ์ฐจํŒจํ‚ค์ง€Online.
  • sort
  • ํŒจ์ŠคํŠธ์บ ํผ์Šคํ›„๊ธฐ
  • Java
  • ์™•๊ตญ์˜๋ˆˆ๋ฌผ
  • ์œ ํ•™
  • ์„์‚ฌ
  • C/C++
  • ์ง์žฅ์ธ์ธ๊ฐ•
  • ์ทจ์—…์ค€๋น„
  • telc
  • ๋…์ผ์–ด
  • ๋…์ผ
  • ์ ค๋‹ค
  • ์ง์žฅ์ธ์ž๊ธฐ๊ณ„๋ฐœ
  • ๋ฐฑํŠธ๋ž˜ํ‚น
  • ํ”Œ๋ ˆ์ด์ผ๊ธฐ
  • ํŒจ์บ ์ฑŒ๋ฆฐ์ง€
  • bruteforce
  • ๋ชจํ—˜์ผ๊ธฐ
  • ํฌ๋ฃจ์Šค์นผ
  • ์‹ธํ”ผ
  • ํŒจ์ŠคํŠธ์บ ํผ์Šค
  • ์ •๋ ฌ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
JuneBee

JuneBee

List
๐Ÿ““ STUDY/JAVA

List

2022. 5. 18. 10:55
728x90
๋ฐ˜์‘ํ˜•

๋ฆฌ์ŠคํŠธ

์ˆœ์„œ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ถ”์ƒ์ž๋ฃŒํ˜• (abstract data type) ์œผ๋กœ, ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด๋„ ์ƒ๊ด€ ์—†๋‹ค. ๋ฆฌ์ŠคํŠธ๋Š” ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, ์ˆœ์ฐจ ๋ฆฌ์ŠคํŠธ์™€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ๋‹ค.

๐Ÿคฆ๐Ÿป‍โ™€๏ธ ์ˆœ์ฐจ ๋ฆฌ์ŠคํŠธ : ๋ฐฐ์—ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋œ ๋ฆฌ์ŠคํŠธ
     ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ : ๋ฉ”๋ชจ๋ฆฌ์˜ ๋™์ ํ• ๋‹น์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋œ ๋ฆฌ์ŠคํŠธ

 

๊ตฌํ˜„ ๋ฐฉ๋ฒ•

  1. 1์ฐจ์› ๋ฐฐ์—ด์— ํ•ญ๋ณต๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•œ๋‹ค
  2. ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜์™€ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ๊ตฌ์กฐํ™”๋œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์–ด ๋ฐฐ์—ด์— ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค
int [] L = {4,5,9,11 };

 

๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด ์›ํ•˜๋Š” ์œ„์น˜์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค

int a = L [1]; //L =5

์‚ฝ์ž… ์—ฐ์‚ฐ

์‚ฝ์ž… ์œ„์น˜ ๋‹ค์Œ์˜ ํ•ญ๋ชฉ๋“ค์„ ๋’ค๋กœ ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค

์‚ญ์ œ ์—ฐ์‚ฐ

์‚ญ์ œ ์œ„์น˜ ๋‹ค์Œ ํ•ญ๋ชฉ๋“ค์„ ์•ž์œผ๋กœ ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค

๋ฌธ์ œ์ 

  1. ๋‹จ์ˆœ ๋ฐฐ์—ด์„ ์ด์šฉํ•œ ์ˆœ์ฐจ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ž๋ฃŒ์˜ ์‚ฝ์ž…/ ์‚ญ์ œ ์—ฐ์‚ฐ ๊ณผ์ •์—์„œ ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฐฐ์—ด์„ ์œ„ํ•ด ์›์†Œ๋“ค์„ ์ด๋™์‹œํ‚ค๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค
  2. ์›์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ๊ณ , ์‚ฝ์ž…/์‚ญ์ œ ์—ฐ์‚ฐ์ด ๋งŽ์ด ์ผ์–ด๋‚˜๋ฉด ์ž‘์—… ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•œ๋‹ค
  3. ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์œผ๋ฉด, ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋  ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฌ๊ฒŒ ํ• ๋‹นํ•˜์—ฌ ๋ฉ”๋กœ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ๋ฐ˜๋Œ€๋กœ ๋” ์ž‘๊ฒŒ ์ •ํ•ด์ ธ์žˆ๋‹ค๋ฉด ๋‹ค์‹œ ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•˜๊ณ  ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ํ•ด์•ผํ•œ๋‹ค

๋”ฐ๋ผ์„œ, ์ด๋Ÿฐ ๋ฌธ์ œ์ ์„ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (Linked List) ๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ

ํŠน์„ฑ

  1. ์ž๋ฃŒ์˜ ๋…ผ๋ฆฌ์ ์ธ ์ˆœ์„œ์™€ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์ˆœ์„œ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๊ณ , ๊ฐœ๋ณ„์ ์œผ๋กœ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” ๊ฐ ์›์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜์˜ ์ „์ฒด์ ์ธ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃฌ๋‹ค
  2. ๋งํฌ(์ฐธ์กฐ๊ฐ’)๋ฅผ ํ†ตํ•ด ์›์†Œ์— ์ ‘๊ทผํ•˜๋ฏ€๋กœ, ์ˆœ์ฐจ ๋ฆฌ์ŠคํŠธ์—์„œ์ฒ˜๋Ÿผ ๋ฌผ๋ฆฌ์ ์ธ ์ˆœ์„ค๋ฅด ๋งž์ถ”๊ธฐ ์œ„ํ•œ ์ž‘์—…์ดํ•„์š” ์—†๋‹ค
  3. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ํฌ๊ธฐ๋ฅผ ๋™์ ์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‚ฌ์šฉ์ด ํšจ์œจ์ ์ด๋‹ค

๊ธฐ๋ณธ ๊ตฌ์กฐ

<1> ๋…ธ๋“œ

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ ํ•˜๋‚˜์˜ ์›์†Œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” building block

  1. ๋ฐ์ดํ„ฐ ํ•„๋“œ :์›์†Œ๊ฐ’ ์ €์žฅ (์›์†Œ์˜ ์ข…๋ฅ˜๋‚˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•จ)
  2. ๋งํฌํ•„๋“œ : ๋‹ค์Œ ๋…ธ๋“œ์˜ ์ฐธ์กฐ๊ฐ’ ์ €์žฅ

<2> ํ—ค๋“œ

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ์Œ

๐ŸงธTail ์ด ์—†์œผ๋ฉด ,๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” Head ๋ถ€ํ„ฐ iterate ๋‘ฌ์•ผ ํ•จ. ๋”ฐ๋ผ์„œ tail ์„ ๋”ํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

<1> ๋‹จ์ˆœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ

Singly Linked List

์—ฐ๊ฒฐ ๊ตฌ์กฐ

๋งํฌ๋ฅผ ํ•œ๊ฐœ๋งŒ ์œ ์ง€ํ•˜๋Š” ๋ฆฌ์ŠคํŠธ

  1. ํ—ค๋“œ๊ฐ€ ๊ฐ€์žฅ ์•ž์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ , ๋งํฌํ•„๋“œ๊ฐ€ ์—ฐ์†์ ์œผ๋กœ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค
  2. ๋งํฌ๊ฐ€ null ์ธ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ์ด๋‹ค

์‚ฝ์ž…

Case 1: Empty

๊ณต๋ฐฑ ๋ฆฌ์ŠคํŠธ์— 'A' ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ

Case 2: !Empty

  1. ์ฒซ๋ฒˆ์งธ์— ์‚ฝ์ž… 'A' ๋ฅผ ์›์†Œ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ๋ฒˆ์งธ์— 'C' ๋…ธ๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ

   2. ๋งˆ์ง€๋ง‰์— ์‚ฝ์ž… 'C', 'A'๋ฅผ ์›์†Œ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰์— 'D' ๋…ธ๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ

   3. ์ค‘๊ฐ„์— ์‚ฝ์ž…ํ•  ๋•Œ 'C', 'A', 'D' ๋ฅผ ์›์†Œ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๋‘๋ฒˆ์งธ์— 'B' ๋…ธ๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ

์‚ญ์ œ

Case 1: ์ค‘๊ฐ„์˜ ์›์†Œ ์‚ญ์ œ 'A' , 'B', 'C', 'D' ๋ฅผ ์›์†Œ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์˜ 'B' ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•  ๋•Œ

Case 2: ์‚ญ์ œํ•˜๋ ค๋Š” ๋…ธ๋“œ์˜ ์•ž์ด head ์ผ ๊ฒฝ์šฐ 'C', 'A', 'D' ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆใ„ด๋Š” ๋ฆฌ์ŠคํŠธ์˜ 'C'๋ฅผ ์‚ญ์ œํ•  ๋•Œ

์žฅ๋‹จ์ 

  1. ์žฅ์  : ๊ด€๋ฆฌํ•  ๋งํฌ๊ฐ€ ํ•˜๋‚˜๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€์ ์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ๋‹ค
  2. ๋‹จ์  : ์‚ญ์ œ ์‹œ ์‚ญ์ œํ•˜๋ ค๋Š” ๋…ธ๋“œ์˜ ์ด์ „ ๋…ธ๋“œ๋ฅผ ๋‹ค์Œ ๋…ธ๋“œ์˜ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ์ˆ˜์ •ํ•ด์•ผํ•จ
728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ““ STUDY > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

1์ฐจ์› ๋ฐฐ์—ด  (1) 2022.05.18
Tree  (0) 2022.05.18
QUEUE  (0) 2022.05.18
์บก์Аํ™”  (0) 2022.05.17
๋‹คํ˜•์„ฑ  (0) 2022.05.17
    '๐Ÿ““ STUDY/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • 1์ฐจ์› ๋ฐฐ์—ด
    • Tree
    • QUEUE
    • ์บก์Аํ™”
    JuneBee
    JuneBee
    โ‚Šหš.๐ŸŽง๐Ÿ““ ๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ ๐“‚ƒ๐Ÿ–Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”