ื“ืึทื˜ืึท ืกื˜ืจืึทืงื˜ืฉืขืจื– ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ื’ืจืึทืคืก: ืึท ืจืขืฆืขื ื–ื™ืข ืคื•ืŸ โ€‹โ€‹ื™ื’ื–ื™ืกื˜ื™ื ื’ ืึธื ืขืก ืื•ืŸ ืฆื•ื•ื™ื™ "ื›ึผืžืขื˜ ื ื™ื™ึท".

ื”ืขืœื ืึทืœืขืžืขืŸ.

ืื™ืŸ ื“ืขื ื˜ืึธืŸ, ืื™ืš ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืจืฉื™ืžื” ื“ื™ ื”ื•ื™ืคึผื˜ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ื’ืขื ื™ืฆื˜ ืฆื• ืงืจืึธื ื’ืจืึทืคืก ืื™ืŸ ืงืึธืžืคึผื™ื•ื˜ืขืจ ื•ื•ื™ืกื ืฉืึทืคึฟื˜, ืื•ืŸ ืื™ืš ื•ื•ืขืœ ืื•ื™ืš ืจืขื“ืŸ ื•ื•ืขื’ืŸ ืึท ืคึผืึธืจ ืžืขืจ ืึทื–ืึท ืกื˜ืจืึทืงื˜ืฉืขืจื– ื•ื•ืึธืก ืขืคืขืก "ืงืจื™ืกื˜ืึทืœืœื™ื–ืขื“" ืคึฟืึทืจ ืžื™ืจ.

ืึทื–ื•ื™, ืœืึธื–ืŸ ืก ืึธื ื”ื™ื™ื‘ืŸ. ืื‘ืขืจ ื ื™ืฉื˜ ืคื•ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ - ืื™ืš ื˜ืจืึทื›ื˜ืŸ ืžื™ืจ ืึทืœืข ื•ื•ื™ืกืŸ ืฉื•ื™ืŸ ื•ื•ืึธืก ืึท ื’ืจืึทืคื™ืง ืื™ื– ืื•ืŸ ื•ื•ืึธืก ื–ื™ื™ ื–ืขื ืขืŸ (ื“ื™ืจืขืงื˜ืขื“, ืึทื ืจืขืงื˜ื™ื“, ื•ื•ื™ื™ื˜ื™ื“, ืึทื ื•ื•ืึธื™ื˜ืขื“, ืžื™ื˜ ืึธื“ืขืจ ืึธืŸ ืงื™ื™ืคืœ ืขื“ื–ืฉืึทื– ืื•ืŸ ืœื•ืคึผืก).

ืึทื–ื•ื™, ืœืึธื–ืŸ ืก ื’ื™ื™ืŸ. ื•ื•ืึธืก ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ืคึฟืึทืจ "ื’ืจืึทืฃ ืกื˜ืึธืจื™ื“ื–ืฉ" ืžื™ืจ ื”ืึธื‘ืŸ?

1. ืžืึทื˜ืจื™ืฅ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื–

1.1 ืฉื›ื™ื™ื ื™ืฉ ืžืึทื˜ืจื™ืฅ. ื“ื™ ืฉื›ื™ื™ื ื™ืฉ ืžืึทื˜ืจื™ืฅ ืื™ื– ืึท ืžืึทื˜ืจื™ืฅ ื•ื•ื• ื“ื™ ืจื•ื“ืขืจืŸ ืื•ืŸ ื–ื™ื™ึทืœ ื›ืขื“ื™ื ื’ื– ืฉื˜ื™ืžืขืŸ ืฆื• ื“ื™ ื ื•ืžืขืจืŸ ืคื•ืŸ ื“ื™ ื•ื•ืขืจื˜ื™ืงืึทืœื– ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง, ืื•ืŸ ื“ื™ ื•ื•ืขืจื˜ ืคื•ืŸ ื™ืขื“ืขืจ ืคื•ืŸ ื–ื™ื™ึทืŸ ืขืœืขืžืขื ื˜ืŸ ืึท (ื™, ื“ื–ืฉ) ืื™ื– ื‘ืืฉืœืืกืŸ ื“ื•ืจืš ื“ืขื ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืึธื“ืขืจ ืึทื•ื•ืขืง ืคื•ืŸ ืขื“ื–ืฉืึทื– ืฆื•ื•ื™ืฉืŸ ื•ื•ืขืจื˜ื™ืกืขืก i ืื•ืŸ j (ืขืก ืื™ื– ืงืœืึธืจ ืึทื– ืคึฟืึทืจ ืึท ืึทื ืจืขืงื˜ื™ื“ ื’ืจืึทืคื™ืง ืึทื–ืึท ืึท ืžืึทื˜ืจื™ืฅ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืกืึทืžืขื˜ืจื™ืงืึทืœ, ืึธื“ืขืจ ืžื™ืจ ืงืขื ืขืŸ ืฉื˜ื™ืžืขืŸ ืึทื– ืžื™ืจ ืงืจืึธื ืึทืœืข ื•ื•ืึทืœื•ืขืก ื‘ืœื•ื™ื– ืื•ื™ื‘ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ื“ื™ืึทื’ืึธื ืึทืœ). ืคึฟืึทืจ ืึทื ื•ื•ืึธื’ื˜ืข ื’ืจืึทืคืก, ืึท (ื™, ื“ื–ืฉ) ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืึทืฉื˜ื™ืžื˜ ื“ื•ืจืš ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืขื“ื–ืฉืึทื– ืคื•ืŸ i ืฆื• ื“ื–ืฉ (ืื•ื™ื‘ ืขืก ืื™ื– ื ื™ื˜ ืึทื–ืึท ื‘ืจืขื’, ื“ืขืžืึธืœื˜ ืึท (ื™, ื“ื–ืฉ) = 0), ืื•ืŸ ืคึฟืึทืจ ื•ื•ื™ื™ื˜ื™ื“ ื’ืจืึทืคืก, ืื•ื™ืš ื“ื•ืจืš ื“ื™ ื•ื•ืึธื’ (ื’ืึทื ืฅ ื•ื•ืึธื’) ืคื•ืŸ ื“ื™ ื“ืขืจืžืื ื˜ ืขื“ื–ืฉืึทื–.

1.2 ื™ื ืกื™ื“ืึทื ืก ืžืึทื˜ืจื™ืฅ. ืื™ืŸ ื“ืขื ืคืึทืœ, ืื•ื ื“ื–ืขืจ ื’ืจืึทืคื™ืง ืื™ื– ืื•ื™ืš ืกื˜ืึธืจื“ ืื™ืŸ ืึท ื˜ื™ืฉ ืื™ืŸ ื•ื•ืึธืก, ื•ื•ื™ ืึท ื”ืขืจืฉืŸ, ื“ื™ ืจื•ื“ืขืจืŸ ื ื•ืžืขืจืŸ ืฉื˜ื™ืžืขืŸ ืฆื• ื“ื™ ื ื•ืžืขืจืŸ ืคื•ืŸ ื–ื™ื™ึทืŸ ื•ื•ืขืจื˜ื™ืกืขืก, ืื•ืŸ ื“ื™ ื–ื™ื™ึทืœ ื ื•ืžืขืจืŸ ืฉื˜ื™ืžืขืŸ ืฆื• ืคืึทืจ-ื ื•ืžืขืจื“ ืขื“ื–ืฉืึทื–. ืื•ื™ื‘ ืึท ื•ื•ืขืจื˜ืขืงืก ืื•ืŸ ืึท ื‘ืจืขื’ ื–ืขื ืขืŸ ืื™ื ืฆื™ื“ืขื ื˜ ืฆื• ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ, โ€‹โ€‹ืึท ื ื™ื˜-ื ื•ืœ ื•ื•ืขืจื˜ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืฆืขืœ (ืคึฟืึทืจ ืึทื ืจืขืงื˜ื™ื“ ื’ืจืึทืคืก, 1 ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื•ื™ื‘ ื“ื™ ื•ื•ืขืจื˜ืขืงืก ืื•ืŸ ื‘ืจืขื’ ื–ืขื ืขืŸ ืื™ื ืฆื™ื“ืขื ื˜, ืคึฟืึทืจ ืึธืจื™ืขื ื˜ื™ื“ ื’ืจืึทืคืก - "1" ืื•ื™ื‘ ื“ื™ ื‘ืจืขื’ "ืขื’ื–ื™ืฅ" ืคื•ืŸ ื“ื™ ื•ื•ืขืจื˜ืขืงืก ืื•ืŸ "-1" ืื•ื™ื‘ ืขืก "ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜" ืื™ืŸ ืขืก (ืขืก ืื™ื– ื’ืจื™ื ื’ ื’ืขื ื•ื’ ืฆื• ื’ืขื“ืขื ืงืขืŸ, ื•ื•ื™ื™ึทืœ ื“ื™ "ืžื™ื ื•ืก" ืฆื™ื™ื›ืŸ ืื•ื™ืš ืžื™ื™ื ื˜ ืฆื• ื–ื™ื™ืŸ "ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜" ืื™ืŸ ื“ื™ ื ื•ืžืขืจ "-1")). ืคึฟืึทืจ ื•ื•ื™ื™ื˜ื™ื“ ื’ืจืึทืคืก, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ 1 ืื•ืŸ -1, ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื’ืึทื ืฅ ื•ื•ืึธื’ ืคื•ืŸ ื“ื™ ื‘ืจืขื’.

2. ืขื ื•ืžืขืจืึทื˜ื™ืึธืŸ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื–

2.1 ืจืฉื™ืžื” ืคื•ืŸ ืึทื“ื“ื–ืฉืึทื“ื–ืฉืึทื ืก. ื ื•, ืึทืœืฅ ืžื™ื™ื ื˜ ืฆื• ื–ื™ื™ืŸ ืคึผืฉื•ื˜ ื“ืึธ. ื™ืขื“ืขืจ ื•ื•ืขืจื˜ืขืงืก ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง ืงืขื ืขืŸ, ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื–ื™ื™ืŸ ืคืืจื‘ื•ื ื“ืŸ ืžื™ื˜ ืงื™ื™ืŸ ื™ื ื•ืžืขืจื™ื™ืฉืึทืŸ ืกื˜ืจื•ืงื˜ื•ืจ (ืจืฉื™ืžื”, ื•ื•ืขืงื˜ืึธืจ, ืžืขื ื’ืข, ...), ื•ื•ืึธืก ื•ื•ืขื˜ ืงืจืึธื ื“ื™ ื ื•ืžืขืจืŸ ืคื•ืŸ ืึทืœืข ื•ื•ืขืจื˜ื™ืกืขืก ืฉื›ื™ื™ื ื™ืฉ ืฆื• ื“ื™ ื’ืขื’ืขื‘ืŸ ืื™ื™ื ืขืจ. ืคึฟืึทืจ ื“ื™ืจืขืงื˜ืขื“ ื’ืจืึทืคืก, ืžื™ืจ ื•ื•ืขืœืŸ ืœื™ื™ื’ืŸ ืฆื• ืึทื–ืึท ืึท ืจืฉื™ืžื” ื‘ืœื•ื™ื– ื“ื™ ื•ื•ืขืจื˜ื™ืงืึทืœื– ืฆื• ื•ื•ืึธืก ืขืก ืื™ื– ืึท "ื“ื™ืจืขืงื˜ืขื“" ื‘ืจืขื’ ืคื•ืŸ ืึท ืฉื˜ืจื™ืš ื•ื•ืขืจื˜ืขืงืก. ืคึฟืึทืจ ื•ื•ื™ื™ื˜ื™ื“ ื’ืจืึทืคืก ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜.

2.2 ืจืฉื™ืžื” ืคื•ืŸ ืจื™ื‘ืก. ื’ืึทื ืฅ ืึท ืคืึธืœืงืก ื“ืึทื˜ืŸ ืกื˜ืจื•ืงื˜ื•ืจ. ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ืขื“ื–ืฉืึทื–, ื•ื•ื™ ืงืึทืคึผื™ื˜ืึทืŸ ืึธื‘ื•ื•ื™ืึธื•ืกื ืขืกืก ื“ืขืจืฆื™ื™ืœื˜ ืื•ื ื“ื–, ืื™ื– ืคืืงื˜ื™ืฉ ืึท ืจืฉื™ืžื” ืคื•ืŸ ืขื“ื–ืฉืึทื– ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง, ื™ืขื“ืขืจ ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ืกืคึผืขืกื™ืคื™ืขื“ ื“ื•ืจืš ื“ื™ ืึธื ื”ื™ื™ื‘ ื•ื•ืขืจื˜ืขืงืก, ื“ื™ ืกืึธืฃ ื•ื•ืขืจื˜ืขืงืก (ืคึฟืึทืจ ืึทื ืจืขืงื˜ื™ื“ ื’ืจืึทืคืก ื“ื™ ืกื“ืจ ืื™ื– ื ื™ืฉื˜ ื•ื•ื™ื›ื˜ื™ืง ื“ืึธ, ื›ืึธื˜ืฉ ืคึฟืึทืจ ื™ื•ื ืึทืคืึทืงื™ื™ืฉืึทืŸ ืื™ืจ ืงืขื ืขืŸ ื ื™ืฆืŸ ืคืึทืจืฉื™ื“ืŸ ื›ึผืœืœื™ื, ืœืžืฉืœ, ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื•ื•ืขืจื˜ื™ืกืขืก ืื™ืŸ ืกื“ืจ ื™ื ืงืจื™ืกื™ื ื’) ืื•ืŸ ื•ื•ืึธื’ (ื‘ืœื•ื™ื– ืคึฟืึทืจ ื•ื•ื™ื™ื˜ื™ื“ ื’ืจืึทืคืก).

ืื™ืจ ืงืขื ื˜ ื–ืขืŸ ื“ื™ ืžืึทื˜ืจื™ืฅ ืจืฉื™ืžื•ืช ืœื™ืกื˜ืขื“ ืื•ื™ื‘ืŸ ืื™ืŸ ืžืขืจ ื“ืขื˜ืึทืœ (ืื•ืŸ ืžื™ื˜ ืื™ืœื•ืกื˜ืจืืฆื™ืขืก), ืœืžืฉืœ, ื“ืึธ.

2.3 ืึทื“ื“ื–ืฉืึทื“ื–ืฉืึทื ืกื™ ืžืขื ื’ืข. ื ื™ื˜ ื“ื™ ืžืขืจืกื˜ ืคึผืจืึธืกื˜ ืกื˜ืจื•ืงื˜ื•ืจ. ืื™ืŸ ื–ื™ื™ืŸ ื”ืึทืจืฅ, ืขืก ืื™ื– ืึท ืคืึธืจืขื ืคื•ืŸ "ืคึผืึทืงื™ื ื’" ืฉื›ื™ื™ื ื™ืฉ ืจืฉื™ืžื•ืช ืื™ืŸ ืื™ื™ืŸ ื™ื ื•ืžืขืจื™ื™ืฉืึทืŸ ืกื˜ืจื•ืงื˜ื•ืจ (ืžืขื ื’ืข, ื•ื•ืขืงื˜ืึธืจ). ื“ื™ ืขืจืฉื˜ืข n (ืœื•ื™ื˜ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื•ื•ืขืจื˜ื™ืงืก ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง) ืขืœืขืžืขื ื˜ืŸ ืคื•ืŸ ืึทื–ืึท ืึท ืžืขื ื’ืข ืึทื ื˜ื”ืึทืœื˜ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ื™ื ื“ื™ืกื™ื– ืคื•ืŸ ื“ื™ ื–ืขืœื‘ืข ืžืขื ื’ืข, ืกื˜ืึทืจื˜ื™ื ื’ ืคื•ืŸ ื•ื•ืึธืก ืึทืœืข ื•ื•ืขืจื˜ื™ืงืก ืฉื›ื™ื™ื ื™ืฉ ืฆื• ื“ืขืจ ื’ืขื’ืขื‘ืŸ ืื™ื™ื ืขืจ ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืึท ืจื•ื“ืขืจืŸ.

ื“ืึธ ืื™ืš ื’ืขืคึฟื•ื ืขืŸ ื“ื™ ืžืขืจืกื˜ ืคืึทืจืฉื˜ื™ื™ื™ืง (ืคึฟืึทืจ ื–ื™ืš) ื“ืขืจืงืœืขืจื•ื ื’: ejuo.livejournal.com/4518.html

3. Adjacency Vector ืื•ืŸ Associative Adjacency Array

ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– ื“ืขืจ ืžื—ื‘ืจ ืคื•ืŸ ื“ื™ ืฉื•ืจื•ืช, ื ื™ืฉื˜ ืึท ืคืึทื›ืžืึทืŸ ืคึผืจืึธื’ืจืึทืžื™ืกื˜, ืึธื‘ืขืจ ืคึผื™ืจื™ืึทื“ื™ืงืœื™ ื“ืขืœื˜ ืžื™ื˜ ื’ืจืึทืคืก, ืจื•ื‘ึฟ ืึธืคื˜ ื“ืขืœื˜ ืžื™ื˜ ืจืฉื™ืžื•ืช ืคื•ืŸ ืขื“ื–ืฉืึทื–. ื˜ืึทืงืข, ืขืก ืื™ื– ื‘ืึทืงื•ื•ืขื ืื•ื™ื‘ ื“ื™ ื’ืจืึทืคื™ืง ื”ืื˜ ืงื™ื™ืคืœ ืœื•ืคึผืก ืื•ืŸ ืขื“ื–ืฉืึทื–. ืื•ืŸ ืึทื–ื•ื™, ืื™ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื“ื™ ืงืœืึทืกื™ืฉ ืจืฉื™ืžื•ืช ืคื•ืŸ ืขื“ื–ืฉืึทื–, ืื™ืš ืคืึธืจืฉืœืึธื’ืŸ ืฆื• ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ื–ื™ื™ืขืจ "ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ / ืฆื•ื•ื™ื™ึทื’ / ืžืึธื“ื™ืคื™ืงืึทื˜ื™ืึธืŸ / ืžื™ื•ื˜ื™ื™ืฉืึทืŸ", ื ื™ื™ืžืœื™: ื“ื™ ืึทื“ื–ืฉืึทืกืึทื ืก ื•ื•ืขืงื˜ืึธืจ ืื•ืŸ ื“ื™ ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืึทื“ื–ืฉืึทืกืึทื ืกื™ ืžืขื ื’ืข.

3.1 ืึทื“ื“ื–ืฉืึทื ืกื™ ื•ื•ืขืงื˜ืึธืจ

ืคืึทืœ (ืึท1): ืึทื ื•ื•ืึธื™ื˜ืขื“ ื’ืจืึทืคื™ืง

ืžื™ืจ ื•ื•ืขืœืŸ ืจื•ืคืŸ ืึทืŸ ืึทื“ื–ืฉืึทืกืขื ืกื™ ื•ื•ืขืงื˜ืึธืจ ืคึฟืึทืจ ืึท ืึทื ื•ื•ืึธื™ื˜ืขื“ ื’ืจืึทืคื™ืง ืึท ืึธืจื“ืขืจื“ ื’ืึทื ื’ ืคื•ืŸ ืึทืŸ ืึทืคึฟื™ืœื• ื ื•ืžืขืจ ืคื•ืŸ ื™ื ื˜ืึทื“ื–ืฉืขืจื– (ืึท[2i], a[2i+1],..., ื•ื•ื• i ืื™ื– ื’ืขืฆื™ื™ืœื˜ c 0), ืื™ืŸ ื•ื•ืึธืก ื™ืขื“ืขืจ ืคึผืึธืจ ืคื•ืŸ ื ื•ืžืขืจืŸ ืื™ื– a[2i], ืึท[2i+1] ืกืคึผืขืฆื™ืคื™ืฆื™ืจื˜ ืึท ื’ืจืืฃ ื‘ืจืขื’ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื•ื•ืขืจื˜ื™ืงืก ืึท[2i] ืื•ืŸ ืึท[2i+1], ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™.
ื“ื™ ืจืขืงืึธืจื“ื™ื ื’ ืคึฟืึธืจืžืึทื˜ ื›ึผื•ืœืœ ืงื™ื™ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืฆื™ ื“ื™ ื’ืจืึทืคื™ืง ืื™ื– ื“ื™ืจืขืงื˜ืขื“ (ื‘ื™ื™ื“ืข ืึธืคึผืฆื™ืขืก ื–ืขื ืขืŸ ืžืขื’ืœืขืš). ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ื“ื™ ื“ื™ื’ืจืึทืฃ ืคึฟืึธืจืžืึทื˜, ื“ื™ ื‘ืจืขื’ ืื™ื– ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ื“ื™ืจืขืงื˜ืขื“ ืคึฟื•ืŸ ืึท [2i] ืฆื• ืึท [2i + 1]. ื“ืึธ ืื•ืŸ ืื•ื ื˜ืŸ: ืคึฟืึทืจ ืึทื ืจืขืงื˜ื™ื“ ื’ืจืึทืคืก, ืื•ื™ื‘ ื ื™ื™ื˜ื™ืง, ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ื“ื™ ืกื“ืจ ืคื•ืŸ ืจืขืงืึธืจื“ื™ื ื’ ื•ื•ืขืจื˜ื™ืกืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ืขื ื“ื˜ (ืœืžืฉืœ ืึทื– ื“ืขืจ ื•ื•ืขืจื˜ืขืงืก ืžื™ื˜ ื“ืขืจ ื ื™ื“ืขืจื™ืงืขืจ ื•ื•ืขืจื˜ ืคื•ืŸ ื“ื™ ื ื•ืžืขืจ ืึทืกื™ื™ื ื“ ืฆื• ืขืก ืงื•ืžื˜ ืขืจืฉื˜ืขืจ).

ืื™ืŸ C ++, ืขืก ืื™ื– ืงืขื“ื™ื™ึทื™ืง ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืึทื“ื–ืฉืึทืกืึทื ืก ื•ื•ืขืงื˜ืึธืจ ื ื™ืฆืŸ ืกื˜ื“:: ื•ื•ืขืงื˜ืึธืจ, ื“ืขืจืคืืจ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ืขื ื“ืึทื˜ืŸ ืกื˜ืจื•ืงื˜ื•ืจ.

ืคืึทืœ (ืึท2): ืึทื ื•ื•ืึธื˜ืขื“ ื’ืจืึทืคื™ืง, ื‘ืจืขื’ ื•ื•ื™ื™ืฅ ื–ืขื ืขืŸ ื’ืึทื ืฅ ื ื•ืžืขืจ

ืœื•ื™ื˜ ืึทื ืึทืœืึทื“ื–ืฉื™ ืžื™ื˜ ืคืึทืœ (ืึท1), ืžื™ืจ ืจื•ืคืŸ ื“ื™ ืึทื“ื–ืฉืึทืกืึทื ืก ื•ื•ืขืงื˜ืึธืจ ืคึฟืึทืจ ืึท ื•ื•ื™ื™ื˜ื™ื“ ื’ืจืึทืคื™ืง ืžื™ื˜ ื™ื ื˜ืึทื“ื–ืฉืขืจ ื‘ืจืขื’ ื•ื•ื™ื™ืฅ ืึท ืึธืจื“ืขืจื“ ื’ืึทื ื’ (ื“ื™ื ืึทืžื™ืฉ ืžืขื ื’ืข) ืคื•ืŸ ื ื•ืžืขืจืŸ (ืึท[3i], a[3i+1], a[3i+2], ..., ื•ื•ื• i ืื™ื– ื’ืขืฆื™ื™ืœื˜ c 0), ื•ื•ื• ื™ืขื“ืขืจ "ื˜ืจื™ืคึผืœืขื˜" ืคื•ืŸ ื ื•ืžืขืจืŸ a[3i], a[3i+1], a[3i+2] ืกืคึผืขืฆื™ืคื™ืฆื™ืจื˜ ืึท ื‘ืจืขื’ ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง ืฆื•ื•ื™ืฉืŸ ื•ื•ืขืจื˜ื™ืกืขืก ื’ืขืฆื™ื™ืœื˜ ืึท[3i] ืื•ืŸ ืึท[3i+1], ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™, ืื•ืŸ ื“ื™ ื•ื•ืขืจื˜ ืึท [3i+2] ืื™ื– ื“ื™ ื•ื•ืึธื’ ืคื•ืŸ ื“ืขื ื‘ืจืขื’. ืึทื–ืึท ืึท ื’ืจืึทืคื™ืง ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ื“ื™ืจืขืงื˜ืขื“ ืึธื“ืขืจ ื ื™ืฉื˜.

ืคืึทืœ (ื‘): ื•ื ื•ื•ืขื™ื’ื”ื˜ืขื“ ื’ืจืึทืคื™ืง, ื ื™ื˜-ื™ื ื˜ืึทื“ื–ืฉืขืจ ื‘ืจืขื’ ื•ื•ื™ื™ืฅ

ื–ื™ื ื˜ ืขืก ืื™ื– ืื•ืžืžืขื’ืœืขืš ืฆื• ืงืจืึธื ื›ืขื˜ืขืจืึทื“ื–ืฉื™ื ื™ืึทืก ืขืœืขืžืขื ื˜ืŸ ืื™ืŸ ืื™ื™ืŸ ืžืขื ื’ืข (ื•ื•ืขืงื˜ืึธืจ), ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ ืคืืœื’ืขื ื“ืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ื– ืžืขื’ืœืขืš. ื“ื™ ื’ืจืึทืคื™ืง ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ืึท ืคึผืึธืจ ืคื•ืŸ ื•ื•ืขืงื˜ืึธืจืก, ืื™ืŸ ื•ื•ืึธืก ื“ืขืจ ืขืจืฉื˜ืขืจ ื•ื•ืขืงื˜ืึธืจ ืื™ื– ื“ื™ ืึทื“ื–ืฉืึทืกืึทื ืก ื•ื•ืขืงื˜ืึธืจ ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง ืึธืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื•ื•ื™ื™ืฅ, ืื•ืŸ ื“ื™ ืจื’ืข ื•ื•ืขืงื˜ืึธืจ ื›ึผื•ืœืœ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื•ื•ื™ื™ืฅ (ืžืขื’ืœืขืš ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ C ++: std::pair ). ืื–ื•ื™, ืคึฟืึทืจ ืึท ื‘ืจืขื’ ื“ื™ืคื™ื™ื ื“ ื“ื•ืจืš ืึท ืคึผืึธืจ ืคื•ืŸ ื•ื•ืขืจื˜ื™ืกืขืก ืื•ื ื˜ืขืจ ื™ื ื“ืขืงืกื™ื– 2i, 2i+1 ืคื•ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ื•ื•ืขืงื˜ืึธืจ, ื“ื™ ื•ื•ืึธื’ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืœื™ื™ึทืš ืฆื• ื“ื™ ืขืœืขืžืขื ื˜ ืื•ื ื˜ืขืจ ืื™ื ื“ืขืงืก i ืคื•ืŸ ื“ื™ ืจื’ืข ื•ื•ืขืงื˜ืึธืจ.

ื ื•, ืคืืจื•ื•ืืก ืื™ื– ื“ืึธืก ื ื™ื™ื˜ื™ืง?

ื ื•, ื“ืขืจ ืžื—ื‘ืจ ืคื•ืŸ ื“ื™ ืฉื•ืจื•ืช ื’ืขืคึฟื•ื ืขืŸ ืขืก ื’ืึทื ืฅ ื ื•ืฆื™ืง ืคึฟืึทืจ ืกืึทืœื•ื•ื™ื ื’ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืคึผืจืึธื‘ืœืขืžืก. ื ื•, ืคึฟื•ืŸ ืึท ืคืึธืจืžืึทืœ ืคื•ื ื˜ ืคื•ืŸ ืžื™ื™ื ื•ื ื’, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–:

  • ื“ื™ ืฉื›ื™ื™ื ื™ืฉ ื•ื•ืขืงื˜ืึธืจ, ื•ื•ื™ ืงื™ื™ืŸ ืื ื“ืขืจืข "ื™ื ื•ืžืขืจืึทื˜ื™ื•ื•" ืกื˜ืจื•ืงื˜ื•ืจ, ืื™ื– ื’ืึทื ืฅ ืกืึธืœื™ื“, ื ืขืžื˜ ื•ื•ื™ื™ื ื™ืงืขืจ ื–ื›ึผืจื•ืŸ ื•ื•ื™ ื“ื™ ืฉื›ื™ื™ื ื™ืฉ ืžืึทื˜ืจื™ืฅ (ืคึฟืึทืจ ืฉื™ื˜ืขืจ ื’ืจืึทืคืก), ืื•ืŸ ืื™ื– ืœืขืคื™ืขืจืขืš ื’ืจื™ื ื’ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜.
  • ื“ื™ ื•ื•ืขืจื˜ื™ืกืขืก ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง, ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ, ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ืื ื’ืขืฆื™ื™ื›ื ื˜ ืžื™ื˜ ื ืขื’ืึทื˜ื™ื•ื• ื ื•ืžืขืจืŸ. ื•ื•ืึธืก ืื•ื™ื‘ ืึทื–ืึท ืึท "ืคึผืขืจื•ื•ืขืจืกื™ืึธืŸ" ืื™ื– ื“ืืจืฃ?
  • ื’ืจืึทืคืก ืงืขื ืขืŸ ืึทื ื˜ื”ืึทืœื˜ืŸ ืงื™ื™ืคืœ ืขื“ื–ืฉืึทื– ืื•ืŸ ืงื™ื™ืคืœ ืœื•ืคึผืก, ืžื™ื˜ ืคืึทืจืฉื™ื“ืขื ืข ื•ื•ื™ื™ืฅ (positive, ื ืขื’ืึทื˜ื™ื•ื•, ืืคื™ืœื• ื ื•ืœ). ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ื“ืึธ.
  • ืื™ืจ ืงืขื ื˜ ืื•ื™ืš ื‘ืึทืฉื˜ื™ืžืขืŸ ืคืึทืจืฉื™ื“ืขื ืข ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืฆื• ืขื“ื–ืฉืึทื– - ืึธื‘ืขืจ ืคึฟืึทืจ ืžืขืจ ื•ื•ืขื’ืŸ ื“ืขื, ื–ืขืŸ ืึธืคึผื˜ื™ื™ืœื•ื ื’ 4.

ืึธื‘ืขืจ, ืขืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืึทื“ืžื™ื˜ืึทื“ ืึทื– ื“ื™ "ืจืฉื™ืžื”" ื˜ื•ื˜ ื ื™ืฉื˜ ืžื™ื™ื ืขืŸ ืฉื ืขืœ ืึทืงืกืขืก ืฆื• ื“ื™ ื‘ืจืขื’. ืื•ืŸ ื“ืึธ ืงื•ืžื˜ ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ื“ื™ ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืึทื“ื–ืฉืึทืกืขื ืกื™ ืžืขื ื’ืข, ื•ื•ืึธืก ืื™ื– ื“ื™ืกืงืึทืกื˜ ืื•ื ื˜ืŸ.

3.2 ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืึทื“ื–ืฉืึทืกืึทื ืกื™ ืžืขื ื’ืข

ืึทื–ื•ื™, ืื•ื™ื‘ ืึทืงืกืขืก ืฆื• ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื‘ืจืขื’, ื–ื™ื™ึทืŸ ื•ื•ืึธื’ ืื•ืŸ ืื ื“ืขืจืข ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื–ืขื ืขืŸ ืงืจื™ื˜ื™ืฉ ืคึฟืึทืจ ืื•ื ื“ื–, ืื•ืŸ ื–ื›ึผืจื•ืŸ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ื˜ืึธืŸ ื ื™ื˜ ืœืึธื–ืŸ ืื•ื ื“ื– ืฆื• ื ื•ืฆืŸ ื“ื™ ืึทื“ื–ืฉืึทืกืึทื ืกื™ ืžืึทื˜ืจื™ืฅ, ืœืึธื–ืŸ ืื•ื ื“ื– ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ื•ื•ื™ ืžื™ืจ ืงืขื ืขืŸ ื˜ื•ื™ืฉืŸ ื“ื™ ืึทื“ื–ืฉืึทืกืึทื ืก ื•ื•ืขืงื˜ืึธืจ ืฆื• ืกืึธืœื•ื•ืข ื“ืขื ืคึผืจืึธื‘ืœืขื. ืึทื–ื•ื™, ื“ืขืจ ืฉืœื™ืกืœ ืื™ื– ืึท ื‘ืจืขื’ ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ื•ื•ื™ ืึท ืึธืจื“ืขืจื“ ืคึผืึธืจ ืคื•ืŸ ื™ื ื˜ืึทื“ื–ืฉืขืจื–. ื•ื•ื™ ืื–ื•ื™ ืงื•ืงื˜ ื“ืืก ืื•ื™ืก? ืื™ื– ืขืก ื ื™ืฉื˜ ืึท ืฉืœื™ืกืœ ืื™ืŸ ืึท ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืžืขื ื’ืข? ืื•ืŸ, ืื•ื™ื‘ ืึทื–ื•ื™, ืคืืจื•ื•ืืก ื˜ืึธืŸ ืžื™ืจ ื ื™ืฉื˜ ื™ื ืกื˜ืจื•ืžืขื ื˜ ืขืก? ื–ืืœ ืื•ื ื“ื– ื”ืึธื‘ืŸ ืึท ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืžืขื ื’ืข ื•ื•ื• ื™ืขื“ืขืจ ืฉืœื™ืกืœ - ืึท ืึธืจื“ืขืจื“ ืคึผืึธืจ ืคื•ืŸ ื™ื ื˜ืึทื“ื–ืฉืขืจื– - ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคืืจื‘ื•ื ื“ืŸ ืžื™ื˜ ืึท ื•ื•ืขืจื˜ - ืึทืŸ ื™ื ื˜ืึทื“ื–ืฉืขืจ ืึธื“ืขืจ ืึท ืคืึทืงื˜ื™ืฉ ื ื•ืžืขืจ ื•ื•ืึธืก ืกืคึผืขืฆื™ืคื™ืฆื™ืจื˜ ื“ื™ ื•ื•ืึธื’ ืคื•ืŸ ื“ื™ ื‘ืจืขื’. ืื™ืŸ C ++, ืขืก ืื™ื– ืงืขื“ื™ื™ึทื™ืง ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ืขื ืกื˜ืจื•ืงื˜ื•ืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ std :: ืžืึทืคึผ ืงืึทื ื˜ื™ื™ื ืขืจ (ืกื˜ื“ :: ืžืึทืคึผ , int> ืึธื“ืขืจ std::map , ื˜ืึธืคึผืœ>), ืึธื“ืขืจ std :: ืžื•ืœื˜ื™ืžืึทืคึผ ืื•ื™ื‘ ืงื™ื™ืคืœ ืขื“ื–ืฉืึทื– ื–ืขื ืขืŸ ื“ืขืจื•ื•ืึทืจื˜. ื ื•, ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืกื˜ืจื•ืงื˜ื•ืจ ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ื’ืจืึทืคืก ื•ื•ืึธืก ื ืขืžื˜ ื•ื•ื™ื™ื ื™ืงืขืจ ื–ื›ึผืจื•ืŸ ื•ื•ื™ "ืžืึทื˜ืจื™ืฅ" ืกื˜ืจืึทืงื˜ืฉืขืจื–, ืงืขื ืขืŸ ื“ืขืคื™ื ื™ืจืŸ ื’ืจืึทืคืก ืžื™ื˜ ืงื™ื™ืคืœ ืœื•ืคึผืก ืื•ืŸ ืขื“ื–ืฉืึทื–, ืื•ืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ืืคื™ืœื• ื”ืึธื‘ืŸ ืฉื˜ืจืขื ื’ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ื“ื™ ื ื™ื˜-ื ืขื’ืึทื˜ื™ื•ื•ื™ื˜ื™ ืคื•ืŸ ื•ื•ืขืจื˜ืขืงืก ื ื•ืžืขืจืŸ (ืื™ืš ื˜ืึธืŸ ื ื™ื˜ ื•ื•ื™ืกืŸ ื•ื•ืขืจ ื“ืึทืจืฃ ื“ืึธืก, ืึธื‘ืขืจ ื ืึธืš).

4. ื“ืึทื˜ืึท ืกื˜ืจืึทืงื˜ืฉืขืจื– ื–ืขื ืขืŸ ืคื•ืœ, ืึธื‘ืขืจ ืขืคึผืขืก ืื™ื– ืคืขืœื ื“ื™ืง

ืื•ืŸ ื“ืึธืก ืื™ื– ืืžืช: ื•ื•ืขืŸ ืกืึธืœื•ื•ืข ืึท ื ื•ืžืขืจ ืคื•ืŸ ืคึผืจืึธื‘ืœืขืžืก, ืžื™ืจ ืงืขืŸ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ืขื˜ืœืขื›ืข ืงืขืจืึทืงื˜ืขืจื™ืกื˜ื™ืงืก ืฆื• ื“ื™ ืขื“ื–ืฉืึทื– ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืง ืื•ืŸ, ืึทืงืึธืจื“ื™ื ื’ืœื™, ืงืจืึธื ื–ื™ื™. ืื•ื™ื‘ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืึทื ืึทืžื‘ื™ื’ื™ื•ืึทืกืœื™ ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืฆื• ื™ื ื˜ืึทื“ื–ืฉืขืจื–, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืงืจืึธื ืึทื–ืึท "ื’ืจืึทืคืก ืžื™ื˜ ื ืึธืš ืคึฟืขื™ึดืงื™ื™ื˜ืŸ" ื ื™ืฆืŸ ืขืงืกื˜ืขื ื“ืขื“ ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ ื“ื™ ืึทื“ื“ื–ืฉืึทื ืกื™ ื•ื•ืขืงื˜ืึธืจ ืื•ืŸ ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืึทื“ื–ืฉืึทืกืึทื ืกื™ ืžืขื ื’ืข.

ืึทื–ื•ื™, ืœืึธื–ืŸ ืื•ื ื“ื– ื”ืึธื‘ืŸ ืึทืŸ ืึทื ื•ื•ืึธื˜ืขื“ ื’ืจืึทืคื™ืง, ืคึฟืึทืจ ื™ืขื“ืขืจ ื‘ืจืขื’ ืคื•ืŸ ื•ื•ืึธืก ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ืงืจืึธื, ืœืžืฉืœ, 2 ื ืึธืš ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ื“ื•ืจืš ื™ื ื˜ืึทื“ื–ืฉืขืจื–. ืื™ืŸ ื“ืขื ืคืึทืœ, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื–ื™ื™ึทืŸ ืึทื“ื–ืฉืึทืกืึทื ืก ื•ื•ืขืงื˜ืึธืจ ื•ื•ื™ ืึท ืึธืจื“ืขืจื“ ื’ืึทื ื’ ื ื™ื˜ ืคื•ืŸ "ืคึผืขืจื–", ืึธื‘ืขืจ ืคื•ืŸ "ืงื•ื•ืึทืจื˜ืขืฅ" ืคื•ืŸ ื™ื ื˜ืึทื“ื–ืฉืขืจื– (ืึท[2i], a[2i+1], a[2i+2], ืึท [2i+3]โ€ฆ) , ื•ื•ื• ืึท[2i+2] ืื•ืŸ ืึท[2i+3] ื•ื•ืขื˜ ื‘ืึทืฉืœื™ืกืŸ ื“ื™ ืงืขืจืึทืงื˜ืขืจื™ืกื˜ื™ืงืก ืคื•ืŸ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื‘ืจืขื’. ืคึฟืึทืจ ืึท ื’ืจืึทืคื™ืง ืžื™ื˜ ื™ื ื˜ืึทื“ื–ืฉืขืจ ื•ื•ื™ื™ืฅ ืคื•ืŸ ืขื“ื–ืฉืึทื–, ื“ื™ ืกื“ืจ ืื™ื– ื‘ื›ืœืœ ืขื ืœืขืš (ื“ืขืจ ื‘ืœื•ื™ื– ื—ื™ืœื•ืง ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึทื– ื“ื™ ืึทื˜ืจื™ื‘ื™ื•ืฅ ื•ื•ืขื˜ ื ืึธื›ืคืึธืœื’ืŸ ื“ื™ ื•ื•ืึธื’ ืคื•ืŸ ื“ื™ ื‘ืจืขื’ ืื•ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ื“ื•ืจืš ื“ื™ ืขืœืขืžืขื ื˜ืŸ ืึท[2i+3] ืื•ืŸ ืึท[2i+4] , ืื•ืŸ ื“ืขืจ ื‘ืจืขื’ ื–ื™ืš ื•ื•ืขื˜ ื–ื™ื™ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ื ื™ื˜ 4, ืึธื‘ืขืจ 5 ืึธืจื“ืขืจื“ ื ื•ืžืขืจืŸ). ืื•ืŸ ืคึฟืึทืจ ืึท ื’ืจืึทืคื™ืง ืžื™ื˜ ื ื™ื˜-ื™ื ื˜ืึทื“ื–ืฉืขืจ ื‘ืจืขื’ ื•ื•ื™ื™ืฅ, ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ื–ื™ื™ืŸ ืึทื ื•ื•ืึธื˜ืขื“ ืงืึธืžืคึผืึธื ืขื ื˜.

ื•ื•ืขืŸ ื ื™ืฆืŸ ืึท ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืึทื“ื–ืฉืึทืกืึทื ืก ืžืขื ื’ืข ืคึฟืึทืจ ื’ืจืึทืคืก ืžื™ื˜ ื™ื ื˜ืึทื“ื–ืฉืขืจ ื‘ืจืขื’ ื•ื•ื™ื™ืฅ, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื•ื•ื™ ืึท ื•ื•ืขืจื˜ ื ื™ืฉื˜ ืึท ืื™ื™ืŸ ื ื•ืžืขืจ, ืึธื‘ืขืจ ืึท ืžืขื ื’ืข (ื•ื•ืขืงื˜ืึธืจ) ืคื•ืŸ ื ื•ืžืขืจืŸ ื•ื•ืึธืก ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ, ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ ื•ื•ืึธื’ ืคื•ืŸ ืึท ื‘ืจืขื’, ืึทืœืข ื–ื™ื™ึทืŸ ืื ื“ืขืจืข ื ื™ื™ื˜ื™ืง ืื™ื™ื ืจื™ื›ื˜ื•ื ื’ืขืŸ. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืึท ื™ื ืงืึทื ื•ื•ื™ื ื™ืึทื ืก ืคึฟืึทืจ ื“ื™ ืคืึทืœ ืคื•ืŸ ื ื™ื˜-ื™ื ื˜ืขืจื’ืขืจ ื•ื•ื™ื™ืฅ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ ื ื•ื™ื˜ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืฆื™ื™ื›ืŸ ืžื™ื˜ ืึท ืคืœืึธื•ื˜ื™ื ื’ ืคื•ื ื˜ ื ื•ืžืขืจ (ื™ืึธ, ื“ืึธืก ืื™ื– ืึทืŸ ื™ื ืงืึทื ื•ื•ื™ื ื™ืึทื ืก, ืึธื‘ืขืจ ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืึทื–ื•ื™ ืคื™ืœืข ืึทื–ืึท ื•ื•ืื•ื ื“ืขืจ, ืื•ืŸ ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื ื™ืฉื˜ ืฉื˜ืขืœืŸ ื–ื™ื™ ืฆื• "ื˜ืจื™ืงื™" ื˜ืึธืคึผืœ, ืขืก ืงืขืŸ ื–ื™ื™ืŸ ื’ืึธืจื ื™ืฉื˜). ื“ืขื ืžื™ื˜ืœ ืึทื– ืื™ืŸ C ++ ืขืงืกื˜ืขื ื“ืขื“ ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืึทื“ื–ืฉืึทืกืึทื ืกื™ ืขืจื™ื™ื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ื™ืคื™ื™ื ื“ ื•ื•ื™ ื’ื™ื™ื˜: std::map , std::vector> ืึธื“ืขืจ std::map , std::vector, ืื™ืŸ ื•ื•ืึธืก ื“ืขืจ ืขืจืฉื˜ืขืจ ื•ื•ืขืจื˜ ืื™ืŸ ื“ื™ "ืฉืœื™ืกืœ-ื•ื•ืขืจื˜-ื•ื•ืขืงื˜ืึธืจ" ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ ื•ื•ืึธื’ ืคื•ืŸ ื“ื™ ื‘ืจืขื’, ืื•ืŸ ื“ืขืžืึธืœื˜ ื“ื™ ื ื•ืžืขืจื™ืงืึทืœ ื‘ืึทืฆื™ื™ื›ืขื ื•ื ื’ ืคื•ืŸ ื–ื™ื™ึทืŸ ืงืขืจืึทืงื˜ืขืจื™ืกื˜ื™ืงืก ื–ืขื ืขืŸ ืœื™ื’ืŸ.

ืœื™ื˜ืขืจืึทื˜ื•ืจ:

ื•ื•ืขื’ืŸ ื’ืจืึทืคืก ืื•ืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ:

1. Cormen, Thomas H., Leiserson, Charles I., Rivest, Ronald L., Stein, Clifford. ืึทืœื’ืขืจื™ื“ืึทืžื–: ืงืึทื ืกื˜ืจืึทืงืฉืึทืŸ ืื•ืŸ ืึทื ืึทืœื™ืกื™ืก, 2 ืึทื“ื™ืฉืึทืŸ: ื˜ืจืึทื ืก. ืคื•ืŸ ืขื ื’ืœื™ืฉ - ืž.: ื•ื•ื™ืœืœื™ืึทืžืก ืคึผื•ื‘ืœื™ืฉื™ื ื’ ื”ื•ื™ื–, 2011.
2. ื”ืจืจื™ ืคืจืึทื ืง. ื’ืจืืฃ ื˜ืขืืจื™ืข. ืž.: ืžื™ืจ, 1973.
ื“ืขืจ ืžื—ื‘ืจ 'ืก ื‘ืึทืจื™ื›ื˜ ื•ื•ืขื’ืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ืขืงื˜ืึธืจ ืื•ืŸ ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืžืขื ื’ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืึทื“ื–ืฉืึทืกืึทื ืกื™ื–:
3. ื˜ืฉืขืจื ืึธื•ื›ืึธื•ื• ืก.ืึท. ืึทื“ื–ืฉืึทืกืขื ืกื™ ื•ื•ืขืงื˜ืึธืจ ืื•ืŸ ืึทืกืกืึธืกื™ืึทื˜ื™ื•ื•ืข ืึทื“ื–ืฉืึทืกืึทื ืกื™ ืžืขื ื’ืข ื•ื•ื™ ื•ื•ืขื’ืŸ ืฆื• ืคืึธืจืฉื˜ืขืœืŸ ืื•ืŸ ืงืจืึธื ื’ืจืึทืคืก / ืกืึท ื˜ืฉืขืจื ืึธื”ืึธื•ื•. ืึทื“ื–ืฉืึทืกืึทื ืก ื•ื•ืขืงื˜ืึธืจ ืื•ืŸ ืึทื“ื“ื–ืฉืึทืกืกืึทื ืกื™ ืžืึทืคึผืข ื•ื•ื™ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ืฆื• ืคืึธืจืฉื˜ืขืœืŸ ืึท ื’ืจืึทืคื™ืง // ื–ืึทืžืœื•ื ื’ ืคื•ืŸ ืึทืจื˜ื™ืงืœืขืŸ ืคื•ืŸ ื“ื™ ื™ื ื˜ืขืจื ืึทื˜ื™ืึธื ืึทืœ ื•ื•ื™ืกื ืฉืืคื˜ืœืขื›ืข ืื•ืŸ ืคึผืจืึทืงื˜ื™ืฉ ืงืึธื ืคึฟืขืจืขื ืฅ "ืคึผืจืึธื‘ืœืขืžืขืŸ ืคื•ืŸ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคื•ืŸ ื™ื ืึทื•ื•ื™ื™ื˜ื™ื•ื• ื“ื™ื•ื•ืขืœืึทืคึผืžืึทื ืฅ ืื•ืŸ ื•ื•ืขื’ืŸ ืฆื• ืกืึธืœื•ื•ืข ื–ื™ื™" (Saratov, 14.09.2019 ืกืขืคื˜ืขืžื‘ืขืจ 2019). โ€“ Sterlitamak: AMI, 65, ื–. 69-XNUMX
ื ื•ืฆื™ืง ืึธื ืœื™ื™ืŸ ืงื•ื•ืืœืŸ ืื•ื™ืฃ ื“ืขืจ ื˜ืขืžืข:
4. prog-cpp.ru/data-graph
5. ejuo.livejournal.com/4518.html

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’