์ „์ฒด ๊ธ€ 130

Key์˜ ์ข…๋ฅ˜ (candidate key, primary key, alternate key, super key, foreign key)

Key? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๋Š” ํŠœํ”Œ์„ ์ฐพ๊ฑฐ๋‚˜ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•  ๋•Œ ๋‹ค๋ฅธ ํŠœํ”Œ๋“ค๊ณผ ๊ตฌ๋ณ„ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ธฐ์ค€์ด ๋˜๋Š” ์†์„ฑ ์œ ์ผ์„ฑ : ํ•˜๋‚˜์˜ ํ‚ค๊ฐ’์œผ๋กœ ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ --> ๊ฐ๊ฐ์˜ ํŠœํ”Œ์„ ์„œ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ตœ์†Œ์„ฑ : ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ๋“ค ์ค‘ ๊ผญ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์†์„ฑ๋“ค๋กœ๋งŒ ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์„ฑ์งˆ --> ๊ตณ์ด ์—†์–ด๋„ ๋  ์†์„ฑ์€ ๋„ฃ์ง€ ๋ง์ž. ์Šˆํผํ‚ค (Super Key) : ์œ ์ผ์„ฑ O, ์ตœ์†Œ์„ฑ X ์œ ์ผ์„ฑ์˜ ํŠน์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์†์„ฑ ๋˜๋Š” ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ ํ•œ ๋ฆด๋ ˆ์ด์…˜์˜ ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ‚ค ๋ฆด๋ ˆ์ด์…˜์— ์žˆ๋Š” ๋ชจ๋“  ํŠœํ”Œ์— ๋Œ€ํ•ด ์œ ์ผ์„ฑ์„ ๋งŒ์กฑ์‹œํ‚จ๋‹ค. (์•„์ด๋””) : ๊ฐ ํŠœํ”Œ์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Œ --> ์œ ์ผ์„ฑO (๋‚˜์ด, ์ง์—…, ๋“ฑ๊ธ‰) : ๋‹ค๋ฅธ ํŠœํ”Œ๊ณผ ์ถฉ๋ถ„ํžˆ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์Œ --> ์œ ์ผ..

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ์˜ ๋ทฐ(view)?

๋ทฐ(view)? ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”, ๋…ผ๋ฆฌ์ ์œผ๋กœ๋งŒ ์กด์žฌ ํ…Œ์ด๋ธ” : ๋””์Šคํฌ ๊ณต๊ฐ„์ด ํ• ๋‹น๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ทฐ : ๋””์Šคํฌ์— ์ €์žฅ ๊ณต๊ฐ„์ด ํ• ๋‹นX, ๋ฐ์ดํ„ฐ ๋”•์…”๋„ˆ๋ฆฌ ํ…Œ์ด๋ธ”*์— ๋ทฐ์— ๋Œ€ํ•œ ์ •์˜๋งŒ ์ €์žฅ (์งˆ์˜ ๋ฌธ์žฅ๋งŒ์„ ๊ฐ€์ง) *DBMS Dictionary Table : ๊ฐ์ฒด์˜ ์ƒ์„ฑ / ์ˆ˜์ • / ์‚ญ์ œ๋‚˜ ์‚ฌ์šฉ์ž์˜ ํŠน์ • ํ–‰๋™(์ œ์•ฝ ์กฐ๊ฑด ๋“ฑ)๋“ค์— ์˜ํ•ด ๋ฐœ์ƒํ•˜๋Š” Meta Data๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ์˜ค๋ผํด ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ” = named table, derived table, virtual table ์ „์ฒด ๋ฐ์ดํ„ฐ ์ค‘์—์„œ ์ผ๋ถ€๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ• ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ‘๊ทผ์ด ํ—ˆ์šฉ๋œ ๋ฐ์ดํ„ฐ๋งŒ์„ ์ œํ•œ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ์œ ๋„๋œ ๊ฐ€์ƒ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๋ณด์ •์ž‘์—…, ์ฒ˜๋ฆฌ๊ณผ์ • ์‹œํ—˜ ๋“ฑ ..

๋ชจ์˜๋ฉด์ ‘ ํ‚ค์›Œ๋“œ ์ •๋ฆฌ 2021-11-04

ํ•ด์‹œํ•จ์ˆ˜ : ์ž…๋ ฅ๊ฐ’๊ณผ ์ถœ๋ ฅ๊ฐ’, ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•, ํ‚ค๊ฐ’ ์ถœ๋ ฅ๊ฐ’์„ ํ†ตํ•ด ์ž…๋ ฅ๊ฐ’์„ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉด ์•ˆ๋œ๋‹ค. ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์œผ๋กœ, ํ‚ค๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ํ•ด์‹œ ์ถฉ๋Œ ํ•ด๊ฒฐ ๊ธฐ๋ฒ• 1. ์ฒด์ด๋‹ : ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ํ•ด์‹œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฒ„ํ‚ท์— ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๊ฐ€ ๊ธธ์–ด์งˆ์ˆ˜๋ก ์„ฑ๋Šฅ ์ €ํ•˜ (Closed Addressing) 2. ๊ฐœ๋ฐฉ ์ฃผ์†Œ๋ฒ•(Open Addressing) : ๋‹ค๋ฅธ ๋ฒ„ํ‚ท์— ์‚ฝ์ž… ํ•ด์‹œ ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜๋ฉด ๋‹ค๋ฅธ ๋ฒ„ํ‚ท์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. *ํ•ด์‹œ ์ถฉ๋Œ : ์„œ๋กœ ๋‹ค๋ฅธ (๋‘ ๊ฐœ์˜) ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•ด ๋™์ผํ•œ ์ถœ๋ ฅ๊ฐ’์„ ๋‚ด๋Š” ์ƒํ™ฉ ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฅ˜ : Merge sort, Quick sort ํ•ฉ๋ณ‘ ์ •๋ ฌ : stable sort, ๋ฐ์ดํ„ฐ๋ฅผ ์ ˆ๋ฐ˜์˜ ํฌ๊ธฐ๋กœ ๋ถ„ํ•  ํ€ต ์ •๋ ฌ : unstable sort, ํ”ผ๋ฒ—(์ค‘์•™๊ฐ’์— ๊ฐ€๊นŒ์šธ..

์ธ๋ฑ์Šค์˜ ๊ธฐ๋Šฅ (์žฅ์ , ์—ญํ• )

์ธ๋ฑ์Šค ์ƒ‰์ธ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์กฐํšŒ ๋ฐ ๊ฒ€์ƒ‰์„ ๋” ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•/๊ธฐ์ˆ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ์ถ”๊ฐ€์ ์ธ ์“ฐ๊ธฐ ์ž‘์—…๊ณผ ์ €์žฅ ๊ณต๊ฐ„์„ ํ™œ์šฉ ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ํฌํ•จํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑ select๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์กฐ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ, ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ๋‹ค๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ์ˆœํšŒ์— ๋งŽ์€ ์ž์›๊ณผ ์‹œ๊ฐ„์ด ์†Œ๋ชจ B+ Tree ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ธ๋ฑ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ Root node : ๊ฒฝ๋กœ์˜ ์ถœ๋ฐœ์ ์ด ๋˜๋Š” ๋ฃจํŠธ ๋…ธ๋“œ Non-leaf nodes : ๋ฆฌํ”„๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฒฝ๋กœ ์—ญํ• ์„ ํ•˜๋Š” ๋…ผ๋ฆฌํ”„๋…ธ๋“œ Leaf nodes : ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๋ฆฌํ”„๋…ธ๋“œ ๋ฆฌํ”„๋…ธ๋“œ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€์— ๋Œ€ํ•œ ์ž์‹ ๋…ธ๋“œ์— ํฌ์ธํ„ฐ๊ฐ€ ์ €์žฅ B+ํŠธ๋ฆฌ์˜ ๊ฒ€์ƒ‰์€ ..

๋‹คํ˜•์„ฑ(Polymorphism)์ด๋ž€?

OOP(๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ)์˜ 4๊ฐ€์ง€ ํŠน์ง• ์ค‘ ํ•˜๋‚˜ ์ถ”์ƒํ™”, ์บก์Šํ™”, ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„, ๋‹คํ˜•์„ฑ ๋‹คํ˜•์„ฑ(Polymorphism) ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๊ฐ€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์„ ๋•Œ ๊ฐ์ž์˜ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋Šฅ๋ ฅ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding), ์˜ค๋ฒ„๋กœ๋”ฉ(Overloading) ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•  ๋ฟ ์•„๋‹ˆ๋ผ ๋ณ€ํ™”์—๋„ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ ํ˜„์žฌ ์–ด๋–ค ํด๋ž˜์Šค ๊ฐ์ฒด๊ฐ€ ์ฐธ์กฐ๋˜๋Š”์ง€์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ๋‹คํ˜•์„ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ public class Cat { public void meow(){ System.out.println("์•ผ์˜น"); } } public class Dog { public void bark(){ System.out.println("๋ฉ๋ฉ"); } } publi..

CPU ์Šค์ผ€์ค„๋Ÿฌ ์ „๋žต (FCFS, SJF, HRN, SRT, Round Robin, Multi-Level Queue)

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

๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Dijkstra)

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

์…ธ ์ •๋ ฌ (shell sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜

์…ธ ์ •๋ ฌ์˜ ๋“ฑ์žฅ ์‚ฝ์ž… ์ •๋ ฌ์˜ ๋ณด์™„ ์‚ฝ์ž… ์ •๋ ฌ์€ ์ดˆ๊ธฐ๋ฆฌ์ŠคํŠธ๊ฐ€ "๊ฑฐ์˜ ์ •๋ ฌ"๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ํšจ์œจ์ ์ด๋‹ค. ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ์ตœ์•…์˜ ๊ฒฝ์šฐ, ์ด๋™์„ ๋งŽ์ด ํ•ด์•ผ ์ตœ์ข… ์œ„์น˜์— ๋‹ค๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฝ์ž… ์ •๋ ฌ์˜ ์‹œ๊ฐ„๋ณต์žก๋„ O(n) : ์ด๋ฏธ ์ •๋ ฌ๋œ ์ตœ์„ ์˜ ๊ฒฝ์šฐ, n-1๋ฒˆ์˜ 1ํšŒ์ฐจ ๋น„๊ต๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค. O(n^2) : ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ์ตœ์•…์˜ ๊ฒฝ์šฐ 1+2+3+ ... + (n-2) + (n-1) = ์ด n(n-1)/2๋ฒˆ ์ด๋™ํ•œ๋‹ค. ์…ธ ์ •๋ ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ญ์ˆ˜ ๊ฐœ ์ •๋„ ๋“ฌ์„ฑ๋“ฌ์„ฑ ๋‚˜๋ˆ„์–ด์„œ ์‚ฝ์ž… ์ •๋ ฌํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ž˜๊ฒŒ ๋‚˜๋ˆ„์–ด์„œ ์‚ฝ์ž… ์ •๋ ฌํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ณ„์† ํ•˜์—ฌ ๋งˆ์นจ๋‚ด ์ •๋ ฌ์ด ๋œ๋‹ค. ๋‚˜๋ˆ„๋Š” ๊ฐ„๊ฒฉ k ๊ฐ„๊ฒฉ k์˜ ์ดˆ๊นƒ๊ฐ’ : (๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜) / 2 ๋งค ํšŒ์ „๋งˆ๋‹ค k๋Š” ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. ๋‹จ, ํ•ญ์ƒ ํ™€์ˆ˜๊ฐ€ ๋˜๋„๋ก ๊ฐ’์„ ์ˆ˜์ •ํ•œ๋‹ค. (์ง์ˆ˜์ธ ๊ฒฝ์šฐ +1..

๊ณ ์ • ์†Œ์ˆ˜์ ๊ณผ ๋ถ€๋™ ์†Œ์ˆ˜์ 

์ •์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ 2๋ฅผ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์—ญ์ˆœ์œผ๋กœ ์ฝ์Œ ์‹ค์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ ์‹ค์ˆ˜๋ถ€๋„ ์ •์ˆ˜๋ถ€์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฌธ์ œ : ์ค‘๋ณต ๋ฐœ์ƒ 1.9 -> 1.1001 1.41 -> 1.100 1 ํ•ด๊ฒฐ : 2๋ฅผ ๊ณฑํ•˜๋ฉด์„œ ์ •์ˆ˜ (1, 0)์„ ๋ฝ‘์•„๋ƒ„ ์‹ค์ˆ˜ 0.625 --> ์ด์ง„์ˆ˜ 0.101 0.625 * 2 = 1.25 -> ์ •์ˆ˜ 1 ๋ฝ‘๊ธฐ, ๋‚˜๋จธ์ง€ 0.25 0.25 * 2 = 0.5 -> ์ •์ˆ˜ 0 ๋ฝ‘๊ธฐ, ๋‚˜๋จธ์ง€ 0.5 0.5 * 2 = 1.0 -> ์ •์ˆ˜ 1 ๋ฝ‘๊ธฐ, ๋‚˜๋จธ์ง€ 0์ด ๋‚˜์˜ค๋ฉด ์ข…๋ฃŒ, ๋ฝ‘์€ ์ˆซ์ž๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ฝ์–ด์คŒ ๊ณ ์ •์†Œ์ˆ˜์  (Fixed Point) 32๋น„ํŠธ ์‹ค์ˆ˜๋ฅผ ๊ณ ์ • ์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ํ•  ๊ฒฝ์šฐ ์‹ค์ˆ˜ 7.625 --> 2์ง„์ˆ˜ 111.101 16๋น„ํŠธ ์ฒด๊ณ„๋ฅผ ์“ด๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ถ€ํ˜ธ ๋น„ํŠธ : ์ˆซ์ž ์ž์ฒด๊ฐ€ ์–‘์ˆ˜..

์ปดํŒŒ์ผ ์–ธ์–ด vs ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด

์ปดํŒŒ์ผ ์–ธ์–ด ์†Œ์Šค ์ฝ”๋“œ ์ „์ฒด๋ฅผ ์ปดํŒŒ์ผ ํ•œ ํ›„ (๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•œ ํ›„) ๊ธฐ๊ณ„์–ด๋ฅผ CPU/๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ฝ์–ด ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์–ธ์–ด ์ปดํŒŒ์ผ ์–ธ์–ด ํŠน์ง• ๊ทœ๋ชจ๊ฐ€ ํฐ ํ”„๋กœ๊ทธ๋žจ์€ ์ปดํŒŒ์ผ ์‹œ ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ปดํŒŒ์ผ ํ›„์—๋Š” ๋ชจ๋“  ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋น ๋ฅด๋‹ค. ์ปดํŒŒ์ผ ์–ธ์–ด ์ข…๋ฅ˜ C, C++, Java, C# ๋นŒ๋“œ ๋นŒ๋“œ(Build) : ์ปดํ“จํ„ฐ์—์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š”, ์ฆ‰ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์†Œ์Šค์ฝ”๋“œ๋ฅผ '๋นŒ๋“œ'ํ•˜๋ฉด ์‹คํ–‰ ํŒŒ์ผ์„ ์–ป๋Š”๋‹ค. ์‹คํ–‰ํŒŒ์ผ์€ exe, exec ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ๊ณ , ์‹คํ–‰ํŒŒ์ผ์€ CPU๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ด์ง„์ฝ”๋“œ์ธ ๊ธฐ๊ณ„์–ด(Machine Code)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด (์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด) ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜์ง€ ์•Š๊ณ  ์ธํ„ฐํ”„๋ฆฌํ„ฐ..