๐Ÿ’ป Knowledge 21

๋น…๋ฐ์ดํ„ฐ๋ž€? (๊ฐœ๋…, ์žฅ์ , ํ™œ์šฉ ๋ฐฉ์•ˆ, RISK, ๊ทน๋ณต ๋ฐฉ์•ˆ)

๋‚ด์šฉ ํ•™์Šต ๊ฒฝ๋กœ ๊ณผํ•™์ •๋ณดํ†ต์‹ ๋ถ€ ๋ธ”๋กœ๊ทธ์—์„œ ๋ธ”๋ก์ฒด์ธ์„ ์†Œ๊ฐœํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€์„ ๋ณด๊ณ  ๊ด€๋ จ ๋‚ด์šฉ์„ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น…๋ฐ์ดํ„ฐ์˜ ๊ฐœ๋…๊ณผ ์žฅ์  ๋น…๋ฐ์ดํ„ฐ๋ž€ ๊ทœ๋ชจ๊ฐ€ ๋งค์šฐ ํฌ๊ณ  ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋น…๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ "3V"๋กœ ์„ค๋ช…๋˜๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1. Volume(์–‘): ๋งค์šฐ ํฐ ์–‘์˜ ๋ฐ์ดํ„ฐ 2. Velocity(์†๋„): ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒ์„ฑ๋˜๊ณ  ์œ ํ†ต ์†๋„ ๋˜ํ•œ ๋งค์šฐ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ (ex. ์†Œ์…œ ๋ฏธ๋””์–ด์—์„œ ์‹ค์‹œ๊ฐ„ ํŠธ์œ—) 3. Variety(๋‹ค์–‘์„ฑ): ๊ธฐ์กด์˜ ๊ตฌ์กฐํ™”๋œ ์ •ํ˜•๋ฐ์ดํ„ฐ(ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)๋Š” ๋ฌผ๋ก  ์‚ฌ์ง„, ๋™์˜์ƒ ๋“ฑ์˜ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ๋น…๋ฐ์ดํ„ฐ์˜ ์ฃผ์š” ์žฅ์  ๋ช‡ ๊ฐ€์ง€๋ฅผ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ๊ณ ๊ฐ ์„œ๋น„์Šค ๊ฐœ์„  ๋น…๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ณ ๊ฐ์˜ ํ–‰๋™๊ณผ ์„ ํ˜ธ๋„๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ฐœ์ธํ™”๋œ ์„œ๋น„์Šค๋ฅผ ์ œ..

๋ธ”๋ก์ฒด์ธ์ด๋ž€? (๊ฐœ๋…, ์žฅ์ , ํ™œ์šฉ ๋ฐฉ์•ˆ, RISK, ๊ทน๋ณต ๋ฐฉ์•ˆ)

๋‚ด์šฉ ํ•™์Šต ๊ฒฝ๋กœ ๊ณผํ•™์ •๋ณดํ†ต์‹ ๋ถ€ ๋ธ”๋กœ๊ทธ์—์„œ ๋ธ”๋ก์ฒด์ธ์„ ์†Œ๊ฐœํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€์„ ๋ณด๊ณ  ๊ด€๋ จ ๋‚ด์šฉ์„ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ์˜ ๊ฐœ๋…๊ณผ ์žฅ์  ๋ธ”๋ก์ฒด์ธ์€ ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ (๊ฑฐ๋ž˜ ๋‚ด์—ญ ๋“ฑ์˜) ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ ์„ ์ง€์นญํ•˜๋Š” ๋ง์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก(๊ฐœ์ธ๊ณผ ๊ฐœ์ธ(P2P)์˜ ๊ฑฐ๋ž˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜๋Š” ์žฅ๋ถ€)๋“ค์„ ์ฒด์ธ ํ˜•ํƒœ๋กœ ๋ฌถ์€ ํ˜•ํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ธ”๋ก์ฒด์ธ์ด๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์–ด ํˆฌ๋ช…์„ฑ๊ณผ ๋ณด์•ˆ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ์˜ ํ™œ์šฉ ๋ฐฉ์•ˆ ๋ธ”๋ก์ฒด์ธ์€ ๋น„ํŠธ์ฝ”์ธ๊ณผ ๊ฐ™์€ ์•”ํ˜ธํ™”ํ์— ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ์€ ๋‹ค์ˆ˜๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ์ฆ๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์•™๊ด€๋ฆฌ์ž๊ฐ€ ํ•„์š” ์—†๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ํŠน์ง•์œผ๋กœ '์ค‘์•™์€ํ–‰'์ด ์—†๋”๋ผ๋„ ํ™”ํ ๋ฐœํ–‰์ด ๊ฐ€๋Šฅํ•˜..

Lock๊ณผ JPA Lock

Lock์€ ๋ฌด์—‡์ผ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ Data์— 4๊ฐœ์˜ ์ปค๋„ฅ์…˜์ด ๋™์‹œ์— ์ ‘๊ทผํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. connection A๋Š” Data ๊ฐ’์„ A๋กœ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๊ณ , connection B๋Š” Data ๊ฐ’์„ B๋กœ, connection C๋Š” Data ๊ฐ’์„ C๋กœ, connection D๋Š” D๋กœ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ์ปค๋„ฅ์…˜์ด ๋„์ฐฉํ•˜๋Š” ์ˆœ์„œ์—๋”ฐ๋ผ Data ๊ฐ’์ด A, B, C, D ์ค‘ ์–ด๋А ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ง€ ๋ชจ๋ฅธ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ๐Ÿ”’ Lock์€, ๋™์‹œ์— ๋ฐœ์ƒํ•˜๋Š” ์ˆ˜์ • ์š”์ฒญ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. Lock์˜ ์ข…๋ฅ˜ ๋‚™๊ด€์  Lock (Optimistic Lock) ๋Œ€๋ถ€๋ถ„์˜ ํŠธ๋žœ์žญ์…˜์ด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ๋‚™๊ด€์ ์œผ๋กœ ๊ฐ€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ œ๊ณต..

Stack์ด ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ ๊นŒ?

Stack์ด๋ž€ - Stack์€ LIFO(Last In First Out) ์›์น™์— ๊ธฐ๋ฐ˜ํ•œ ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. LIFO๋ž€? ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ถ”๊ฐ€๋œ ํ•ญ๋ชฉ์ด ๊ฐ€์žฅ ๋จผ์ € ์ œ๊ฑฐ๋˜๋Š” ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฅธ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. Stack์˜ ์ฃผ์š” ์—ฐ์‚ฐ - push(e): ํŠน์ • ์š”์†Œ๋ฅผ ์Šคํƒ์— ์ถ”๊ฐ€ - pop(): ์Šคํƒ์˜ ๋งจ ์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ(top)์„ ์ œ๊ฑฐํ•˜๊ณ , ํ•ด๋‹น ์›์†Œ๋ฅผ ๋ฐ˜ํ™˜ - peek(): ์Šคํƒ์˜ ๋งจ ์œ„์— ์žˆ๋Š” ํ•ญ๋ชฉ(top)์„ ๋ฐ˜ํ™˜ (์ œ๊ฑฐX) - isEmpty(): ์Šคํƒ์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ Stack์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€ - Undo(์‹คํ–‰ ์ทจ์†Œ) / Redo(๋‹ค์‹œ ์‹คํ–‰) Undo์™€ Redo ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฃผ๋กœ ๋‘ ๊ฐœ์˜ ์Šคํƒ(Stack)์„ ์‚ฌ์šฉํ•œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ A, B, C, D ์ˆœ์œผ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๋ฉด, Undo Stack = [A, ..

LinkedList๊ฐ€ ์ˆœํ™˜(cycle)์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์–ด๋–ป๊ฒŒ ํ™•์ธํ• ๊นŒ? ๐Ÿ‡๐Ÿ’จ ๐Ÿข

LinkedList์— ์ˆœํ™˜์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ”Œ๋กœ์ด๋“œ์˜ ์‚ฌ์ดํด ๊ฒ€์ถœ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Floyd's Cycle Detection Algorithm) ์ด ์žˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ”ํžˆ ํ† ๋ผ์™€ ๊ฑฐ๋ถ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ถˆ๋ฆฐ๋‹ค. ํ† ๋ผ์™€ ๊ฑฐ๋ถ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1. ๋น ๋ฅธ(hare) ํฌ์ธํ„ฐ์™€ ๋А๋ฆฐ(tortoise)ํฌ์ธํ„ฐ, ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 2. ๋น ๋ฅธ ํฌ์ธํ„ฐ๋Š” ํ•œ ๋ฒˆ์— ๋‘ ๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋А๋ฆฐ ํฌ์ธํ„ฐ๋Š” ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋Š” ๋ฐฉ์‹์œผ๋กœ ์›€์ง์ธ๋‹ค. 3. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์— ์‚ฌ์ดํด์ด ์—†๋‹ค๋ฉด, ๋น ๋ฅธ ํฌ์ธํ„ฐ๋Š” ๋จผ์ € ๋(null)์— ๋„์ฐฉํ•˜๊ฒŒ ๋œ๋‹ค. 4. ๋งŒ์•ฝ ์‚ฌ์ดํด์ด ์žˆ๋‹ค๋ฉด, ๋น ๋ฅธ ํฌ์ธํ„ฐ์™€ ๋А๋ฆฐ ํฌ์ธํ„ฐ๋Š” ์–ธ์  ๊ฐ€ ๋งŒ๋‚˜๊ฒŒ ๋œ๋‹ค. ๊ตฌํ˜„ public Boolean hasCycle() { Node slow = t..

๐Ÿง‘๐Ÿป‍๐Ÿ’ป Doubly Linked List ์ง์ ‘ ๊ตฌํ˜„ with dummy head & dummy tail (JAVA)

https://ming412.tistory.com/167 ๐Ÿง‘๐Ÿป‍๐Ÿ’ป Doubly Linked List ์ง์ ‘ ๊ตฌํ˜„ (JAVA) 1. Doubly Linked List ์ž๋ฃŒ๊ตฌ์กฐ https://ming412.tistory.com/159 Singly Linked List vs Doubly Linked List vs Circular Linked List ์‹œ๊ฐ„๋ณต์žก๋„ & ์‚ฌ์šฉ ์‚ฌ๋ก€ Singly Linked List (๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ๊ฐ ์š”์†Œ๊ฐ€ ๋‹ค์Œ ์š”์†Œ๋งŒ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‹จ ming412.tistory.com dummy node๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Doubly Linked List๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์œ„ ๊ธ€์— ์ž์„ธํžˆ ์ ์–ด๋†“์•˜๋‹ค. ์ด๋ฒˆ์—๋Š” dummy node๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ„๋‹จํžˆ search, add, remove ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ ..

๐Ÿง‘๐Ÿป‍๐Ÿ’ป Doubly Linked List ์ง์ ‘ ๊ตฌํ˜„ (JAVA)

1. Doubly Linked List ์ž๋ฃŒ๊ตฌ์กฐ https://ming412.tistory.com/159 Singly Linked List vs Doubly Linked List vs Circular Linked List ์‹œ๊ฐ„๋ณต์žก๋„ & ์‚ฌ์šฉ ์‚ฌ๋ก€ Singly Linked List (๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ๊ฐ ์š”์†Œ๊ฐ€ ๋‹ค์Œ ์š”์†Œ๋งŒ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‹จ์ผ ๋ฐฉํ–ฅ ๊ตฌ์กฐ์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„ ๊ฒ€์ƒ‰ - ์ฒ˜์Œ ๋…ธ๋“œ(head)๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉฐ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์•„์•ผ ํ•˜๋ฏ€๋กœ O(n) ์‚ฝ์ž… - ์‹œ์ž‘์— ์› ming412.tistory.com 2. Doubly Linked List ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ธฐ 1) ADT (Abstract Data Type) ์ •์˜ - ๋ฐ์ดํ„ฐ (Data) - Node - data: ๋ฐ์ดํ„ฐ - prev: ์ด์ „ ๋…ธ๋“œ๋ฅผ ์ฐธ์กฐ - ..

๐Ÿง‘๐Ÿป‍๐Ÿ’ป Singly LinkedList ์ง์ ‘ ๊ตฌํ˜„ (JAVA)

1. Singly LinkedList ์ž๋ฃŒ๊ตฌ์กฐ https://ming412.tistory.com/157 Array vs LinkedList ํŠน์ง• & ์„ฑ๋Šฅ ๋น„๊ต Array (๋ฐฐ์—ด) ํŠน์ง• - ๊ฐ™์€ ํƒ€์ž…์˜ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ - ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋˜๋ฉฐ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„ ์ ‘๊ทผ(Access) - ๋ฐฐ์—ด์€ ๋ฌด์ž‘์œ„ ์ ‘ ming412.tistory.com 2. Singly LinkedList ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ธฐ 1) ADT (Abstract Data Type) ์ •์˜ - ๋ฐ์ดํ„ฐ (Data) - Node - data: ๋ฐ์ดํ„ฐ - next: ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ์ฐธ์กฐ - MySinglyLinkedList - head: ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์ฒ˜์Œ ์š”์†Œ๋ฅผ ์ฐธ์กฐ - size: ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜..

Singly Linked List vs Doubly Linked List vs Circular Linked List ์‹œ๊ฐ„๋ณต์žก๋„ & ์‚ฌ์šฉ ์‚ฌ๋ก€

Singly Linked List (๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ๊ฐ ์š”์†Œ๊ฐ€ ๋‹ค์Œ ์š”์†Œ๋งŒ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‹จ์ผ ๋ฐฉํ–ฅ ๊ตฌ์กฐ์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„ ๊ฒ€์ƒ‰ - ์ฒ˜์Œ ๋…ธ๋“œ(head)๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉฐ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์•„์•ผ ํ•˜๋ฏ€๋กœ O(n) ์‚ฝ์ž… - ์‹œ์ž‘์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒฝ์šฐ, head ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๋ฏ€๋กœ O(1) - ์ค‘๊ฐ„์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒฝ์šฐ, ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆœํšŒํ•˜์—ฌ ์‚ฝ์ž…ํ•  ์œ„์น˜์˜ ์ด์ „ ๋…ธ๋“œ๋ฅผ ์ฐพ์•„์•ผ ํ•˜๋ฏ€๋กœ O(n) - ๋‹จ, ์‚ฝ์ž… ์ž‘์—… ์ž์ฒด๋Š” ํ•ด๋‹น ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๋ฏ€๋กœ O(1) - ๋์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒฝ์šฐ, ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆœํšŒํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ์ฐพ์•„์•ผ ํ•˜๋ฏ€๋กœ O(n) - ๋‹จ, ์‚ฝ์ž… ์ž‘์—… ์ž์ฒด๋Š” ํ•ด๋‹น ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๋ฏ€๋กœ O(1) ์‚ญ์ œ - ์‹œ์ž‘ ์›์†Œ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ, head ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๋ฏ€๋กœ ..

Array vs ArrayList vs List vs LinkedList ๋น„๊ต

Array vs ArrayList ๊ณตํ†ต์  - ์ค‘๋ณต์„ ํ—ˆ์šฉํ•œ๋‹ค. - ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. - ์ธ๋ฑ์Šค๋กœ ์›์†Œ๋“ค์„ ๊ด€๋ฆฌํ•œ๋‹ค. ์ฐจ์ด์  Array - ์‚ฌ์ด์ฆˆ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค. - ๊ฐ’์„ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ์‚ฐ์ž(=)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. - ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ArrayList - ์‚ฌ์ด์ฆˆ๊ฐ€ ๋™์ ์ด๋‹ค. - ์‚ฝ์ž…/์‚ญ์ œ ๋ฉ”์„œ๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. - ๋‹จ, ์‚ฝ์ž…/์‚ญ์ œ ์‹œ ์ธ๋ฑ์Šค ๊ฐ’์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด ๊ฐ์ฒด์˜ ์œ„์น˜๊ฐ€ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์žฆ์€ ์‚ฝ์ž…/์‚ญ์ œ๊ฐ€ ์ผ์–ด๋‚œ๋‹ค๋ฉด LinkedList๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. - ํƒ€์ž… ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•ด์ฃผ๋Š” ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ArrayList vs List ArrayList - ๊ตฌํ˜„์ฒด ํด๋ž˜์Šค์ด๋‹ค. - ๋‹คํ˜•์„ฑ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ArrayList๋ฅผ List๋กœ ์—…์บ์ŠคํŒ… ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. List - ์ธํ„ฐํŽ˜..