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