рдЪрдХреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЧреНрд░рд╛рдл рдХреА "рд╕рд╛рдордпрд┐рдХ" рдЫрдБрдЯрд╛рдИ

рд▓реЗрдЦ рдХрд╛ рдкреВрд░рд╛ рд╢реАрд░реНрд╖рдХ O(|V| + |e| log |e|) рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдЪрдХреНрд░ рдореЗрдВ рдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде "рд╕рддрдд" рд╕рд╛рдордпрд┐рдХ "рдЫрдБрдЯрдиреА рд╡рд╛рд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ O(|V| + |e| log |e|) рдпрд╣ рдУрд╡рд░рдХрд┐рд▓ рдХреНрдпрд╛ рд╣реИред

рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░: рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ, рдЧрдгрд┐рддрдЬреНрдЮ рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдЧрд▓рдд рднрд╛рд╖рд╛ рдЙрди рдЬрдЧрд╣реЛрдВ рдкрд░ рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд┐рдХ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рд░


рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реВрддреНрд░реАрдХрд░рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдореИрдВ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЪрдХреНрд░реАрдп рдЧреНрд░рд╛рдл рдХреЗ рдХреЛрдиреЗ рдХрд╛ рдХреНрд░рдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдиреЗ рд╕реЗ рд╡рд╣ рдзрд╛рд░ рдирд┐рдХрд▓рддреА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╢реАрд░реНрд╖ рд╕реЗ рдЖрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдзрд╛рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИред рдпрд╣рд╛рдВ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ: рдПрдХ рдЧреНрд░рд╛рдл рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдРрд╕реЗ рдЖрджреЗрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдПрд╕рд╛рдЗрдХреНрд▓рд┐рдХ рдЧреНрд░рд╛рдл рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдЧрдгрд┐рддрдЬреНрдЮреЛрдВ рдХреЛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрднреА-рдХрднреА рдирд┐рдпрддрддреНрд╡рд╡рд╛рдж рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ "рдореИрдВ рдорд╛рдлреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЖрдк рдпрд╣рд╛рдВ рдПрдХ рдЪрдХреНрд░ рд╣реИ, рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред"

рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: рдПрдХ рдЬреЛрдбрд╝реА рдХреЛрдиреЗ, рд╡рд╣ рдХреНрд░рдо рдЬрд┐рд╕рдХреЗ рдмреАрдЪ рдЧреНрд░рд╛рдл рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕ рдХреНрд░рдо рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдпреЗ рдХреЛрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдкрд╣реБрдВрдЪреЗред рдирддреАрдЬрддрди, рдмрд╛рд░-рдмрд╛рд░ рдЫрдВрдЯрдиреА рдХреНрд░рдо рдХреЗ рдХреНрд░рдо рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреАред

рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рдХрдореА рдХреЗ рд╕рд╛рде , рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ, рдЯреНрдпреВрд░рд┐рдВрдЧ рдорд╢реАрди рдФрд░ рдореЗрдореЛрд░реА (рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдХ) рд╕реАрдорд┐рдд рд╣реИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛рдлреА рдХрдордЬреЛрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд▓рд╛рдЧреВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рдкреБрдирд░рд╛рд╡реГрддреНрдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрдорддреМрд░ рдкрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рд╣реИрдВред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЧреНрд░рд╛рдл рдореЗрдВ рдЪрдХреНрд░ рд╣реЛрдиреЗ рдкрд░ рдореИрдВ "рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓" рдХреЛ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реВрдВред рдпрд╣ рд▓рдВрдмреЛрдВ рдХрд╛ рдХреНрд░рдо рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪрдХреНрд░ рдХреЛ рдПрдХ рд╢реАрд░реНрд╖ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЪрдХреНрд░ рдХреЗ рдХреЛрдиреЗ рдХреЛ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореВрд▓ рдХреНрд░рдо рдореЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдФрд░ рдЕрдм рдЗрд╕ рд╕рд╛рд░реЗ рдХрдЪрд░реЗ рдХреЗ рд╕рд╛рде рд╣рдо рдЙрддрд╛рд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ ред рдкреЛрд╕реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрдВрдЧрд┐рдд рд╕рдордп рдФрд░ рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдореИрдВ рдпрд╣ рд╕рдм рдХрд░реВрдБрдЧрд╛ред

рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ


рдпрджрд┐ рдЖрдк рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ ( рдХрд╣рди рдПрд▓реНрдЧреЛрд░рд┐рдердо , рдЧрд╣рди рдЦреЛрдЬ ) рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рднреА, рдпрджрд┐ рдХреЛрдИ рдЪрдХреНрд░ рд╣реИ, рддреЛ "рдореИрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рдФрд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЛред

рдЗрд╕рд▓рд┐рдП, рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рд╛рде рджреВрд╕рд░реА рддрд░рдл рдЬрд╛рдиреЗ рджреЗрдВ, рдЬреЛ рдЪрдХреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬреЗрдВред рдЧреНрд░рд╛рдл рдореЗрдВ рдЪрдХреНрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмреАрдЪ, рдЯреЗрд░рд┐рдпрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЯрд┐рдкреНрдкрдгреА рд╣реИ рдХрд┐, рдПрдХ рдЙрдк-рдЙрддреНрдкрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЧреНрд░рд╛рдл рдХреЗ рдЙрд▓рдЯреЗ рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ:
рдЬрдмрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдШрдЯрдХ рдХреЗ рднреАрддрд░ рдиреЛрдбреНрд╕ рдХреЗ рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреА рдПрдХ рдЙрдкрдпреЛрдЧреА рд╕рдВрдкрддреНрддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рднреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдШрдЯрдХ рдХреА рдкрд╣рдЪрд╛рди рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕рд▓рд┐рдП, рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдШрдЯрдХреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ рд╡рд╣ рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧрдард┐рдд рдбреАрдПрдЬреА рдХреЗ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЧрдарди рдХрд░рддрд╛ рд╣реИ ред
рд╕рдЪ рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдЖрдВрджреЛрд▓рди рд╣реИред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдПрдХ рдХрд░реАрдмреА рдкрдврд╝рдиреЗ рд╕реЗ рд▓реЗрдЦ рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдХреЙрдорд░реЗрдб рдбреЗрд╡рд┐рдб рдкрд┐рдпрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░рд┐рдХреНрд╖-рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо , рдЬрд┐рд╕рдореЗрдВ рди рдХреЗрд╡рд▓ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ, рдпрд╣ рднреА рдХреНрд▓рд╛рд╕рд┐рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдореГрддрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдЯрд╛рд░рдЬрди рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдоред рдмреЛрдирд╕ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ ред рд▓реЗрдирд╛ рд╣реА рдЪрд╛рд╣рд┐рдП!

рдкрд┐рдпрд░реНрд╕ рдХреЗ рд▓реЗрдЦ рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рдердо PEA_FIND_SCC3 (V, E)


рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдирдкреБрдЯ рдкрд░ рдХреЛрдиреЗ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдФрд░ (рдкрд┐рдпрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж) рдордЬрдмреВрдд рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЗ рдШрдЯрдХ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдпрд╣ рд╢реАрд░реНрд╖ рд╣реИред рдЕрдЧрд▓рд╛ рдХрджрдо рдЙрдирдХреЗ рдШрдЯрдХ рдХреА рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рдВрдмрд╡рдд рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рд╣реИред рдРрд╕реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ, рдЗрд╕реЗ рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ O(n) рд╕рдордп рдореЗрдВ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдвреЗрд░ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдкрд░реАрдд рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рджреЗрдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреИрд░рд┐рдпрди рд╕реЗ рдмрд╛рд╣рд░ рдЖ рд░рд╣рд╛ рд╣реИ - рдлрд┐рд░ рдЧреНрд░рд╛рдл рдХреА рдкрдбрд╝реЛрд╕реА рд╢рд╛рдЦрд╛рдПрдВ (рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдСрд░реНрдбрд░ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдЧреА, рдлрд┐рд░ рдЧреНрд░рд╛рдл рдХреЗ рдЯреБрдХрдбрд╝реЗ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдЖрдкрд╕ рдореЗрдВ рдХреЛрдИ рд╕рдВрдмрдВрдз рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд▓реНрдЯреЗ рдХреНрд░рдо рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ...

рдЬрд╡рд╛рдм рд╣реИ


рддреЛ рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди:

  1. рд╣рдо рдореВрд▓ рд╕реВрдЪреА рдХреЗ рдХреЛрдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ред O(|V|)
  2. рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдХрд┐рдирд╛рд░реЗ рдЬрд╛рддрд╛ рд╣реИред O(|e| log |e|)
  3. рдкрд┐рдпрд░реНрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдордЬрдмреВрдд рдХрдиреЗрдХреНрд╢рди рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдвреВрдВрдврддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдЦреНрдпрд╛ рджреЗрддреЗ рд╣реИрдВред O(|V|)
  4. рдЧрд┐рдирддреА рдХрд░рдХреЗ рдЫрдВрдЯрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рджреГрдврд╝рддрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдШрдЯрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдиреЗ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП рдереЗред O(|V|)

GitHub рдХреЛрдб, рдЬрд╛рд╡рд╛, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди ред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЫрдВрдЯрд╛рдИ рдХреА рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд┐рдпрд░реНрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рдХреЛрдиреЗ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ ???


рдФрд░ рдЕрдм рдкреГрд╖реНрдарднреВрдорд┐, рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (.so) рдХреЛ рд▓реЛрдб / рдЕрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, glibc рдХреЛ рдпрд╣ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рд╕реНрдерд┐рд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЖрд░рдореНрдн рдХрд░рдирд╛ рд╣реИред рдЪрд░ рдПрдХ рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕рдм рдмрд╣реБрдд рдЧреНрд░рд╛рдл рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЪрдХреНрд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдмрд╛рд░, O(n^2) рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдмрд▓реНрдХрд┐ рдЙрдк-рдЕрдкрдирд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рдерд╛ред рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, 2012 рддрдХ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ рдХрд┐ рдХреЛрдб рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЧрд▓рдд рдерд╛ред

рд░реЗрдбрд╣реИрдЯ рдХреЗ рдХрдареЛрд░ рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реЛрдЪрд╛, рд╕реЛрдЪрд╛ рдФрд░ рдКрдкрд░ рд╕реЗ рдХреБрдЫ рдФрд░ рдЪрдХреНрд░реЛрдВ рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреА рдорд░рдореНрдордд рдХреА рдЧрдИ, рд▓реЗрдХрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо O(n^3) рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЧрдпрд╛ рдФрд░ рдХреБрдЫ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдХрдИ рджрд╕рд┐рдпреЛрдВ рд╕реЗрдХрдВрдб рд▓рдЧрдиреЗ рд▓рдЧреЗ, рдЬреЛ 2013 рдореЗрдВ рдПрдХ рдмрдЧ рдерд╛ред рд╕рд╛рде рд╣реА, рдмрдЧ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬрд┐рд╕рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо O(n^3) рднреА рдЧрд▓рдд O(n^3) ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЯреЗрд░рд┐рдпрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдкреИрдЪ рдХреЛ рдХрднреА рднреА рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдФрд░ рд╕рдордп рдмреАрдд рдЧрдпрд╛, glibc рдирд┐рд░реНрджрдпрддрд╛ рд╕реЗ рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛ рдФрд░ 2015 рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рдкреНрд░рдпрд╛рд╕ рд╣реБрдЖ ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрд╕рдлрд▓, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ O(n^2) рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЧреНрд░рд╛рдл рдХреА рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдХреЗ рдмреАрдЪ рдХреНрд░рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЖрдЬ 2019 рд╣реИ, рдЧреНрд▓рд┐рдм рдЕрднреА рднреА рдзреАрдорд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЕрдВрдд рддрдХ рд▓рд╛рдКрдВрдЧрд╛, 100% рд╕реЗ рдХрд╛рдлреА рдХрдо рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдмрдврд╝ рдЧрдпрд╛ рд╣реИ рдХрд┐ GNU рдХреЛрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ рдХреЛрдб, рдХреНрд░реЗрдЬрд╝реА рдЯреЗрд╕реНрдЯ рд░рдирд░ ("рдпрджрд┐ рдЖрдк рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд .out рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдПрдВ"), IDE рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛, C рдореЗрдВ рдЪреАрдЬреЗрдВ рд╣реЛ рд░рд╣реА рд╣реИрдВред рдФрд░ рдЕрдкрдиреЗ рдкреИрдЪ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд▓рд┐рдмрдХ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛, рдареАрдХ рд╕реЗ рдкреИрдЪ рдЬрд╛рд░реА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╢реИрддрд╛рди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдФрд░ рдХреНрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рдХрдо рд╕реЗ рдХрдо рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

Source: https://habr.com/ru/post/hi451208/


All Articles