рдЧреНрд░рд╛рдлрд╝ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ: рдореМрдЬреВрджрд╛ рдФрд░ рджреЛ "рд▓рдЧрднрдЧ рдирдП" рдХреА рд╕рдореАрдХреНрд╖рд╛

рдирдорд╕реНрдХрд╛рд░.

рдЗрд╕ рдиреЛрдЯ рдореЗрдВ, рдореИрдВрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ рдореИрдВ рдХреБрдЫ рдФрд░ рдРрд╕реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдХрд┐рд╕реА рддрд░рд╣ рдореЗрд░реЗ рд▓рд┐рдП "рдХреНрд░рд┐рд╕реНрдЯрд▓реАрдХреГрдд" рд╣реБрдИрдВред

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

рддреЛ рдЪрд▓рддреЗ рд╣реИрдВред "рдЧреНрд░рд╛рдл рднрдВрдбрд╛рд░рдг" рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ?

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. рдЖрд╕рдиреНрди рд╡реЗрдХреНрдЯрд░ рдФрд░ рд╕рд╣рдпреЛрдЧреА рдЖрд╕рдиреНрди рд╕рд░рдгреА

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

3.1 рдЖрд╕рдиреНрдирддрд╛ рд╡реЗрдХреНрдЯрд░

рдХреЗрд╕ (рдП1): рдЕрднрд╛рд░рд┐рдд рдЧреНрд░рд╛рдл

рд╣рдо рдПрдХ рдЕрднрд╛рд░рд┐рдд рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рдиреНрдирддрд╛ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреА рд╕рдо рд╕рдВрдЦреНрдпрд╛ (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 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрд╕рдиреНрди рд╡реЗрдХреНрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд╛рдо рд╣реИред

рдХреЗрд╕ (рдП2): рдЕрднрд╛рд░рд┐рдд рдЧреНрд░рд╛рдл, рдХрд┐рдирд╛рд░реЗ рдХрд╛ рднрд╛рд░ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИ

рдХреЗрд╕ (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 , рдбрдмрд▓>), рдпрд╛ 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::рд╡реЗрдХреНрдЯрд░, рдЬрд┐рд╕рдореЗрдВ "рдХреА-рд╡реИрд▓реНрдпреВ-рд╡реЗрдХреНрдЯрд░" рдореЗрдВ рдкрд╣рд▓рд╛ рдорд╛рди рдХрд┐рдирд╛рд░реЗ рдХрд╛ рд╡рдЬрди рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрджрдирд╛рдо рд╕реНрдерд┐рдд рд╣реЛрдВрдЧреЗред

рд╕рд╛рд╣рд┐рддреНрдп:

рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рдлрд╝ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

1. рдХреЙрд░реНрдореЗрди, рдереЙрдорд╕ рдПрдЪ., рд▓реАрд╕реЗрд░реНрд╕рди, рдЪрд╛рд░реНрд▓реНрд╕ рдЖрдИ., рд░рд┐рд╡реЗрд╕реНрдЯ, рд░реЛрдирд╛рд▓реНрдб рдПрд▓., рд╕реНрдЯреАрди, рдХреНрд▓рд┐рдлреЛрд░реНрдбред рдПрд▓реНрдЧреЛрд░рд┐рджрдо: рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг: рдЯреНрд░рд╛рдВрд╕ред рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рд╕реЗ - рдПрдо.: рд╡рд┐рд▓рд┐рдпрдореНрд╕ рдкрдмреНрд▓рд┐рд╢рд┐рдВрдЧ рд╣рд╛рдЙрд╕, 2ред
2. рд╣рд░рд╛рд░реА рдлреНрд░реИрдВрдХ. рдЧреНрд░рд╛рдл рд╕рд┐рджреНрдзрд╛рдВрддред рдПрдо.: рдореАрд░, 1973.
рдЗрдиреНрд╣реАрдВ рд╡реЗрдХреНрдЯрд░ рдФрд░ рдЖрд╕рдиреНрдирддрд╛рдУрдВ рдХреЗ рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦрдХ рдХреА рд░рд┐рдкреЛрд░реНрдЯ:
3. рдЪреЗрд░реНрдиреМрдЦреЛрд╡ рдПрд╕.рдП. рдЧреНрд░рд╛рдлрд╝ / рдПрд╕рдП рдЪреЗрд░реНрдиреМрд╣реЛрд╡ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рдиреНрди рд╡реЗрдХреНрдЯрд░ рдФрд░ рд╕рд╣рдпреЛрдЧреА рдЖрд╕рдиреНрди рд╕рд░рдгреАред рдПрдХ рдЧреНрд░рд╛рдл рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рдиреНрди рд╡реЗрдХреНрдЯрд░ рдФрд░ рдЖрд╕рдиреНрди рдорд╛рдирдЪрд┐рддреНрд░ // рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдореНрдореЗрд▓рди рдХреЗ рд▓реЗрдЦреЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ "рдЕрднрд┐рдирд╡ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ" (рд╕реЗрд░рд╛рдЯреЛрд╡, 14.09.2019 рд╕рд┐рддрдВрдмрд░, 2019)ред - рд╕реНрдЯрд░рд▓рд┐рдЯрдореИрдХ: рдПрдПрдордЖрдИ, 65, рдкреАред 69-XNUMX
рд╡рд┐рд╖рдп рдкрд░ рдЙрдкрдпреЛрдЧреА рдСрдирд▓рд╛рдЗрди рд╕реНрд░реЛрдд:
4. prog-cpp.ru/data-graph
5. ejuo.livejournal.com/4518.html

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ