ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° нахоТдСния мноТСств элСмСнтарных Ρ†ΠΈΠΊΠ»ΠΎΠ² Π³Ρ€Π°Ρ„Π° срСдствами языка Π‘++

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

НазванныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈ свои примСнСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… для транспортных ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… сСтСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ: ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠΉ транспортной сСти, Π³Π΄Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ — станции, связи — Π΄ΠΎΡ€ΠΎΠ³ΠΈ, таксомоторная ΡΠ΅Ρ‚ΡŒ: Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ — мСста стоянки Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, связи — ΠΏΡƒΡ‚ΠΈ подъСзда; ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° вСщСства ΠΏΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Ρ‚Ρ€ΡƒΠ± Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ назначСния ΠΈ Ρ‚. Π΄. На ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° нахоТдСния мноТСств элСмСнтарных Ρ†ΠΈΠΊΠ»ΠΎΠ² Π³Ρ€Π°Ρ„Π° срСдствами языка Π‘++ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ НСкоторыС свСдСния ΠΈΠ· Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² Бпособы прСдставлСния Π³Ρ€Π°Ρ„Π° Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ мноТСства элСмСнтарных Ρ†ΠΈΠΊΠ»ΠΎΠ² Π³Ρ€Π°Ρ„Π° О ΡΡ€Π΅Π΄Π΅ wxDev-C++

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² wxDev-C++

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ Π½Π°ΡΡ‚оящСС врСмя дискрСтная ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΡΠΌΠ΅ΠΆΠ½Ρ‹Π΅ с Π½Π΅ΠΉ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°ΡŽΡ‚ большоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ спСциалистов Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областСй Π½Π°ΡƒΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, являясь эффСктивным Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ соврСмСнных ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, связанных с Π΄ΠΈΡΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ОсобоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π°ΠΊΡ‚ичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΠΌΠ΅Π΅Ρ‚ тСория Π³Ρ€Π°Ρ„ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°ΡΡΡ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… схСм ΠΈ ΡΡ…Π΅ΠΌ управлСния, исслСдовании Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ² ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΡ… Ρ†Π΅ΠΏΠ΅ΠΉ, ΠΏΡ€ΠΈ систСмном Π°Π½Π°Π»ΠΈΠ·Π΅, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ производством, ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… сСтСй, Π² ΡΡ…СмотСхничСском ΠΈ ΠΊΠΎΠ½ΡΡ‚рукторско-топологичСском ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ Ρ‚. Π΄. ΠžΠ±ΡˆΠΈΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ тСория Π³Ρ€Π°Ρ„ΠΎΠ² Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ ΠΈ ΠΊΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠ΅: Π² Ρ‚СорСтичСском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π­Π’Πœ, Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, систСм логичСского управлСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ удСляСтся излоТСнию основ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² поиска элСмСнтарных Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π² Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„Π°Ρ….

НСкоторыС свСдСния ΠΈΠ· Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² Π’ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹Π³Ρ€Π°Ρ„Π°, Π° ΡΠ²ΡΠ·ΠΈ — ΠΊΠ°ΠΊ Π΄ΡƒΠ³ΠΈ, ΠΈΠ»ΠΈ Ρ€Ρ‘Π±Ρ€Π°. Π“Ρ€Π°Ρ„ ΠΈΠ»ΠΈ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„G (рис.1) — это упорядочСнная ΠΏΠ°Ρ€Π°G: = (V, E), для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия: V ΡΡ‚ΠΎ нСпустоС мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½, E ΡΡ‚ΠΎ мноТСство ΠΏΠ°Ρ€ (Π² ΡΠ»ΡƒΡ‡Π°Π΅ Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π° — нСупорядочСнных) Π²Π΅Ρ€ΡˆΠΈΠ½, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ€Ρ‘Π±Ρ€Π°ΠΌΠΈ.

Рисунок 1 НСориСнтированный Π³Ρ€Π°Ρ„ Π’Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ Ρ€Ρ‘Π±Ρ€Π° Π³Ρ€Π°Ρ„Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ элСмСнтами Π³Ρ€Π°Ρ„Π°, число Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Π³Ρ€Π°Ρ„Π΅ | V | — порядком, число Ρ€Ρ‘Π±Π΅Ρ€ | E | — Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π³Ρ€Π°Ρ„Π°.

Π’Π΅Ρ€ΡˆΠΈΠ½Ρ‹ u ΠΈ v Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ся ΠΊΠΎΠ½Ρ†Π΅Π²Ρ‹ΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ (ΠΈΠ»ΠΈ просто ΠΊΠΎΠ½Ρ†Π°ΠΌΠΈ) Ρ€Π΅Π±Ρ€Π° e = {u, v}. Π Π΅Π±Ρ€ΠΎ, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, соСдиняСт эти Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Π”Π²Π΅ ΠΊΠΎΠ½Ρ†Π΅Π²Ρ‹Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π±Ρ€Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ сосСдними.

Π”Π²Π° Ρ€Π΅Π±Ρ€Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ смСТными, Ссли ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ†Π΅Π²ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ.

Π”Π²Π° Ρ€Π΅Π±Ρ€Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ, Ссли мноТСства ΠΈΡ… ΠΊΠΎΠ½Ρ†Π΅Π²Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

Π Π΅Π±Ρ€ΠΎ называСтся ΠΏΠ΅Ρ‚Π»Ρ‘ΠΉ, Ссли Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ e = {v, v}.

ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ (сокращённо ΠΎΡ€Π³Ρ€Π°Ρ„) G (рис.2) — это упорядочСнная ΠΏΠ°Ρ€Π°G: = (V, A), для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия: V ΡΡ‚ΠΎ нСпустоС мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈΠ»ΠΈ ΡƒΠ·Π»ΠΎΠ², A ΡΡ‚ΠΎ мноТСство (упорядочСнных) ΠΏΠ°Ρ€ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄ΡƒΠ³Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Ρ‘Π±Ρ€Π°ΠΌΠΈ.

Рисунок 2 ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ Π”ΡƒΠ³Π° — это упорядочСнная ΠΏΠ°Ρ€Π° Π²Π΅Ρ€ΡˆΠΈΠ½ (v, w), Π³Π΄Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ v Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΠΌ, Π° w — ΠΊΠΎΠ½Ρ†ΠΎΠΌ Π΄ΡƒΠ³ΠΈ. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΡƒΠ³Π° Π²Π΅Π΄Ρ‘Ρ‚ ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ v ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ w.

ΠŸΡƒΡ‚Ρ‘ΠΌ (ΠΈΠ»ΠΈ Ρ†Π΅ΠΏΡŒΡŽ) Π² Π³Ρ€Π°Ρ„Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ каТдая Π²Π΅Ρ€ΡˆΠΈΠ½Π° (ΠΊΡ€ΠΎΠΌΠ΅ послСднСй) соСдинСна со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ€Π΅Π±Ρ€ΠΎΠΌ.

ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ Π² ΠΎΡ€Π³Ρ€Π°Ρ„Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½ vi, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС ΠΏΠ°Ρ€Ρ‹ (vi, vi + 1) ΡΠ²Π»ΡΡŽΡ‚ΡΡ (ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ) Ρ€Ρ‘Π±Ρ€Π°ΠΌΠΈ.

Π¦ΠΈΠΊΠ»ΠΎΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡƒΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСрвая ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. ΠŸΡ€ΠΈ этом Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΏΡƒΡ‚ΠΈ (ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ»Π°) Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ число ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ Ρ€Ρ‘Π±Π΅Ρ€. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ u ΠΈ v ΡΠ²Π»ΡΡŽΡ‚ся ΠΊΠΎΠ½Ρ†Π°ΠΌΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π΅Π±Ρ€Π°, Ρ‚ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (u, v, u) являСтся Ρ†ΠΈΠΊΠ»ΠΎΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… «Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹Ρ…» случаСв, вводят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ понятия.

ΠŸΡƒΡ‚ΡŒ (ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ») Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ простым, Ссли Ρ€Π΅Π±Ρ€Π° Π² Π½Ρ‘ΠΌ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ; элСмСнтарным, Ссли ΠΎΠ½ ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² Π½Ρ‘ΠΌ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ. НСслоТно Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, всякий ΠΏΡƒΡ‚ΡŒ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, содСрТит элСмСнтарный ΠΏΡƒΡ‚ΡŒ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ ΠΆΠ΅ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Всякий простой нСэлСмСнтарный ΠΏΡƒΡ‚ΡŒ содСрТит элСмСнтарный Ρ†ΠΈΠΊΠ». Всякий простой Ρ†ΠΈΠΊΠ», проходящий Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ (ΠΈΠ»ΠΈ Ρ€Π΅Π±Ρ€ΠΎ), содСрТит элСмСнтарный (ΠΏΠΎΠ΄-)Ρ†ΠΈΠΊΠ», проходящий Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρƒ ΠΆΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ (ΠΈΠ»ΠΈ Ρ€Π΅Π±Ρ€ΠΎ). ΠŸΠ΅Ρ‚Π»Ρ — элСмСнтарный Ρ†ΠΈΠΊΠ».

Π“Ρ€Π°Ρ„ с ΠΏΠ΅Ρ‚лями ΠΈ ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ (Π΄ΡƒΠ³Π°ΠΌΠΈ) называСтся псСвдографом. Π“Ρ€Π°Ρ„ с ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ (Π΄ΡƒΠ³Π°ΠΌΠΈ) ΠΈ Π±Π΅Π· ΠΏΠ΅Ρ‚Π΅Π»ΡŒ называСтся ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ³Ρ€Π°Ρ„ΠΎΠΌ.

Π“Ρ€Π°Ρ„, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠΉ ΠΏΠ΅Ρ‚Π΅Π»ΡŒ ΠΈ ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… Ρ€Π΅Π±Π΅Ρ€, называСтся простым Π³Ρ€Π°Ρ„ΠΎΠΌ.

Π”Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° xi ΠΈ Ρ…j Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ смСТными, Ссли сущСствуСт ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π΅ ΠΈΡ… Ρ€Π΅Π±Ρ€ΠΎ (Π΄ΡƒΠ³Π°). Π”Π²Π° Ρ€Π΅Π±Ρ€Π° (Π΄ΡƒΠ³ΠΈ) смСТны, Ссли ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π° называСтся нСзависимым, Ссли Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Π²Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ этого мноТСства Π½Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Ρ€Π΅Π±Ρ€ΠΎΠΌ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΈΠ½Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ этим мноТСством ΠΏΠΎΠ΄Π³Ρ€Π°Ρ„ состоит ΠΈΠ· ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½. Иногда Ρ‚Π°ΠΊΠΆΠ΅ говорят, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ Π³Ρ€Π°Ρ„Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ ΠΈΠ· Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ³ΠΎ мноТСства.

Бпособы прСдставлСния Π³Ρ€Π°Ρ„Π° Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности. Π’Π°Π±Π»ΠΈΡ†Π°, Π³Π΄Π΅ ΠΊΠ°ΠΊ столбцы, Ρ‚Π°ΠΊ ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Π³Ρ€Π°Ρ„Π°. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйкС этой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ записываСтся число, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ связи ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹-строки ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅-столбцу (Π»ΠΈΠ±ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚).

НСдостатком ΡΠ²Π»ΡΡŽΡ‚ΡΡ трСбования ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ, прямо ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρƒ количСства Π²Π΅Ρ€ΡˆΠΈΠ½, Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив; ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° с ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΠΌΠΈ; нСявноС Π·Π°Π΄Π°Π½ΠΈΠ΅ (ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ).

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° инцидСнтности. КаТдая строка соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ Π³Ρ€Π°Ρ„Π°, Π° ΡΡ‚ΠΎΠ»Π±Ρ†Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ связям Π³Ρ€Π°Ρ„Π°. Π’ ΡΡ‡Π΅ΠΉΠΊΡƒ Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ i-ΠΎΠΉ строки с j-ΠΌ столбцом ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ записываСтся: 1 Π’ случаС, Ссли связь j «Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚» ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ i,?1,Ссли связь «Π²Ρ…ΠΎΠ΄ΠΈΡ‚» Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, 0 Π²ΠΎ Π²ΡΠ΅Ρ… ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ссли связь являСтся ΠΏΠ΅Ρ‚Π»Ρ‘ΠΉ ΠΈΠ»ΠΈ связь Π½Π΅ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π΅) Π”Π°Π½Π½Ρ‹ΠΉ способ являСтся самым Ρ‘ΠΌΠΊΠΈΠΌ (Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»Π΅Π½ | E | | V |) для хранСния, Π½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² Π³Ρ€Π°Ρ„Π΅.

Бписок Ρ€Ρ‘Π±Π΅Ρ€ — это Ρ‚ΠΈΠΏ прСдставлСния Π³Ρ€Π°Ρ„Π° Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Ρ€Π΅Π±Ρ€ΠΎ прСдставляСтся двумя числами — Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½ этого Ρ€Π΅Π±Ρ€Π°. Бписок Ρ€Ρ‘Π±Π΅Ρ€ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π°Ρ… ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ смСТности.

Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ мноТСства элСмСнтарных Ρ†ΠΈΠΊΠ»ΠΎΠ² Π³Ρ€Π°Ρ„Π° Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ (Π°Π½Π³Π». Depth-firstsearch, DFS) — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±Ρ…ΠΎΠ΄Π° Π³Ρ€Π°Ρ„Π°. Алгоритм поиска описываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½Π΅ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ всС Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ смСТныС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ поиск для Π½ΠΈΡ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… поиска ΠΎΠ΄Π½ΠΎΠΈ двусвязных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, топологичСской сортировки.

ΠŸΡƒΡΡ‚ΡŒ Π·Π°Π΄Π°Π½ Π³Ρ€Π°Ρ„G = (V, E), Π³Π΄Π΅ V — мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½ Π³Ρ€Π°Ρ„Π°, E — мноТСство Ρ€Π΅Π±Π΅Ρ€ Π³Ρ€Π°Ρ„Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° ΠΎΠΊΡ€Π°ΡˆΠ΅Π½Ρ‹ Π² Π±Π΅Π»Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

Из ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° всСх Π±Π΅Π»Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π»ΡŽΠ±ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Π΅Ρ‘ v1.

ВыполняСм для Π½Π΅Ρ‘ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ DFS (v1).

ΠŸΠ΅Ρ€Π΅ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Π΅Ρ‘ Π² Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ шаги 1−3 Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° мноТСство Π±Π΅Π»Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½ Π½Π΅ ΠΏΡƒΡΡ‚ΠΎ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° DFS (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ — Π²Π΅Ρ€ΡˆΠΈΠ½Π°)

ΠŸΠ΅Ρ€Π΅ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ u Π² ΡΠ΅Ρ€Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚.

Для всякой Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ w, смСТной с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ u, выполняСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° шага:

Если Π²Π΅Ρ€ΡˆΠΈΠ½Π° w ΠΎΠΊΡ€Π°ΡˆΠ΅Π½Π° Π² Π±Π΅Π»Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚, выполняСм ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ DFS (w).

ΠžΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ w Π² Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚.

Π”Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π² ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π° Π² Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ я ΠΎΠΏΠΈΡΠ°Π», ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π» ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

О ΡΡ€Π΅Π΄Π΅ wxDev-C++

Π― Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π² ΡΡ€Π΅Π΄Π΅ wxDev-Π‘++.

wxDev-C++ являСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Dev-C++, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ содСрТит Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ Ρ„ΠΎΡ€ΠΌ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ wxWidgets. WxDev-C++ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС свойства Dev-C++, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠ²Π΅ΠΉΡˆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ wxWidgets Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρƒ Ρ„ΠΎΡ€ΠΌ для срСды быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .

Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ wxDev-C++ - это Dev-C++. Dev-C++ — свободная интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для языков программирования C/C++. Π’ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΠ² Π²Ρ…ΠΎΠ΄ΠΈΡ‚ компилятор MinGW. Π‘Π°ΠΌ Dev-C++ написан Π½Π° Delphi. РаспространяСтся согласно GPL.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ поддСрТиваСтся SourceForge. ΠžΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Колин Лаплас, компания Bloodshed Software.

Одно врСмя Π±Ρ‹Π» доступСн Linux-ΠΏΠΎΡ€Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° Π½Π°ΡΡ‚оящСС врСмя Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Windows-вСрсия.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² wxDev-C++

Π§Ρ‚ΠΎ Π±Ρ‹ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² wxDev-C++ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ срСду.

Π”Π°Π»Π΅Π΅ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» (рис 6).

Рисунок 6 мСню wxDev-C++

Π€Π°ΠΉΠ»>Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ>ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ (рис7)

Рисунок 7 Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² wxDev-C++

Π”Π°Π»Π΅Π΅ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (рис8).

Рисунок 8 созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π’ ΠΌΠΎΠ΅ΠΌ случаС Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° — Console Application Π½Π°Π·Π²Π°Π½ΠΈΠ΅ h1.

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ располоТСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π’ ΠΌΠΎΠ΅ΠΌ случаС (рис9) это G: ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π΄ΠΈΡ. ΠΌΠ°Ρ‚

Рисунок 9 располоТСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° И Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ. Π”Π°Π»Π΅Π΅ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпонованный Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (рис10) ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рисунок 10 Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° wxDev-C++

Π‘Π°ΠΌ ΠΊΠΎΠ΄ ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А.

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡ‰Π΅Ρ‚ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ простыС Ρ†ΠΈΠΊΠ»Ρ‹. Она ΠΎΡ‡Π΅Π½ΡŒ проста Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ. Запустив, Π΅Π΅ Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ это сами.

Π˜Ρ‚Π°ΠΊ, запустили, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просит нас ввСсти количСство Ρ€Π΅Π±Π΅Ρ€ Π² Π³Ρ€Π°Ρ„Π΅ (рис3). Π’Π²ΠΎΠ΄ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 4.

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти Ρ€Π΅Π±Ρ€Π°, ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅Π±Ρ€Π° (рис4).

Рисунок 3 ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΠΌ послС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π³Ρ€Π°Ρ„ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Рисунок 4 Π²Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π±Ρ€Π° Π³Ρ€Π°Ρ„Π° Π”Π°Π»Π΅Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ — ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ смСТности ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½ Π² ΡΡ‚ΠΎΠΌ ΠΆΠ΅ ΠΎΠΊΠ½Π΅ (рис5).

Рисунок 5 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ состояниС ΠΈ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ развития Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΊΠ°ΠΊ основного инструмСнта ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΎΠ²Ρ‹, Ρ‡Ρ‚ΠΎ наряду с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ свойства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‰Π΅ΠΌΡƒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π’ ΡΡ‚ΠΎΡ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ появился Π±ΠΎΠ»Π΅Π΅ качСствСнный интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Появились структуры графичСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. БлСдствиСм стало Π±ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Visual C++, Visual BASIC ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅ появились Π½ΠΎΠ²Ρ‹Π΅ языки программирования ADA, OCCAM.([3]) И Π΅ΡΠ»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅ большой ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ пользовались простыС Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ‚ΠΎ Π² Π½Π°ΡΡ‚оящСС врСмя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠ°ΠΊ Π΄Π΅Ρ€Π΅Π²ΡŒΡ, Π³Ρ€Π°Ρ„Ρ‹, списки, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ — ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ всС большСС распространСниС.

НазванныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈ свои примСнСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… для транспортных ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… сСтСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ: ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠΉ транспортной сСти, Π³Π΄Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ — станции, связи — Π΄ΠΎΡ€ΠΎΠ³ΠΈ, таксомоторная ΡΠ΅Ρ‚ΡŒ: Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ — мСста стоянки Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, связи — ΠΏΡƒΡ‚ΠΈ подъСзда; ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° вСщСства ΠΏΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Ρ‚Ρ€ΡƒΠ± Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ назначСния ΠΈ Ρ‚. Π΄. На ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² Π³Ρ€Π°Ρ„Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π΅Ρ€Π΅Π²Π° наимСньшСй стоимости, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ мСсту назначСния (Π²Π΅Ρ€ΡˆΠΈΠ½Π΅).

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΈΡ… ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ области ΠΆΠΈΠ·Π½Π΅Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ…. И Π³Ρ€Π°Ρ„Ρ‹, являясь ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ‡Π°ΡΡ‚Π΅ΠΉ этих структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π³Ρ€Π°Ρ„Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠΎΡ‚нях Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

1.Π‘ΡƒΠ΄ΠΎΠΏΠ»Π°Ρ‚ΠΎΠ² Π‘. Π’. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ Ρ‚Сория Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²: ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ / Π‘. Π’. Π‘ΡƒΠ΄ΠΎΠΏΠ»Π°Ρ‚ΠΎΠ², Π•. Π’. ΠžΠ²Ρ‡ΠΈΠ½Π½ΠΈΠΊΠΎΠ²Π°. М.: ИНЀРА-М, 2004. — 224 с.

2. Иванов Π‘. Н. ДискрСтная ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Алгоритмы ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ / Π‘. Н. Иванов. М.: Лаборатория Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ, 2003. — 288 с.

3. ΠšΡ€ΠΈΡΡ‚ΠΎΡ„ΠΈΠ΅Ρ П. ВСория Π³Ρ€Π°Ρ„ΠΎΠ². М.: ИНЀРА-М, 2004. — 328 с.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

//Π”Π°Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„Π°. Найти мноТСство элСмСнтарных Ρ†ΠΈΠΊΠ»ΠΎΠ²

//Π³Ρ€Π°Ρ„Π° (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ)

#include

#include

#include

#include

#include

#include

#include

using namespace std;

/*создаСм Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Π·Ρ‹Π²Π°Π΅ΠΌ */

typedef string T_vertice;

typedef set T_vertices_set; //set — мноТСство Π²Π΅Ρ€ΡˆΠΈΠ½

typedef vector T_vertices;

typedef T_vertices_set T_edge;

typedef set T_edges;

typedef map T_row;

typedef map T_matr;

typedef map T_vertice_time;

/*функция Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† смСТности*/

void print_matr (T_matr& matr, const T_vertices& vertices)

{

for (T_vertices:const_iterator vertice_row_it = vertices. begin ();

vertice_row_it ≠ vertices. end (); ++vertice_row_it)

{

for (T_vertices:const_iterator vertice_col_it = vertices. begin ();

vertice_col_it ≠ vertices. end (); ++vertice_col_it)

{

cout<< 't'

<< matr[*vertice_row_it][*vertice_col_it];

}

std:cout <

<

<

}

}

/*Π²Π²ΠΎΠ΄ Π²Π΅Ρ€ΡˆΠΈΠ½*/

T_vertices get_vertices (const T_edges& edges)

{

T_vertices_set vertices_set;

for (T_edges:const_iterator edge_it = edges. begin (); edge_it ≠ edges. end ();

++ edge_it)

{

vertices_set.insert (*edge_it->begin ());

vertices_set.insert (*edge_it->rbegin ());

}

return T_vertices (vertices_set.begin (), vertices_set.end ());

}

/*ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности*/

T_matr get_adjacency_matr (const T_edges& edges)

{

T_matr adjacency_matr;

for (T_edges:const_iterator edge_it = edges. begin (); edge_it ≠ edges. end ();

++ edge_it)

{

T_vertice v1 = *edge_it->begin ();

T_vertice v2 = *edge_it->rbegin ();

adjacency_matr[v1][v2] = adjacency_matr[v2][v1] = true;

}

return adjacency_matr;

}

/*элСмСнтарныС Ρ†ΠΈΠΊΠ»Ρ‹*/

void print_cycles

(

const T_vertices vertices,

T_matr& adjacency_matr,

T_vertices& spanning_tree,

T_vertice_time& vertice_time,

int& time,

T_vertice vertice_U

)

{

spanning_tree.push_back (vertice_U);

vertice_time[vertice_U] = ++time;

for (T_vertices:const_iterator vertice_V_it = vertices. begin ();

vertice_V_it ≠ vertices. end (); ++vertice_V_it)

{

if (adjacency_matr[vertice_U][*vertice_V_it])

{

if (vertice_time[*vertice_V_it] == 0)

{

print_cycles

(

vertices,

adjacency_matr,

spanning_tree,

vertice_time,

time,

*vertice_V_it

);

}

else

{

if (*vertice_V_it ≠ *(spanning_tree.rbegin () + 1)

&& vertice_time[*vertice_V_it] < vertice_time[vertice_U])

{

std:cout << «Elementarnii tsikl: «

<< std: endl;

for (T_vertices:const_iterator

tree_vertice_it

= std: find (spanning_tree.begin (), spanning_tree.end (), *vertice_V_it);

tree_vertice_it ≠ spanning_tree.end (); ++tree_vertice_it)

{

std:cout << *tree_vertice_it

<< std: endl;

}

std:cout << std: endl;

}

}

}

}

}

int main ()

{

setlocale (0," Rus");

locale:global (locale (««));

int n = 0;

do

{

cout << «Vvedite kolichestvo reber neorintirovannogo grafa:» ;

cin >> n;

}while (n <= 0);

cout << «Vvedite rebra neorintirovannogo grafa»

" (vershini v rebre ne dolzhni sovpadat t.e. bez petel):" ;

T_edges edges;

do

{

cout << endl

<< «rebro #»

<< edges. size () + 1

<< «:»

<< endl

<< «t-> «;

T_vertice v1;

cin >> v1;

T_edge edge_cur;

edge_cur.insert (v1);

T_vertice v2;

cout << «t-> «;

cin >> v2;

edge_cur.insert (v2);

if (edge_cur.size () == 2)

{

edges.insert (edge_cur);

}

}while (static_cast (edges.size ()) < n);

T_vertices vertices = get_vertices (edges);

T_matr adjacency_matr = get_adjacency_matr (edges);

cout << «Matritsa smezhnosti grafa:»

<< std: endl;

print_matr (adjacency_matr, vertices);

T_vertices spanning_tree;

T_vertice_time vertice_time;

int time = 0;

print_cycles

(

vertices,

adjacency_matr,

spanning_tree,

vertice_time,

time,

vertices.front ()

);

system («PAUSE»);

}

www.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ