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

рдпрджрд┐ рд╣рдо рдЖрдХреГрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ BFS рдХреЛ рдЙрд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдЖрдПрдЧреА: рд╢реАрд░реНрд╖ 2 рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХреНрд░рд┐рдпрд╛ 1 рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреА рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд░реНрдЯреЗрдХреНрд╕ 2 рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреВрд░реА рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред рддреНрд░реБрдЯрд┐ рдЗрд╕рд▓рд┐рдП рд╣реБрдИ рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓ рдмреАрдПрдлрдПрд╕ рдЕрдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдмрдврд╝рддреА рджреВрд░реА рдХреЗ рдХреНрд░рдо рдореЗрдВ рдХреЛрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдмрдврд╝рддреА рджреВрд░реА рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрди рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рднрд╛рд░ 0 рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХрддрд╛рд░ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ (рдФрд░ рдЗрд╕ рддрд░рд╣ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбреЗрдХ)ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рдл рдХреЛ рд╡реЗрдХреНрдЯрд░ <рд╡реЗрдХреНрдЯрд░ <рдЬреЛрдбрд╝реА <int, int >>> рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХрд┐рдирд╛рд░реЛрдВ [v] рдХрд┐рдирд╛рд░реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬреЛ рд╡рд░реНрдЯреЗрдХреНрд╕ v рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдирд╛рд░реЗ рдХреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЕрдВрддрд┐рдо рд╢реАрд░реНрд╖ рдФрд░ рд╡рдЬрди рдХреА рд╕рдВрдЦреНрдпрд╛ред
рд╡рд░реНрдЯрд┐рд╕ рдХреА рджреВрд░реА рд╕рджрд┐рд╢ <int> d рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╢реБрд░реВ рдореЗрдВ рдЗрд╕ рдПрд░реЗ рдХреЗ рд╕рднреА рддрддреНрд╡ рдРрд╕реЗ рдирдВрдмрд░реНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рднреА рд╡рд░реНрдЯрд┐рдХрд▓ рд╕реЗ рджреВрд░реА рд╕реЗ рдмрдбрд╝реЗ рдорд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛
рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдирд╛рд░реЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ O (V + E) рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдбреЗрдХ рдХреЛ рджреЛ рдмрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рд╣реЗ (рд╡реА) рд╣реИред