ืžื‘ื ื™ ื ืชื•ื ื™ื ืœืื—ืกื•ืŸ ื’ืจืคื™ื: ืกืงื™ืจื” ืฉืœ ืงื™ื™ืžื™ื ื•ืฉื ื™ "ื›ืžืขื˜ ื—ื“ืฉื™ื".

ืฉืœื•ื ืœื›ื•ืœื.

ื‘ื”ืขืจื” ื–ื•, ื”ื—ืœื˜ืชื™ ืœืจืฉื•ื ืืช ืžื‘ื ื™ ื”ื ืชื•ื ื™ื ื”ืขื™ืงืจื™ื™ื ื”ืžืฉืžืฉื™ื ืœืื—ืกื•ืŸ ื’ืจืคื™ื ื‘ืžื“ืขื™ ื”ืžื—ืฉื‘, ื•ืื“ื‘ืจ ื’ื ืขืœ ืขื•ื“ ื›ืžื” ืžื‘ื ื™ื ื›ืืœื” ืฉืื™ื›ืฉื”ื• "ื”ืชื’ื‘ืฉื•" ืขื‘ื•ืจื™.

ืื– ื‘ื•ืื• ื ืชื—ื™ืœ. ืื‘ืœ ืœื ืžื”ื”ืชื—ืœื” - ืื ื™ ื—ื•ืฉื‘ ืฉื›ื•ืœื ื• ื›ื‘ืจ ื™ื•ื“ืขื™ื ืžื” ื–ื” ื’ืจืฃ ื•ืžื”ื• (ืžื›ื•ื•ืŸ, ืœื ืžื›ื•ื•ืŸ, ืžืฉื•ืงืœืœ, ืœื ืžืฉื•ืงืœืœ, ืขื ืื• ื‘ืœื™ ืงืฆื•ื•ืช ื•ืœื•ืœืื•ืช ืžืจื•ื‘ื•ืช).

ืื– ื‘ื•ื ื ืœืš. ืื™ืœื• ืืคืฉืจื•ื™ื•ืช ืœืžื‘ื ื™ ื ืชื•ื ื™ื ืœ"ืื—ืกื•ืŸ ื’ืจืคื™ื" ื™ืฉ ืœื ื•?

1. ืžื‘ื ื™ ื ืชื•ื ื™ื ืžื˜ืจื™ืฆื•ืช

1.1 ืžื˜ืจื™ืงืก ืฉื›ื ื•ืช. ืžื˜ืจื™ืฆืช ื”ืกืžื™ื›ื•ืช ื”ื™ื ืžื˜ืจื™ืฆื” โ€‹โ€‹ืฉื‘ื” ื›ื•ืชืจื•ืช ื”ืฉื•ืจื” ื•ื”ืขืžื•ื“ื•ืช ืžืชืื™ืžื•ืช ืœืžืกืคืจื™ ืงื•ื“ืงื•ื“ื™ ื”ื’ืจืฃ, ื•ื”ืขืจืš ืฉืœ ื›ืœ ืื—ื“ ืžื”ืืœืžื ื˜ื™ื ืฉืœื” a(i,j) ื ืงื‘ืข ืขืœ ืคื™ ื ื•ื›ื—ื•ืช ืื• ื”ื™ืขื“ืจ ืงืฆื•ื•ืช ื‘ื™ืŸ ืงื•ื“ืงื•ื“ื™ื i ื•-j (ื‘ืจื•ืจ ืฉืขื‘ื•ืจ ื’ืจืฃ ืœื ืžื›ื•ื•ืŸ ืžื˜ืจื™ืฆื” โ€‹โ€‹ื›ื–ื• ืชื”ื™ื” ืกื™ืžื˜ืจื™ืช, ืื• ืฉืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืกื›ื™ื ืฉืื ื—ื ื• ืžืื—ืกื ื™ื ืืช ื›ืœ ื”ืขืจื›ื™ื ืจืง ืžืขืœ ื”ืืœื›ืกื•ืŸ ื”ืจืืฉื™). ืขื‘ื•ืจ ื’ืจืคื™ื ืœื ืžืฉื•ืงืœืœื™ื, ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืืช a(i,j) ืœืคื™ ืžืกืคืจ ื”ืงืฆื•ื•ืช ืž-i ืขื“ j (ืื ืื™ืŸ ืงืฆื” ื›ื–ื”, ืื– a(i,j)= 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 ื•ืžืขืจืš Adjacency Associative

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

3.1 ื•ืงื˜ื•ืจ ืกืžื™ื›ื•ืช

ืžืงืจื” (a1): ื’ืจืฃ ืœื ืžืฉื•ืงืœืœ

ื ืงืจื ืœื•ืงื˜ื•ืจ ืกืžื™ื›ื•ืช ืœื’ืจืฃ ืœื ืžืฉื•ืงืœืœ ืงื‘ื•ืฆื” ืžืกื•ื“ืจืช ืฉืœ ืžืกืคืจ ื–ื•ื’ื™ ืฉืœ ืžืกืคืจื™ื ืฉืœืžื™ื (a[2i], a[2i+1],..., ื›ืืฉืจ i ืžืžื•ืกืคืจ c 0), ืฉื‘ื” ื›ืœ ื–ื•ื’ ืžืกืคืจื™ื ื”ื•ื a[2i], a[2i+1 ] ืžืฆื™ื™ืŸ ืงืฆื” ื’ืจืฃ ื‘ื™ืŸ ื”ืงื•ื“ืงื•ื“ื™ื a[2i] ื•-a[2i+1], ื‘ื”ืชืืžื”.
ืคื•ืจืžื˜ ื”ืงืœื˜ื” ื–ื” ืื™ื ื• ืžื›ื™ืœ ืžื™ื“ืข ืœื’ื‘ื™ ื”ืื ื”ื’ืจืฃ ืžื›ื•ื•ืŸ (ืฉืชื™ ื”ืืคืฉืจื•ื™ื•ืช ืืคืฉืจื™ื•ืช). ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืคื•ืจืžื˜ ื”ื“ื™ื’ืจืฃ, ื”ืงืฆื” ื ื—ืฉื‘ ืœืžื›ื•ื•ืŸ ืž-a[2i] ืœ-a[2i+1]. ื›ืืŸ ื•ืœืžื˜ื”: ืขื‘ื•ืจ ื’ืจืคื™ื ืœื ืžื›ื•ื•ื ื™ื, ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื ื™ืชืŸ ืœื™ื™ืฉื ื“ืจื™ืฉื•ืช ืœืกื“ืจ ื”ืงื•ื“ืงื•ื“ื™ื ืฉืœ ืจื™ืฉื•ื (ืœื“ื•ื’ืžื”, ืฉื”ืงื•ื“ืงื•ื“ ืขื ื”ืขืจืš ื”ื ืžื•ืš ืฉืœ ื”ืžืกืคืจ ืฉื”ื•ืงืฆื” ืœื• ืžื’ื™ืข ืจืืฉื•ืŸ).

ื‘-C++, ืจืฆื•ื™ ืœืฆื™ื™ืŸ ื•ืงื˜ื•ืจ ืกืžื™ื›ื•ืช ื‘ืืžืฆืขื•ืช std::vector, ื•ืžื›ืืŸ ืฉืžื• ืฉืœ ืžื‘ื ื” ื”ื ืชื•ื ื™ื ื”ื–ื”.

ืžืงืจื” (a2): ื’ืจืฃ ืœื ืžืฉื•ืงืœืœ, ืžืฉืงืœื™ ื”ืงืฆื•ื•ืช ื”ื ืžืกืคืจ ืฉืœื

ื‘ืื ืœื•ื’ื™ื” ืœืžืงืจื” (a1), ืื ื• ืงื•ืจืื™ื ืœื•ื•ืงื˜ื•ืจ ื”ืกืžื™ื›ื•ืช ืขื‘ื•ืจ ื’ืจืฃ ืžืฉื•ืงืœืœ ืขื ืžืฉืงืœื™ ืงืฆื” ืฉืœืžื™ื ืงื‘ื•ืฆื” ืžืกื•ื“ืจืช (ืžืขืจืš ื“ื™ื ืžื™) ืฉืœ ืžืกืคืจื™ื (a[3i], a[3i+1], a[3i+2], ..., ื›ืืฉืจ i ืžืžื•ืกืคืจ c 0), ื›ืืฉืจ ื›ืœ "ืฉืœื™ืฉื™ื™ื”" ืฉืœ ืžืกืคืจื™ื a[3i], a[3i+1], a[3i+2] ืžืฆื™ื™ื ืช ืงืฆื” ืฉืœ ื”ื’ืจืฃ ื‘ื™ืŸ ืงื•ื“ืงื•ื“ื™ื ื”ืžืžื•ืกืคืจื™ื a[3i] ื•-a[3i+1], ื‘ื”ืชืืžื”, ื•ื”ืขืจืš a [3i+2] ื”ื•ื ื”ืžืฉืงืœ ืฉืœ ืงืฆื” ื–ื”. ื’ืจืฃ ื›ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื’ื ืžื›ื•ื•ืŸ ืื• ืœื.

ืžืงืจื” (ื‘): ื’ืจืฃ ืœื ืžืฉื•ืงืœืœ, ืžืฉืงืœื™ ืงืฆื” ืฉืื™ื ื ืฉืœืžื™ื

ืžื›ื™ื•ื•ืŸ ืฉืื™ ืืคืฉืจ ืœืื—ืกืŸ ืืœืžื ื˜ื™ื ื”ื˜ืจื•ื’ื ื™ื™ื ื‘ืžืขืจืš ืื—ื“ (ื•ืงื˜ื•ืจ), ืœืžืฉืœ, ื”ื™ื™ืฉื•ื ื”ื‘ื ืืคืฉืจื™. ื”ื’ืจืฃ ืžืื•ื—ืกืŸ ื‘ื–ื•ื’ ื•ืงื˜ื•ืจื™ื, ืฉื‘ื”ื ื”ื•ื•ืงื˜ื•ืจ ื”ืจืืฉื•ืŸ ื”ื•ื ื•ืงื˜ื•ืจ ื”ืกืžื™ื›ื•ืช ืฉืœ ื”ื’ืจืฃ ืžื‘ืœื™ ืœืฆื™ื™ืŸ ืืช ื”ืžืฉืงื•ืœื•ืช, ื•ื”ื•ื•ืงื˜ื•ืจ ื”ืฉื ื™ ืžื›ื™ืœ ืืช ื”ืžืฉืงื•ืœื•ืช ื”ืชื•ืืžื•ืช (ื™ื™ืฉื•ื ืืคืฉืจื™ ืขื‘ื•ืจ C++: std::pair ). ืœืคื™ื›ืš, ืขื‘ื•ืจ ืงืฆื” ื”ืžื•ื’ื“ืจ ืขืœ ื™ื“ื™ ื–ื•ื’ ืงื•ื“ืงื•ื“ื™ื ืชื—ืช ืื™ื ื“ืงืกื™ื 2i, 2i+1 ืฉืœ ื”ื•ื•ืงื˜ื•ืจ ื”ืจืืฉื•ืŸ, ื”ืžืฉืงืœ ื™ื”ื™ื” ืฉื•ื•ื” ืœืืœืžื ื˜ ืžืชื—ืช ืœืื™ื ื“ืงืก i ืฉืœ ื”ื•ื•ืงื˜ื•ืจ ื”ืฉื ื™.

ื•ื‘ื›ืŸ, ืœืžื” ื–ื” ื ื—ื•ืฅ?

ื•ื‘ื›ืŸ, ืžื—ื‘ืจ ืฉื•ืจื•ืช ืืœื” ืžืฆื ืืช ื–ื” ืฉื™ืžื•ืฉื™ ืœืžื“ื™ ืœืคืชืจื•ืŸ ืžืกืคืจ ื‘ืขื™ื•ืช. ื•ื‘ื›ืŸ, ืžื ืงื•ื“ืช ืžื‘ื˜ ืคื•ืจืžืœื™ืช, ื™ื”ื™ื• ื”ื™ืชืจื•ื ื•ืช ื”ื‘ืื™ื:

  • ื•ืงื˜ื•ืจ ื”ืกืžื™ื›ื•ืช, ื›ืžื• ื›ืœ ืžื‘ื ื” "ืžื ื•ืžืจื˜ื™ื‘ื™" ืื—ืจ, ื”ื•ื ื“ื™ ืงื•ืžืคืงื˜ื™, ืชื•ืคืก ืคื—ื•ืช ื–ื™ื›ืจื•ืŸ ืžืžื˜ืจื™ืฆืช ื”ืกืžื™ื›ื•ืช (ืขื‘ื•ืจ ื’ืจืคื™ื ื“ืœื™ืœื™ื), ื•ืงืœ ื™ื—ืกื™ืช ืœื™ื™ืฉื•ื.
  • ืืช ืงื•ื“ืงื•ื“ื™ ื”ื’ืจืฃ, ื‘ืื•ืคืŸ ืขืงืจื•ื ื™, ื ื™ืชืŸ ืœืกืžืŸ ื’ื ื‘ืžืกืคืจื™ื ืฉืœื™ืœื™ื™ื. ืžื” ืื ื™ืฉ ืฆื•ืจืš ื‘"ืกื˜ื™ื”" ื›ื–ื•?
  • ื’ืจืคื™ื ื™ื›ื•ืœื™ื ืœื”ื›ื™ืœ ืงืฆื•ื•ืช ืžืจื•ื‘ื™ื ื•ืœื•ืœืื•ืช ืžืจื•ื‘ื•ืช, ืขื ืžืฉืงืœื™ื ืฉื•ื ื™ื (ื—ื™ื•ื‘ื™, ืฉืœื™ืœื™, ืืคื™ืœื• ืืคืก). ืื™ืŸ ื›ืืŸ ื”ื’ื‘ืœื•ืช.
  • ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ืงืฆื•ืช ืžืืคื™ื™ื ื™ื ืฉื•ื ื™ื ืœืงืฆื•ื•ืช - ืืš ืœืžื™ื“ืข ื ื•ืกืฃ ืขืœ ื›ืš, ืจืื” ืกืขื™ืฃ 4.

ืขื ื–ืืช, ื™ืฉ ืœื”ื•ื“ื•ืช ืฉ"ืจืฉื™ืžื”" ื–ื• ืื™ื ื” ืžืจืžื–ืช ืขืœ ื’ื™ืฉื” ืžื”ื™ืจื” ืœืงืฆื”. ื•ื›ืืŸ ื‘ื ืœื”ืฆื™ืœ ืžืขืจืš ื”ืกืžื™ื›ื•ืช ื”ืืกื•ืฆื™ืื˜ื™ื‘ื™ืช, ืฉื ื“ื•ืŸ ืœื”ืœืŸ.

3.2 ืžืขืจืš ืกืžื™ื›ื•ืช ืืกื•ืฆื™ืื˜ื™ื‘ื™ืช

ืœื›ืŸ, ืื ื”ื’ื™ืฉื” ืœืงืฆื” ืžืกื•ื™ื, ืžืฉืงืœื• ื•ืžืืคื™ื™ื ื™ื ืื—ืจื™ื ืงืจื™ื˜ื™ื™ื ืขื‘ื•ืจื ื•, ื•ื“ืจื™ืฉื•ืช ื”ื–ื™ื›ืจื•ืŸ ืื™ื ืŸ ืžืืคืฉืจื•ืช ืœื ื• ืœื”ืฉืชืžืฉ ื‘ืžื˜ืจื™ืฆืช ื”ืกืžื™ื›ื•ืช, ืื– ื‘ื•ืื• ื ื—ืฉื•ื‘ ื›ื™ืฆื“ ื ื•ื›ืœ ืœืฉื ื•ืช ืืช ื•ืงื˜ื•ืจ ื”ืกืžื™ื›ื•ืช ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื” ื–ื•. ืื–, ื”ืžืคืชื— ื”ื•ื ืงืฆื” ืฉืœ ื”ื’ืจืฃ, ืื•ืชื• ื ื™ืชืŸ ืœืฆื™ื™ืŸ ื›ื–ื•ื’ ืžืกื•ื“ืจ ืฉืœ ืžืกืคืจื™ื ืฉืœืžื™ื. ืื™ืš ื–ื” ื ืจืื”? ื–ื” ืœื ืžืคืชื— ื‘ืžืขืจืš ืืกื•ืฆื™ืื˜ื™ื‘ื™? ื•ืื ื›ืŸ, ืœืžื” ืื ื—ื ื• ืœื ืžื™ื™ืฉืžื™ื ืืช ื–ื”? ืชื ื• ืœื ื• ืžืขืจืš ืืกื•ืฆื™ืื˜ื™ื‘ื™ ืฉื‘ื• ื›ืœ ืžืคืชื— - ื–ื•ื’ ืžืกืคืจื™ื ืฉืœืžื™ื ืžืกื•ื“ืจ - ื™ืฉื•ื™ืš ืœืขืจืš - ืžืกืคืจ ืฉืœื ืื• ืžืกืคืจ ืžืžืฉื™ ื”ืžืฆื™ื™ืŸ ืืช ืžืฉืงืœ ื”ืงืฆื”. ื‘-C++, ืจืฆื•ื™ ืœื™ื™ืฉื ืžื‘ื ื” ื–ื” ืขืœ ืกืžืš ืžื™ื›ืœ std::map (std::map , int> ืื• std::map , double>), ืื• std::multimap ืื ืฆืคื•ื™ื™ื ืงืฆื•ื•ืช ืžืจื•ื‘ื™ื. ื•ื‘ื›ืŸ, ื™ืฉ ืœื ื• ืžื‘ื ื” ืœืื—ืกื•ืŸ ื’ืจืคื™ื ืฉืชื•ืคืก ืคื—ื•ืช ื–ื™ื›ืจื•ืŸ ืžืžื‘ื ื™ "ืžื˜ืจื™ืงืก", ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ื’ืจืคื™ื ืขื ืžืกืคืจ ืœื•ืœืื•ืช ื•ืงืฆื•ื•ืช, ื•ืืคื™ืœื• ืื™ืŸ ืœื• ื“ืจื™ืฉื•ืช ืžื—ืžื™ืจื•ืช ืœืื™-ืฉืœื™ืœื™ื•ืช ืฉืœ ืžืกืคืจื™ ืงื•ื“ืงื•ื“ (ืื ื™ ืœื ื™ื•ื“ืข ืžื™ ืฆืจื™ืš ืืช ื–ื”, ืื‘ืœ ื‘ื›ืœ ื–ืืช).

4. ืžื‘ื ื™ ื ืชื•ื ื™ื ืžืœืื™ื, ืื‘ืœ ืžืฉื”ื• ื—ืกืจ

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

ืื–, ืชื ื• ืœื ื• ื’ืจืฃ ืœื ืžืฉื•ืงืœืœ, ืฉืœื›ืœ ืงืฆื” ืฉืœื• ื™ืฉ ืฆื•ืจืš ืœืื—ืกืŸ, ืœืžืฉืœ, 2 ืชื›ื•ื ื•ืช ื ื•ืกืคื•ืช ื”ืžืฆื•ื™ื ื•ืช ื‘ืžืกืคืจื™ื ืฉืœืžื™ื. ื‘ืžืงืจื” ื–ื”, ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืืช ื•ืงื˜ื•ืจ ื”ืกืžื™ื›ื•ืช ืฉืœื• ื›ืงื‘ื•ืฆื” ืžืกื•ื“ืจืช ืœื ืฉืœ "ื–ื•ื’ื•ืช", ืืœื ืฉืœ "ืจื‘ื™ืขื™ื•ืช" ืฉืœ ืžืกืคืจื™ื ืฉืœืžื™ื (a[2i], a[2i+1], a[2i+2], a [2i+3]...), ื›ืืฉืจ a[2i+2] ื•-a[2i+3] ื™ืงื‘ืขื• ืืช ื”ืžืืคื™ื™ื ื™ื ืฉืœ ื”ืงืฆื” ื”ืžืชืื™ื. ืขื‘ื•ืจ ื’ืจืฃ ืขื ืžืฉืงืœื™ื ืฉืœืžื™ื ืฉืœ ืงืฆื•ื•ืช, ื”ืกื“ืจ ื‘ื“ืจืš ื›ืœืœ ื“ื•ืžื” (ื”ื”ื‘ื“ืœ ื”ื™ื—ื™ื“ ื™ื”ื™ื” ืฉื”ืชื›ื•ื ื•ืช ื™ืœื›ื• ืื—ืจื™ ืžืฉืงืœ ื”ืงืฆื” ื•ื™ืฆื•ื™ื ื• ืขืœ ื™ื“ื™ ื”ืืœืžื ื˜ื™ื a[2i+3] ื•-a[2i+4] , ื•ื”ืงืฆื” ืขืฆืžื• ื™ืฆื•ื™ืŸ ืœื 4, ืืœื 5 ืžืกืคืจื™ื ืžืกื•ื“ืจื™ื). ื•ืขื‘ื•ืจ ื’ืจืฃ ืขื ืžืฉืงืœื™ ืงืฆื” ืฉืื™ื ื ืฉืœืžื™ื, ื ื™ืชืŸ ืœื›ืชื•ื‘ ืืช ื”ืชื›ื•ื ื•ืช ื‘ืจื›ื™ื‘ ื”ืœื ืžืฉื•ืงืœืœ ืฉืœื•.

ื›ืืฉืจ ืžืฉืชืžืฉื™ื ื‘ืžืขืจืš ืกืžื™ื›ื•ืช ืืกื•ืฆื™ืื˜ื™ื‘ื™ืช ืขื‘ื•ืจ ื’ืจืคื™ื ืขื ืžืฉืงืœื™ ืงืฆื” ืฉืœืžื™ื, ื ื™ืชืŸ ืœืฆื™ื™ืŸ ื›ืขืจืš ืœื ืžืกืคืจ ื‘ื•ื“ื“, ืืœื ืžืขืจืš (ื•ืงื˜ื•ืจ) ืฉืœ ืžืกืคืจื™ื ื”ืžืฆื™ื™ื ื™ื, ื‘ื ื•ืกืฃ ืœืžืฉืงืœ ืฉืœ ืงืฆื”, ืืช ื›ืœ ืฉืืจ ื”ื”ื›ืจื—ื™ ืฉืœื•. ืžืืคื™ื™ื ื™ื. ื™ื—ื“ ืขื ื–ืืช, ืื™ ื ื•ื—ื•ืช ืœืžืงืจื” ืฉืœ ืžืฉืงืœื™ื ืฉืื™ื ื ืฉืœืžื™ื ื™ื”ื™ื” ื”ืฆื•ืจืš ืœืฆื™ื™ืŸ ืกื™ืžืŸ ืขื ืžืกืคืจ ื ืงื•ื“ื” ืฆืคื” (ื›ืŸ, ื–ื• ืื™ ื ื•ื—ื•ืช, ืื‘ืœ ืื ืื™ืŸ ื›ืœ ื›ืš ื”ืจื‘ื” ืกื™ืžื ื™ื ื›ืืœื”, ื•ืื ืœื. ืืœ ืชื’ื“ื™ืจ ืื•ืชื "ืžืกื•ื‘ื›ื™ื" ืžื“ื™ ื›ืคื•ืœ, ืื– ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื–ื” ื›ืœื•ื). ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉื‘-C++ ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืžืขืจื›ื™ ืกืžื™ื›ื•ืช ืืกื•ืฆื™ืื˜ื™ื‘ื™ื™ื ืžื•ืจื—ื‘ื™ื ื‘ืื•ืคืŸ ื”ื‘ื: std::map , std::vector> ืื• std::map , std::vector, ืฉื‘ื• ื”ืขืจืš ื”ืจืืฉื•ืŸ ื‘-"key-value-vector" ื™ื”ื™ื” ืžืฉืงืœ ื”ืงืฆื”, ื•ืœืื—ืจ ืžื›ืŸ ืžืžื•ืงืžื™ื ื”ื™ื™ืขื•ื“ื™ื ื”ืžืกืคืจื™ื™ื ืฉืœ ื”ืžืืคื™ื™ื ื™ื ืฉืœื•.

ืกืคืจื•ืช:

ืขืœ ื’ืจืคื™ื ื•ืืœื’ื•ืจื™ืชืžื™ื ื‘ืื•ืคืŸ ื›ืœืœื™:

1. ืงื•ืจืžืŸ, ืชื•ืžืืก ื”., ืœื™ื™ื–ืจืกื•ืŸ, ืฆ'ืืจืœืก ื”ืจืืฉื•ืŸ, ืจื™ื‘ืกื˜, ืจื•ื ืœื“ ืœ., ืกื˜ื™ื™ืŸ, ืงืœื™ืคื•ืจื“. ืืœื’ื•ืจื™ืชืžื™ื: ื‘ื ื™ื™ื” ื•ื ื™ืชื•ื—, ืžื”ื“ื•ืจื” 2: ื˜ืจื ืก. ืžืื ื’ืœื™ืช โ€“ M.: Williams Publishing House, 2011.
2. ื”ืจืจื™ ืคืจื ืง. ืชื•ืจืช ื”ื’ืจืคื™ื. ืž.: ืžื™ืจ, 1973.
ื“ื•"ื— ื”ืžื—ื‘ืจ ืขืœ ืื•ืชื ืžืขืจืš ื•ืงื˜ื•ืจ ื•ืืกื•ืฆื™ืื˜ื™ื‘ื™ ืฉืœ ืกืžื™ื›ื•ืช:
3. Chernoukhov S.A. ื•ืงื˜ื•ืจ ืกืžื™ื›ื•ืช ื•ืžืขืจืš ืกืžื™ื›ื•ืช ืืกื•ืฆื™ืื˜ื™ื‘ื™ืช ื›ื“ืจื›ื™ื ืœื™ื™ืฆื•ื’ ื•ืื—ืกื•ืŸ ื’ืจืคื™ื / SA Chernouhov. ื•ืงื˜ื•ืจ ืกืžื™ื›ื•ืช ื•ืžืคืช ืกืžื™ื›ื•ืช ื›ืžื‘ื ื™ ื ืชื•ื ื™ื ืœื™ื™ืฆื•ื’ ื’ืจืฃ // ืื•ืกืฃ ืžืืžืจื™ื ืฉืœ ื”ื›ื ืก ื”ื‘ื™ื ืœืื•ืžื™ ื”ืžื“ืขื™ ื•ื”ืžืขืฉื™ "ื‘ืขื™ื•ืช ื‘ื™ื™ืฉื•ื ื”ืชื•ืฆืื•ืช ืฉืœ ืคื™ืชื•ื—ื™ื ื—ื“ืฉื ื™ื™ื ื•ื“ืจื›ื™ื ืœืคืชื•ืจ ืื•ืชืŸ" (ืกืจืื˜ื•ื‘, 14.09.2019 ื‘ืกืคื˜ืžื‘ืจ 2019). โ€“ Sterlitamak: AMI, 65, p. 69-XNUMX
ืžืงื•ืจื•ืช ืžืงื•ื•ื ื™ื ืฉื™ืžื•ืฉื™ื™ื ื‘ื ื•ืฉื:
4. prog-cpp.ru/data-graph
5. ejuo.livejournal.com/4518.html

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”