U E D R , A S I H C RSS

TAOCP/Information Structures

2.2. Linear Lists

2.2.2. Sequential Allocation

•œ ๋…ธ๋“œ— ๋“ค–ดžˆ๋Š” WORD˜ ˆ˜๊ฐ€ c๊ฐœ๋ผ๋ฉด ๋‹คŒ๊ณผ ๊ฐ™ด “ธ ˆ˜ žˆ๋‹ค.
LOC(Xj + 1) = LOC(Xj) + c

ƒˆ˜ L0๋ฅผ base address๋ผ๊ณ  •œ๋‹ค๋ฉด ๋‹คŒ๊ณผ ๊ฐ™ด๋„ “ธ ˆ˜ žˆ๋‹ค.
LOC(Xj) = L0 + cj

Sequential Allocation€ stack„ ๋‹ค๋ฃจ๋Š”๋ฐ Žธ๋ฆฌ•˜๋‹ค.
''ƒˆ ›†Œ ๋„ฃ๊ธฐ(To place a new element Y on top)
T โ† T + 1; XT โ† Y;
๋งˆง€๋ง‰ ›†Œ ๋นผ๊ธฐ(setting Y equal to the top node and delete)
Y โ† XT; T โ† T - 1;''

queue๋‚˜ deque๋ฅผ ๋‚˜ƒ€๋‚ด๋Š” ๊ฒƒ€ ข€๋” ๋ณตžก•˜๋‹ค.
''ƒˆ ›†Œ ๋„ฃ๊ธฐ(inserting an element at the rear of the queue)
R โ† R + 1; XR โ† Y;
๋งจ •ž ›†Œ ๋นผ๊ธฐ(removing the front node)
F โ† F + 1; Y โ† XF; if F = R, then set F โ† R โ† 0''

•˜ง€๋งŒ ๊ณต๊ฐ„๋‚ญ๋น„๊ฐ€ ๋ฌด•œ•  ˆ˜ žˆ๋‹ค.( F, Rด ๊ณ„†ฆ๊ฐ€•˜๊ธฐ ๋•Œ๋ฌธด๋‹ค.) ๋”ฐ๋ผ„œ ด๋Ÿฐ ๋ฌธ œ(the problem of the queue overrunning memory)๋ฅผ •ด๊ฒฐ•˜๋ ค๋ฉด, M๊ฐœ˜ ๋…ธ๋“œ(X1...XM)๊ฐ€ ˆœ™˜•˜๋„๋ก •œ๋‹ค.
''if R = M then R โ† 1, otherwise R โ† R + 1; XR โ† Y.
if F = M then F โ† 1, otherwise F โ† F + 1; Y โ† XF.''

—ฌƒœ๊นŒง€๋Š” ๋ฌธ œ(๋” ๋„„ ๊ณต๊ฐ„ด —†๊ฐ๋‚˜, ๋” ง€šธ ๊ฒƒด —†๋Š” ๊ฒฝšฐ)๊ฐ€ —†๋‹ค๊ณ  ๊ฐ€ •–ˆ๋‹ค. ด ๋ฌธ œ๊นŒง€ ๊ณ ๋ ค•œ ๊ณผ •ด ๋‹คŒ๊ณผ ๊ฐ™๋‹ค.
p.245 (2a),(3a),(6a),(7a)

(6a),(7a)—„œ๋Š” ˆ๊ธฐ กฐ๊ด F = R = 1ด๋‹ค. ๋งŒ•ฝ F = 0ด๋ผ๋ฉด ˜ค๋ฒ„”Œ๋กœšฐ๊ฐ€ ƒ๊ธฐง€ •Š๊ธฐ ๋•Œ๋ฌธด๋‹ค.
AnswerMe ๊ทธ๋ ‡๋‹ค๋ฉด ƒˆ ›†Œ๋ฅผ ๋„œผ๋ฉด X2๋ถ€„ฐ ๋“ค–ด๊ฐ„๋‹ค๋Š” ๊ด๊ฐ€? --Leonardong

˜ค๋ฒ„”Œ๋กœšฐ™€ –ธ๋””Œ๋กœšฐ๊ฐ€ ผ–ด๋‚ฌ„ ๋•Œ –ด๋–ป๊ฒŒ •ด•ผ • ๊นŒ? –ธ๋””Œ๋กœšฐ๋Š” •˜๋‚˜˜ ˜๋ฏธžˆ๋Š” กฐ๊ด - —๋Ÿฌ ƒ™ฉด •„๋‹ˆ๋ผ - ด๋‹ค. •˜ง€๋งŒ ˜ค๋ฒ„”Œ๋กœšฐ๋Š” ๋” ๋“ค–ด๊ฐˆ ๊ณต๊ฐ„ด —†๋Š”๋ฐ ๋“ค–ด๊ฐˆ  •๋ณด๊ฐ€ ๋‚จ•„žˆ–ด„œ —๋Ÿฌด๋‹ค. ๋”ฐ๋ผ„œ ˜ค๋ฒ„”Œ๋กœšฐ๊ฐ€ ƒ๊ธฐ๋ฉด šฉ๋Ÿ‰•œ๊ณ„๋ฅผ ๋„˜–ด„œ„œ ”„๋กœ๊ทธ๋žจด ข…๋ฃŒ•œ๋‹ค.

๊ฐ€๋Šฅ•œ ๊ณต๊ฐ„— ๋ฆฌŠคŠธ๊ฐ€ ๋‘ ๊ฐœ žˆ๋‹ค๋ฉด (๊ณ  •๋œ)bottom„ ๊ฐ™ด “ธ ˆ˜ žˆ๋‹ค. (p.246 ๊ทธ๋ฆผ ฐธ๊ณ ) ด๋Ÿฐ ๊ฒฝšฐ ๋‘ ๋ฆฌŠคŠธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ชจ๋‘ จ๋ฒ„๋ฆด ๋•Œ๊นŒง€ ˜ค๋ฒ„”Œ๋กœšฐ๋Š” ƒ๊ธฐง€ •Š๋Š”๋‹ค. ด๋Ÿฐ ˜•ƒœ๋Š” ๋งคšฐ žฃผ “ฐธ๋‹ค.

•˜ง€๋งŒ ๋ฆฌŠคŠธ๊ฐ€ ๋” ๋งŽœผ๋ฉด bottomด ›€งผ ˆ˜ žˆ–ด•ผ •œ๋‹ค.(we must allow the "bottom" elements of the lists to change therir positions.) MIX—„œ I๋ฒˆงธ •œ WORD๋ฅผ rA— ๊ฐ€ ธ˜ค๋Š” ฝ”๋“œ๋Š” ๋‹คŒ๊ณผ ๊ฐ™๋‹ค.
''LD1 I ;I๋ฅผ rI2— ๋„ฃ๋Š”๋‹ค.
LDA BASE(0:2) ;BASE—  €žฅ๋œ L0ฃผ†Œ๋ฅผ rA— ๋„ฃ๋Š”๋‹ค.
STA *+1(0:2) ;๊ทธ ฃผ†Œ๋ฅผ ๋‹คŒ ๋ฉ”๋ชจ๋ฆฌ(LDA *,1ด žˆ๋Š”)— ๋„ฃ๋Š”๋‹ค.
LDA *,1 ;—ฌ๊ธฐ— I๋ฅผ ๋”•œ ฃผ†Œ๋กœ ๊ฐ€„œ ๊ทธ ๊ฐ’„ rA— ๋„ฃ๋Š”๋‹ค.''

n๊ฐœ˜ Šคƒด žˆ๋Š” ๊ฒฝšฐ i๋ฒˆงธ(1โ‰คiโ‰คn) Šคƒ— ›†Œ๋ฅผ ๋„ฃ๊ณ  ๋นผ๋Š” ๊ณผ •„ ๋‹คŒ๊ณผ ๊ฐ™ด  „ ˆ˜ žˆ๋‹ค.
p.247 (9) (10) ฐธ๊ณ 

—ฌ๊ธฐ„œ i๋ฒˆงธ Šคƒ—„œ ˜ค๋ฒ„”Œ๋กœšฐ๊ฐ€ ƒ๊ธฐ๋ฉด ๋ฉ”๋ชจ๋ฆฌ žฌ๋ฐฐน˜(repack memory)๋ฅผ •  ˆ˜ žˆ๋‹ค. ๋ช‡๊ฐ€ง€ ๋ฐฉ๋ฒ•ด žˆ๋Š”๋ฐ ง€๊ธˆ๋ถ€„ž„žˆ •Œ•„๋ณดž.
''ˆ๊ธฐ กฐ๊ด : p.247 (11) ฐธ๊ณ 
i๋ฒˆงธ Šคƒ—„œ ˜ค๋ฒ„”Œ๋กœšฐ๊ฐ€ ƒ๊ฒผ„ ๋•Œ''
a) œ„๋กœ •œนธ”ฉ ๋ฐ€๊ธฐ(moving things up)'''
i๏ผœkโ‰คnธ k ๊ฐ€šด๋ฐ TOPk < BASEk+1ธ ๊ฐ€žฅ ž‘€ k๋ฅผ ฐพ๋Š”๋‹ค. ฐพœผ๋ฉด TOPk โ‰ฅ L๏ผžBASEi+1ธ L— ๋Œ€•ด„œ ๋‹คŒ„ •œ๋‹ค.
CONTENTS(L+1) โ† CONTENTS(L) (L€ ฐ ๊ฒƒ๋ถ€„ฐ ๋ฏผ๋‹ค. •ด๋‹น‚ฌ•ญ —†œผ๋ฉด •„๋ฌด๊ฒƒ๋„ •˜ง€ •Š๋Š”๋‹ค.)
๊ทธ๋ฆฌ๊ณ  ๋งˆง€๋ง‰œผ๋กœ i๋ณด๋‹ค ฌ๊ณ  k๋ณด๋‹ค ฌง€ •Š€ ๋ชจ๋“  BASE™€ TOP„ •˜๋‚˜”ฉ œ„๋กœ ๋ฏผ๋‹ค.

b) •„๋ž˜๋กœ •œนธ”ฉ ๋ฐ€๊ธฐ(moving things down)''' a)— •ด๋‹น•˜๋Š” k๊ฐ€ —†„ ๊ฒฝšฐ
iโ‰คk๏ผœnธ k ๊ฐ€šด๋ฐ TOPk < BASEk+1ธ ๊ฐ€žฅ ฐ k๋ฅผ ฐพ๋Š”๋‹ค. ฐพœผ๋ฉด TOPi โ‰ฅ L๏ผžBASEk+1ธ L— ๋Œ€•ด„œ ๋‹คŒ„ •œ๋‹ค.
CONTENTS(L-1) โ† CONTENTS(L) (L€ ž‘€ ๊ฒƒ๋ถ€„ฐ ๋ฏผ๋‹ค. •ด๋‹น‚ฌ•ญ —†œผ๋ฉด •„๋ฌด๊ฒƒ๋„ •˜ง€ •Š๋Š”๋‹ค.)
๊ทธ๋ฆฌ๊ณ  ๋งˆง€๋ง‰œผ๋กœ k๋ณด๋‹ค ฌ๊ณ  i๋ณด๋‹ค ฌง€ •Š€ ๋ชจ๋“  BASE™€ TOP„ •˜๋‚˜”ฉ •„๋ž˜๋กœ ๋ฏผ๋‹ค.
c) „งœ ˜ค๋ฒ„”Œ๋กœšฐ
๊ณต๊ฐ„„ ฐพ„ ˆ˜ —†๋‹ค. ฌ๊ธฐ•ด•ผ •œ๋‹ค.
''
(p.248— (12)™€ ๊ทธ๋ฆผ 4๋Š” ˜ˆ œด๋‹ค. ๊ทผ๋ฐ –ด๋ ต๋‹ค. 3๋ฒˆ„ •ด๋ณด•˜œผ๋‚˜  œ๋Œ€๋กœ ๋‚˜˜คˆ •Š•˜๋‹ค.)

ˆ๊ธฐ๊ฐ’œผ๋กœ šจœจ ธ ‹œž‘ œ„น˜๋ฅผ ฃผ๋Š” ๊ฒƒด ๊ฐ€๋Šฅ•˜๋‹ค. (p.248 (13), ‰๊ท  œผ๋กœ BASE๋ฅผ ๋ถ„ฌ‹œ‚จ๋‹ค.)

•œ ๋ฒˆ ๋ฉ”๋ชจ๋ฆฌ žฌ๋ฐฐน˜๋ฅผ •  ๋•Œ๋งˆ๋‹ค ๊ณต๊ฐ„„  ๋‹นžˆ ๋งˆ๋ จ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฐ€๋Šฅ•˜๋‹ค.( ๊ทธ๋Ÿฌ๋‚˜ ด•ด•˜ง€ ๋ชป–ˆ๋‹ค.p.250— ค‘๊ฐ„— ๋ณด๋ฉด œ„ •Œ๊ณ ๋ฆฌฆ˜(Algorithm G๋‚˜ R)๊ณผ ๋น„Šท•œ ๋™  ๋ฉ”๋ชจ๋ฆฌ • ๋‹น •Œ๊ณ ๋ฆฌฆ˜˜ ˆ˜•™  ๋ถ„„€ ๋งคšฐ –ด๋ ต๋‹ค๊ณ  ๋‚˜™€žˆ๋‹ค. )

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:09
Processing time 0.0177 sec