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.0193 sec