рдПрд╕рдУрдПрд▓рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдЕрдХреНрд╕рд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд╕рдорд╕реНрдпрд╛рдПрдВ рдЬреНрдЮрд╛рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдмред рдпрд╣ рд▓реЗрдЦ рдареЗрда рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджреЗрдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛, рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдФрд░ рдЗрд╕рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдо рдЦрд░рд╛рдм рдХреЛрдб рдХрд╛ рд╕рд╛рдордирд╛ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреИрд╕реЗ рдмрдврд╝рддреА рд╣реИрдВред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореВрд▓реНрдпрд╛рдВрдХрди "рдХрдИ" рдФрд░ "рдПрдХ" рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ, рдЬреЛ рдУ-рдиреЛрдЯреЗрд╢рди рдЗрдиреНрд╕реЙрд▓реНрд╡реЗрдВрд╕реА рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдпрд╣ рд╕рдордЭрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдЧреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрддрд░рдирд╛рдХ рд╣реИ рдФрд░ рдХреМрди рд╕рд╛ рдХреЛрдб рд╕рд╣рд┐рд╖реНрдгреБ рд╣реИред
рдкрд░рд┐рднрд╛рд╖рд╛
рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЪ (n) рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП "O" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрдЧрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ f (n) рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рд╛рд╡ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЬрд┐рдХрд▓ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ n рдХрд╛ рдЕрд░реНрде рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЖрдХрд╛рд░ рд╣реИред
рдореИрдЯреНрд░рд┐рдХреНрд╕
рд░реЙрдмрд░реНрдЯ рдорд╛рд░реНрдЯрд┐рди рдХреА рдХреБрдЫ рдбрд┐рдЬрд╝рд╛рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ O- рдЕрдВрдХрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЙрдирдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВред
рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдХрдард┐рди рд╣реИ рдЕрдЧрд░ рдПрдХ рдПрдХрд▓ рдкрд░рд┐рд╡рд░реНрддрди рдирд┐рд░реНрднрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдПрдХ рдЭрд░рдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдбрд┐рдЬрд╛рдЗрди рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдУ (1) рдФрд░ рдУ (рдПрди) рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред рдпрд╛рдиреА рд╣рдорд╛рд░рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдврд╝рддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рд╕реНрд╡рдпрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рд╡реЗ рднреА, рдХреБрдЫ рд╡рд┐рд╖рдо рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдХрдареЛрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрдареЛрд░рддрд╛ O (nm) рддрдХ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ рдПрдо рдХреЛ рдХрдареЛрд░рддрд╛ рдЧрд╣рд░рд╛рдИ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдХрдареЛрд░рддрд╛ рдХреА рдЧрд╣рд░рд╛рдИ рдХрд╛ рдПрдХ рдореЛрдЯрд╛ рдЕрдиреБрдорд╛рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдареЛрд░рддрд╛ O (n) рдХреЛ рднреА рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдФрд░ рднреА рдЧрд╣рд░реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЬрдм рдПрдХ рдмрд╛рд░ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлреНрд░реИрдЧрд┐рд▓рд┐рдЯреА рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реИред рдЕрдХреНрд╕рд░ рдирдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрди рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдХреЛрдИ рд╡реИрдЪрд╛рд░рд┐рдХ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ рдЬреЛ рдмрджрд▓ рдЧрдпрд╛ рдерд╛ред
рд╣рдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкреНрд░рд╢реНрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕рдВрдХреЗрддрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдирд╛рдЬреБрдХрддрд╛ рдФрд░ рдХрдареЛрд░рддрд╛ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрдареЛрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рддрд░реНрдХ рдирд╛рдЬреБрдХрддрд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдЕрдХреНрд░рд┐рдп рд╣реИ рдпрджрд┐ рдЗрд╕рдореЗрдВ рдРрд╕реЗ рд╣рд┐рд╕реНрд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрди рднрд╛рдЧреЛрдВ рдХреЛ рдореВрд▓ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рд╕реЗ рдЬреБрдбрд╝реЗ рдкреНрд░рдпрд╛рд╕ рдФрд░ рдЬреЛрдЦрд┐рдо рдмрд╣реБрдд рдорд╣рд╛рди рд╣реИрдВред
рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдЬреЛрдЦрд┐рдо рдФрд░ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬрдм рдореВрд▓ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЧреИрд░-рд╕реНрдерд┐рд░ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдЕрдореВрд░реНрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдмрд╣реБрдд рдмрд╛рд░, рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкрд╣рд▓реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рдж, рдЕрдиреНрдп рд╕рдорд╛рди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
рдЪрд┐рдкрдЪрд┐рдкрд╛рдкрдиред
рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реБрдП, рдбреЗрд╡рд▓рдкрд░ рдЖрдорддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдвреВрдВрдврддрд╛ рд╣реИред рдХреБрдЫ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреНрдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЕрд░реНрдерд╛рдд, рд╡реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ "рд╣реИрдХ" рд╣реИрдВ)ред рдпрджрд┐ рдбрд┐рдЬрд╛рдЗрди-рд╕рдВрд░рдХреНрд╖рдг рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рд╣реИрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ, рддреЛ рдбрд┐рдЬрд╛рдЗрди рдХреА рдЪрд┐рдкрдЪрд┐рдкрд╛рд╣рдЯ рдЕрдзрд┐рдХ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реБрд▓рдЭрд╛рдирд╛ рдЧрд▓рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╣реА рд╣реЛрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛред
O рд╕рдВрдХреЗрддрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рдкрдЪрд┐рдкрд╛рд╣рдЯ рдХреЛ рд▓рдШреБрджреГрд╖реНрдЯрд┐рддрд╛ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рдВ, рдкрд╣рд▓реЗ рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ O (n) (рдХрдареЛрд░рддрд╛ рдпрд╛ рдирд╛рдЬреБрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг) рдХреЗ рдмрдЬрд╛рдп O (1) рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдРрд╕реЗ рдмрджрд▓рд╛рд╡реЛрдВ рд╕реЗ рдФрд░ рднреА рдЕрдзрд┐рдХ рдХрдареЛрд░рддрд╛ рдФрд░ рдирд╛рдЬреБрдХрддрд╛ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЕрд░реНрдерд╛рдд рдХрдареЛрд░рддрд╛ рдХреА рдЧрд╣рд░рд╛рдИ рдореЗрдВ рд╡реГрджреНрдзрд┐ред рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА "рдШрдВрдЯреА" рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рдж рдХреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ "рд╣реИрдХ" рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХрдареЛрд░рддрд╛ рдХреА рд╢рд░реНрддреЛрдВ ("рдШрдВрдЯреА" рд╕реЗ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ) рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЬрдм рдЪрд┐рдкрдЪрд┐рдкрд╛рд╣рдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдареАрдХ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрддрд╛ рд╣реИ: рдЗрд╡рд╛рди рдХреЛ рдХреБрдЫ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдЙрд╕рдХреЗ рдЫреЛрдЯреЗ рдкреИрд░ рдХреЛ рдХрд░реНрд▓ рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рдЪрдврд╝рдирд╛, рдЬрд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕реЗ рд╕рдВрджреЗрд╣ рд╣реИ, рдмреЛрдХрд╛рд░реНрдб рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╕реНрдореЛрдХреНрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдЯреБрдХрдбрд╝рд╛ рдкрд╛рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕реЗ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ, рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЪрд┐рдкрдХрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдмрджрд▓рд╛рд╡ рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╡рд╛рди рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рдЙрд╕рдиреЗ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдирд┐рдХрд╛рд▓рд╛ рдерд╛, рдЙрд╕реЗ рдкреАрдЯрд░ рдиреЗ рд╡рд╣рд╛рдВ рд░рдЦрд╛ рдерд╛, рдЬреЛ рдХрд┐ рд╕реНрд╡реЗрддрд╛ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдореЙрдбреНрдпреВрд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрд╡реЗрддрд╛ рдкрд╣рд▓реЗ рдереЛрдбрд╝рд╛ рдЕрдВрдХреБрд╢ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзреВрдореНрд░рдкрд╛рди рдХрд░рддреА рдереА, рд▓реЗрдХрд┐рди рд╡рд╣ рдЬрд╛рдирддреА рдереА рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдХреБрдЫ рдорд░реНрдореЛрдВ рдХреЗ рдзреВрдореНрд░рдкрд╛рди рдХреЗ рд╕рдорд╛рди рдереАред рдЙрд╕реЗ рдХрд╣реАрдВ рдПрдХ рдХреЛрдб рдорд┐рд▓рд╛ рдЬреЛ рдХрд░реНрдордЪрд┐рдЯ рдХрд░реНрдордЧреНрд▓реЛрдЯ рдиреЗ рдЙрд╕реЗ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ред рдЬрдм рдПрдХ рд╣реА рдХреЛрдб рдмрд╛рд░-рдмрд╛рд░ рдереЛрдбрд╝реЗ рдЕрд▓рдЧ рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЦреЛ рджреЗрддреЗ рд╣реИрдВред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЦреБрджрд╛рдИ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди n рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдкреА рдкреЗрд╕реНрдЯ рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╕ рднреВрд▓рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдпрд╣ O (n) рдкрд░реАрдХреНрд╖рдг рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рднреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
рдареЛрд╕ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╡реЗрджрди
рдПрд╕рдЖрд░рдкреА (рдПрдХрд▓ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕рд┐рджреНрдзрд╛рдВрдд)ред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдХрд╛рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди (рдЬрд┐рдореНрдореЗрджрд╛рд░реА) рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдЧ рдХреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░рдг рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рджрд╛рдпрд┐рддреНрд╡ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдордиреЗ рдПрдХ рдФрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдпрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдПрд╕рдЖрд░рдкреА рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрд┐ рдХрдареЛрд░рддрд╛ рдФрд░ рдирд╛рдЬреБрдХрддрд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рдЬрдбрд╝рддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рджреВрд╕рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рд╕реНрдкрд░реНрд╢реЛрдиреНрдореБрдЦ рд╡реНрдпрд╡рд╣рд╛рд░ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдП рдмрд┐рдирд╛ рд╣реА рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдерд┐рд░ рдХрд╛рд░рдХ рдореЗрдВ рдХрд╛рдлреА рдХрдореА рдЖрддреА рд╣реИред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рдХрдХреНрд╖рд╛ рдХреА рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░, рдЗрдХрд╛рдИ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрди рдЬрдЧрд╣реЛрдВ рдкрд░ рдЬрд╣рд╛рдБ рд╡реЗ рдЗрд╕ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдПрд╕рдЖрд░рдкреА рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛, рд╕рд╛рде рд╣реА рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рджреЛрд╖рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХреЗ рддрд░реНрдХ, рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдЯреЗ рдЧрдП, рдЖрдИрдПрд╕рдкреА (рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЕрд▓рдЧрд╛рд╡ рд╕рд┐рджреНрдзрд╛рдВрдд) рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реИрдВред
OCP (рдУрдкрди рдХреНрд▓реЛрдЬ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓)ред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдХрд╛рдЗрдпрд╛рдВ (рдХрдХреНрд╖рд╛рдПрдВ, рдореЙрдбреНрдпреВрд▓, рдлрд╝рдВрдХреНрд╢рди, рдЖрджрд┐) рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдорддреМрд░ рдкрд░, рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рдмрд╣реБрд░реВрдкрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ LSP рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдирд╛ OCP рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реИ, рдФрд░ DIP OCP рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдзрди рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ LSP рдФрд░ DIP рджреЛрдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЦреБрд▓реЗрдкрди-рдШрдирд┐рд╖реНрдарддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде рдЧреИрд░-рдЕрдиреБрдкрд╛рд▓рди рдЙрди рд╕рднреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрдВрдж рдирд╣реАрдВ рд╣реИрдВред
рдПрдХ рдХрд╛рдлреА рддреБрдЪреНрдЫ рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ifs рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЬреЛ рдмрд╛рд▓ рд╡рд░реНрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдмреАрдЪ рдЪрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрд░рдЪрдирд╛рдПрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреА рд╣реИрдВред рдФрд░ рдЬрдм рднреА рдЖрдк рдПрдХ рдирдпрд╛ рдЪрд╛рдЗрд▓реНрдб рдХреНрд▓рд╛рд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдРрд╕реА рдкреНрд░рддреНрдпреЗрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЙрдЪрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рди рдХреЗрд╡рд▓ рдмрд╛рд▓ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛ рд╕рдХрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ [рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рдорд╛рдорд▓реЗ рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВ]ред
рдЕрдм рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрдм рд╣рдо рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЦреБрд▓реЗрдкрди-рдШрдирд┐рд╖реНрдарддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде рд╡рд┐рд╕рдВрдЧрддрд┐ рдХреЗ рдХрд╛рд░рдг, рд╣рдорд╕реЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдлрд┐рд░, рдпрджрд┐ рд╣рдо рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдУ (рдПрдордПрди) рдХреЗ рд▓рд┐рдП рд╕рдордЧреНрд░ рдЬрдЯрд┐рд▓рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд╣рдо рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рднреА m рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рдж рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди O (m) рдХреЗ рдмрдЬрд╛рдп O (1) рд▓реЗ рд▓реЗрдВрдЧреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдордЧреНрд░ рдЬрдЯрд┐рд▓рддрд╛ O (m + n) рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдУрд╕реАрдкреА рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдХрднреА рджреЗрд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдорд╛рд░реНрдЯрд┐рди рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рдкрд╣рд▓реЗ рдмрджрд▓рд╛рд╡ рдХреЛ рдХреИрд╕реЗ рдмрдВрдж рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдпрд╣ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдорд╛рд░реНрдХрд░ рдерд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд░реВрд░реА рдирд╣реАрдВ рд░рд╣реЗрдЧрд╛ред рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЧреИрд░-рдирд┐рдХрдЯрддрд╛ рдХреЗ рдХрд╛рд░рдг O (1 * n) рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдЦреБрдж рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП O (m) рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддреЗ рд╣реИрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдореЗрдВ рд╕рдордЧреНрд░ рдЬрдЯрд┐рд▓рддрд╛ рдУ (рдПрди + рдПрдо) рдорд┐рд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рд╣рдо рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рдареАрдХ рдЙрд╕реА рд╕рдордп рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдкреИрдЯрд░реНрди рдФрд░ O- рд╕рдВрдХреЗрддрди
рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдУ-рдиреЛрдЯреЗрд╢рди рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдУ-рдиреЛрдЯреЗрд╢рди рдХреЗ рдмреАрдЪ рдПрдХ рдФрд░ рд╕рд╛рджреГрд╢реНрдп рдЦреАрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рд╣рдо рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЦреЛрдЬ рдкреЗрдбрд╝ рдФрд░ рдвреЗрд░, рдЬреЛ "рд╣реЗрдб-рдСрди" рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдЕрдЪреНрдЫреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрдЦреНрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдЕрдЪреНрдЫреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк SOLID рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреИрдЯрд░реНрди рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, O- рдЕрдВрдХрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдордзреНрдпрд╕реНрде рдСрдмреНрдЬреЗрдХреНрдЯ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рддрд░реНрдХ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреБрдЫ рддреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡ рдХреА рдирд┐рд░рдВрддрд░ рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред
рдПрдбреЗрдкреНрдЯрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ (рд░реАрдб рдРрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрд╕рдВрдЧрдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдЙрд╕ рдСрдкрд░реЗрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдХреБрдЫ рд╕реНрдкрд░реНрд╢реЛрдиреНрдореБрдЦ рджрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдмреБрд░реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде, рдЗрд╕рд▓рд┐рдП рдкреИрдЯрд░реНрди рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХрдареЛрд░рддрд╛ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдЙрдЪрд┐рдд рд╕реАрдорд╛
рдЬрдм рдУ-рд╕рдВрдХреЗрддрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдЕрдиреБрдХреВрд▓рди рд╕рдорд╕реНрдпрд╛ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реНрдкрд░реНрд╢реЛрдиреНрдореБрдЦ рджрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ 3 рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдмреБрд▓рдмреБрд▓реЗ рджреНрд╡рд╛рд░рд╛ рдЫрдВрдЯрд╛рдИ рдкрд┐рд░рд╛рдорд┐рдб рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреА, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдкрд┐рд░рд╛рдорд┐рдб рдХреА рдЫрдВрдЯрд╛рдИ рдореЗрдВ рдмреЗрд╣рддрд░ рд╕реНрдкрд░реНрд╢реЛрдиреНрдореБрдЦрддрд╛ рд╣реИред рдПрди рдХреЗ рдЫреЛрдЯреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд┐рд░ рдХрд╛рд░рдХ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдУ-рдиреЛрдЯреЗрд╢рди рдЫреБрдкрд╛рддрд╛ рд╣реИред рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдУ-рдиреЛрдЯреЗрд╢рди рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЦрд╛рдХреЛрдВ рдХреЛ рдмрд╛рдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд▓рд╛рдЧрдд "рдЦрд░рд╛рдм рдбрд┐рдЬрд╛рдЗрди" рд╕реЗ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред