рдЪрд┐рдХрдиреА рдЫрдБрдЯрд╛рдИ


рд╣рдо рдХрдИ рддрд░рд╣ рдХреЗ рдвреЗрд░реЛрдВ рдореЗрдВ рдбреВрдмреЗ рд░рд╣рддреЗ рд╣реИрдВред

рдЖрдЬ рд╣рдо рдПрдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдЖрджреЗрд╢ рдкрджреНрдзрддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдвреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

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







EDISON рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ - рд╡реЗрдм-рд╡рд┐рдХрд╛рд╕
EDISON.

, Android iOS.

! ;-)

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдЬреЗрдВрдбреЗ рдкрд░ рдПрдХ рд╕рд╡рд╛рд▓ рдерд╛: рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рд╕рдордп рдкрд░ рдвреЗрд░, рдПрдХ рддрд░рдл рд╕реЗ рдЫрдВрдЯрдиреА рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХрдо рди рд╣реЛредO ( n рд▓реЙрдЧ рдПрди ) , рд▓реЗрдХрд┐рди рдПрдХ рдЕрдиреБрдХреВрд▓ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдПрдХ рд▓рдЧрднрдЧ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рд░рдгреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) O ( n ) рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ ?

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЦреБрдж рдПрдЧреНрдЬрд░реНрд╕ рдбреАрдЬрдХрд╕реНрдЯреНрд░рд╛ рдиреЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╣рд╛рдВ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИред

рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ рд╡реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдвреЗрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЫрдВрдЯрд╛рдИ рдХрд╛ рдкреЗрдбрд╝ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдЬреНрдЮрд╛рди рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рд╣реИ, рддреЛ рдкрдврд╝рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЛ рдкрдврд╝реЗрдВ ред

рдХреНрдпрд╛ рдПрдХ рдмрд╛рдЗрдирд░реА рд╣реАрдк рдХреЗ рд╕рд╛рде рдЧрд▓рдд рд╣реИ


рдЖрдЗрдП рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдХрд┐ рдХреИрд╕реЗ рд╣рд╛рдИрдкреЛрд╕рд░реНрдЯ рд▓рдЧрднрдЧ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рд╕рд░рдгреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдРрд╕реЗ рдЗрдирдХрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЛ рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


"рдПрди-рдкрд┐рд░рд╛рдорд┐рдб рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ" рд▓реЗрдЦ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреАрдореЗрд╢рди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

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

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

рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛


рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджрд┐рдХреНрдЬрд╕реНрддреНрд░ рдиреЗ рд▓рд┐рдпреЛрдирд╛рд░реНрджреЛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдмрд╛рдЗрдирд░реА рдвреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ред

рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрднрдЧ рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рддрд░рд╣ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдмреЗрд╣рддрд░ рд╣реИред
рд▓рд┐рдпреЛрдирд╛рд░реНрджреЛ рдХреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рджреА рдЧрдИ рд╣реИ:

рдПрд▓ 0 = 1
рдПрд▓ 1 = 1
рдПрд▓ рдПрди = рдПрд▓ рдПрди - 1 + рдПрд▓ рдПрди - 2 + 1

рдкрд╣рд▓реЗ 20 рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛:
1, 1, 3, 5, 9, 15, 25, 41, 67 , 109, 177, 287, 465, 753, 1219, 1973, 3193, 5167, 8361, 13529

рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рд╕реА рднреА рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рд╣реЛрддреЗ рд╣реИрдВред

рдпрд╣ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред N рдХреА рд╕рд░рдгреАрддрддреНрд╡реЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдХреЗ рдПрдХрд▓ рдвреЗрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ n рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ)ред рд▓реЗрдХрд┐рди рдлрд┐рд░, рдХрд┐рд╕реА рднреА рд╕рд░рдгреА рдХреЛ рд╣рдореЗрд╢рд╛ рдХрдИ рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдирдВрдмрд░реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдВрдЧреЗ, рдЕрд░реНрдерд╛рддред рд╡рд┐рднрд┐рдиреНрди рдЖрджреЗрд╢ рдХреЗ рдвреЗрд░ рд╣реЛред

рдпрд╣рд╛рдБ 21 рддрддреНрд╡ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддреАрди рд▓рд┐рдпреЛрдирд╛рд░реНрдб рдвреЗрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдвреЗрд░ рдореЗрдВ, рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдХреА рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред


рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ:

  1. рдкреНрд░рддреНрдпреЗрдХ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛрд╡ рдвреЗрд░ рдПрдХ рдЕрд╕рдВрддреБрд▓рд┐рдд рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рд╣реИред
  2. рдкреНрд░рддреНрдпреЗрдХ рдвреЗрд░ рдХреА рдЬрдбрд╝ рд╕рдВрдЧрдд рдЙрдкрд░реНрд░реЗ рдХрд╛ рдЕрдВрддрд┐рдо (рдФрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдЗрдирд░реА рд╣реАрдк рдХреЗ рд░реВрдк рдореЗрдВ) рдкрд╣рд▓рд╛ рдирд╣реАрдВ рд╣реИред
  3. рдЕрдкрдиреЗ рд╕рднреА рд╡рдВрд╢рдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рдиреЛрдб рдПрдХ рдЫреЛрдЯреЗ рдХреНрд░рдо рдХрд╛ рд▓рд┐рдпреЛрдирд╛рд░реНрдб рдвреЗрд░ рд╣реИред

рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рдШрдЯрд┐рдд рдвреЗрд░


рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реВрддреНрд░ рдореЗрдВ,

L n = L n - 1 + L n - 2 + 1

рдЗрдХрд╛рдИ рдкрд░ рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рд╣реЛрддрд╛ рд╣реИред

рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░рдгреА рдореЗрдВ рджреЛ рдЖрд╕рдиреНрди рдЙрдкрдЬрд╛рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рджреЛ рдЖрд╕рдиреНрди рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдирдВрдмрд░реЛрдВ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдвреЗрд░ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред рдЗрди рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЗрди рдЙрдкрдЧреНрд░рд╣реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдвреЗрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдЧрд▓реЗ рд▓рд┐рдпреЛрдирд╛рд░реНрдб рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред



рд╕рд░рдгреА рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рд▓рд┐рдпреЛрдирд╛рд░реНрдб рдвреЗрд░ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рджреЛ рдкрд┐рдЫрд▓реЗ рдвреЗрд░ рдХреЛ рдорд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдЕрдЧрд░ рдФрд░ рдХреЗрд╡рд▓ рджреЛ рдкрд┐рдЫрд▓реЗ рдвреЗрд░ рджреЛ рд▓рдЧрд╛рддрд╛рд░ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдВ), рддреЛ рдЧрдардмрдВрдзрди рдХрд░реЗрдВред рдпрджрд┐ рд╕рдВрдпреЛрдЬрди рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ (рджреЛ рдкрд┐рдЫрд▓реЗ рдвреЗрд░ рд▓рдЧрд╛рддрд╛рд░ рджреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИрдВ), рддреЛ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ (рдпрд╛ рджреВрд╕рд░реЗ, рдпрджрд┐ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдЕрдиреБрд░реВрдк рдПрдХ рддрддреНрд╡ рдХрд╛ рдПрдХ рдирдпрд╛ рдвреЗрд░ рдмрдирд╛рддрд╛ рд╣реИред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ, рд░рд┐рд╡рд░реНрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреА рд╣реИ - рд╣рдо рдвреЗрд░ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЬрдбрд╝ рдХреЛ рдвреЗрд░ рдореЗрдВ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рджреЛ рдкрд┐рдЫрд▓реЗ рд▓рд┐рдпреЛрдирд╛рд░реНрджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рджреЛ рдЫреЛрдЯреЗ рдвреЗрд░ рдорд┐рд▓рддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐:

рдПрд▓ рдПрди - 1 = рдПрд▓ рдПрди - 1+ L n - 2

рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдРрд╕реА рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдЗрдХрд╛рдИ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╣реАрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЪрд┐рдХрдирд╛ рд╕реЙрд░реНрдЯ :: рдЪрд┐рдХрдирд╛


рдЕрдВрддрд┐рдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо:

  • I. рд╕рд░рдгреА рд╕реЗ рд▓рд┐рдпреЛрдирд╛рд░реНрдб рдвреЗрд░ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрдирд╛рдПрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЫрдВрдЯрд╛рдИ рдХрд╛ рдкреЗрдбрд╝ рд╣реИред
    • I.1ред рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдмрд╛рдИрдВ рд╕реЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рдХрд░реЗрдВред
    • II.1ред рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдпреЛрдирд╛рд░реНрдб рдвреЗрд░ рдХреЗ рдореМрдЬреВрджрд╛ рдвреЗрд░ рдореЗрдВ рджреЛ рд╕рдмрд╕реЗ рдмрд╛рдПрдВ рдвреЗрд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ:
      • II.1.a. рдпрджрд┐ рд╣рд╛рдБ, рддреЛ рд╣рдо рджреЛ рд╕рдмрд╕реЗ рдмрд╛рдПрдВ рдвреЗрд░ рдХреЛ рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдЗрд╕ рдвреЗрд░ рдХрд╛ рдореВрд▓ рдмрди рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рд╕рдВрдпреБрдХреНрдд рдвреЗрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░рд╛рд░ рдмрдирд╛рддреЗ рд╣реИрдВред
      • II.1.b. рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрдб рдвреЗрд░ рдХреЗ рдореМрдЬреВрджрд╛ рдвреЗрд░ рдореЗрдВ рдПрдХ рдирдпрд╛ рдвреЗрд░ (рдЕрдм рддрдХ рдПрдХ рдиреЛрдб рд╕реЗ рдорд┐рд▓рдХрд░) рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдЬреЛрдбрд╝реЗрдВред
  • II. , :
    • II.1. . , .
    • II.2. ( ) ( ).
    • II.3. , . .
    • II.4. ( ), .
    • II.5ред рдЕрдзрд┐рдХрддрдо рддрддреНрд╡ рдХреЛ рдЕрдВрдд рддрдХ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд░рдгреА рдХрд╛ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдврд╝ рдЧрдпрд╛, рдФрд░ рдЕрдирд╕рд░реНрдЯреЗрдб рднрд╛рдЧ рдХрдо рд╣реЛ рдЧрдпрд╛ред рд╕рд░рдгреА рдХреЗ рд╢реЗрд╖ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЪрд░рдг II.1-II.4 рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред



рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрджрд╛рд╣рд░рдг


import random

def smoothsort(lst):

    #    
    leo_nums = leonardo_numbers(len(lst))


    #       
    heap = []

    #   
    #       
    #       
    for i in range(len(lst)):
        if len(heap) >= 2 and heap[-2] == heap[-1] + 1:
            heap.pop()
            heap[-1] += 1
        else:
            if len(heap) >= 1 and heap[-1] == 1:
                heap.append(0)
            else:
                heap.append(1)
        restore_heap(lst, i, heap, leo_nums)

    #  
    for i in reversed(range(len(lst))):
        if heap[-1] < 2:
            heap.pop()
        else:
            k = heap.pop()
            t_r, k_r, t_l, k_l = get_child_trees(i, k, leo_nums)
            heap.append(k_l)
            restore_heap(lst, t_l, heap, leo_nums)
            heap.append(k_r)
            restore_heap(lst, t_r, heap, leo_nums)

#   ,     
def leonardo_numbers(hi):

    a, b = 1, 1
    numbers = []
    while a <= hi:
        numbers.append(a)
        a, b = b, a + b + 1
    return numbers

#        
def restore_heap(lst, i, heap, leo_nums):
    
    #      
    
    current = len(heap) - 1
    k = heap[current]

    while current > 0:
        j = i - leo_nums[k]
        if (lst[j] > lst[i] and
            (k < 2 or lst[j] > lst[i-1] and lst[j] > lst[i-2])):
            lst[i], lst[j] = lst[j], lst[i]
            i = j
            current -= 1
            k = heap[current]
        else:
            break

    # 
    
    while k >= 2:
        t_r, k_r, t_l, k_l = get_child_trees(i, k, leo_nums)
        if lst[i] < lst[t_r] or lst[i] < lst[t_l]:
            if lst[t_r] > lst[t_l]:
                lst[i], lst[t_r] = lst[t_r], lst[i]
                i, k = t_r, k_r
            else:
                lst[i], lst[t_l] = lst[t_l], lst[i]
                i, k = t_l, k_l
        else:
            break

#         ,
#     
def get_child_trees(i, k, leo_nums):

    t_r, k_r = i - 1, k - 2
    t_l, k_l = t_r - leo_nums[k_r], k - 1
    return t_r, k_r, t_l, k_l

#  
def main(n):
    lst = list(range(n))
    random.shuffle(lst)
    print(lst)
    smoothsort(lst)
    print(lst)

рд╕рдордп рдХреА рдЬрдЯрд┐рд▓рддрд╛


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



рдмрдЪрдд рдХреЗрд╡рд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИред рд▓рдЧрднрдЧ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдореЗрдВ, рдкреЗрдбрд╝ рдХреЛ рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд╣рд┐рдд, рдЙрдерд▓реЗ рдЙрдерд▓реЗ рдкреЗрдбрд╝ рдореЗрдВред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рдореЗрдВ, рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдХреНрд╕рд░ рдЕрдкрдиреЗ рдвреЗрд░ рдореЗрдВ рдЕрдВрддрд┐рдо рд╕реНрддрд░ рддрдХ рдЧрд┐рд░рддрд╛ рд╣реИред

рдЪрд▓реЛ рдХреБрд▓ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВред

рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо n рддрддреНрд╡реЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдмрд╛рдИрдВ рдУрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдвреЗрд░ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╣реАрдк рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ O (1) рдореЗрдВ рд╣реА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣реАрдк рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рджрд░рд╛рд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрджреЗрд╢рд┐рдд рдбреЗрдЯрд╛ рдореЗрдВ, рдПрдХ рдЙрдерд▓реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдореЗрдВ рдЕрдХреНрд╕рд░ рдвреЗрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдПрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдУ (1) рдЦрд░реНрдЪ рд╣реЛрддрд╛ рд╣реИред рдЕрдирд┐рдпреЛрдЬрд┐рдд рдбреЗрдЯрд╛ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреА рд▓рд╛рдЧрдд O (рд▓реЙрдЧ рдПрди ) рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреЗрддрд░рддреАрдмрдкрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЛ рдЕрдХреНрд╕рд░ рдкреЗрдбрд╝ рдХреЗ рд╕реНрддрд░реЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдмрд╣реБрдд рдиреАрдЪреЗ рддрдХ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ:
рд▓рдЧрднрдЧ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП - O ( n ),
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП - O ( n log n )ред

рджреВрд╕рд░реЗ рдЪрд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рди рд╣реИред рдЕрдЧрд▓реЗ рдЕрдзрд┐рдХрддрдо рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдЙрд╕ рд░реВрдЯ рдкрд░ рдвреЗрд░ рдХреЛ рджрдмрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬреЛ рдпрд╣ рдерд╛ред рдФрд░ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдФрд░ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдореАрдЯреНрд░рд┐рдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдВрдЧреЗред

рджреВрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдкрд╣рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реИ:
рд▓рдЧрднрдЧ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП - рд╣реЗ ( рдПрди ),
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП - рдУ ( рдПрди рд▓реЙрдЧ рдПрди )ред

рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдЬреЛрдбрд╝рдирд╛:
рд▓рдЧрднрдЧ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП - O (2 n ) = O ( n ),
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП - O (2 n log n ) = O ( n log n )ред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рд╣рдЬ рдЫрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдФрд░ рдФрд╕рдд рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рд╣реЗ ( рдПрди рд▓реЙрдЧ рдПрди ) рд╣реИред
рдЕрдкрдиреА рдЧрдгрдирд╛ рдореЗрдВ рдбреАрдЬрдХрд╕реНрдЯреНрд░рд╛ (рдЬреЛ рдореИрдВ рдЖрдкрдХреЛ рдмреЛрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛) рдиреЗ рд╕рд╛рдмрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реА рдбреЗрдЯрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рд╕реБрдЧрдорддрд╛ рд╕реЗ рдУ ( рдПрди ) рддрдХ рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдирд╛рдо - рдЪрд┐рдХрдиреА рдЫрдБрдЯрд╛рдИред

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдореГрддрд┐ рдЬрдЯрд┐рд▓рддрд╛


рдбреЗрдЯрд╛ рдХреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрдб рдвреЗрд░ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рдирдВрдмрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрди рдирдВрдмрд░реЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдвреЗрд░ рдЦреБрдж рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрдбрд╝реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЖрдкрдХреЛ рд▓рд┐рдпреЛрдирд╛рд░реНрдб рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯреЗ рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рджреНрд╡рд┐рдкрдж рд╣реАрдк рдкреНрд░рдХрд╛рд░ :: рджреНрд╡рд┐рдкрдж рд╣реАрдк рдкреНрд░рдХрд╛рд░


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

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рджреНрд╡рд┐рдкрдж рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЪрд┐рдХрдиреА рдЫрдБрдЯрд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рдХреНрдпрд╛ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдореБрд╢реНрдХрд┐рд▓ рд╕реЗред рджреНрд╡рд┐рдкрдж рд╣реАрдк рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╡рдВрд╢ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рдиреЗ рд╕реЗ рддреЗрдЬреА рдирд╣реАрдВ рдЖрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдХреНрд░реАрди рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддреА рд╣реИ ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рджреНрд╡рд┐рдкрдж рд╣реАрдк рдХреА рд▓рдВрдмреА рд╢рд╛рдЦрд╛рдПрдВ рд╣реИрдВ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдкрдбрд╝реЛрд╕реА рдХреЗ рдЖрджреЗрд╢ рджрд┐рдП рдЧрдП рдХреНрд╖реЗрддреНрд░ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдзреАрдореЗ рд╣реЛрдВрдЧреЗред

рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рджрд┐рдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдмрд╛рдЗрдиреЛрдорд┐рдпрд▓ рд╣реАрдк рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдЖрдзрд╛рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛрд╡ рдвреЗрд░ рд╢рд╛рдпрдж рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо рд╣реИред

рдЕрдЧрд▓реА рд╕реАрд░реАрдЬ рдХрд╛ рдЯреНрд░реЗрд▓рд░


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдПрдХ рджреНрд╡рд┐рдкрдж рдвреЗрд░ рдЪрд┐рдХрдиреА рдЫрдБрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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


рд╣реАрдк рджреНрд╡рд╛рд░рд╛ рдЕрдЧрд▓реА рдЫрдБрдЯрд╛рдИ рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреАрдореЗрд╢рди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рд╕рдВрджрд░реНрдн


рдЪрд┐рдХрдирд╛ / рдЪрд┐рдХрдирд╛

рд▓рд┐рдпреЛрдирд╛рд░реНрдбреЛ рд╕рдВрдЦреНрдпрд╛ , рджреНрд╡рд┐рдкрдж рдвреЗрд░ / рджреНрд╡рд┐рдкрдж рдвреЗрд░

рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓реЗрдЦ:



AlgoLab рдРрдк рдореЗрдВ рдЖрдЬ рдХреА рд╕рд╣рдЬ рдЫрдБрдЯрд╛рдИ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рд╕рд╛рде рд╣реА рдПрдХ рдмреЛрдирд╕ - рдФрд░ рдПрдХ рджреНрд╡рд┐рдкрдж рдвреЗрд░ рдХреЗ рд╕рд╛рде рдЫрдВрдЯрдиреАред рддреЛ рдЬреЛ рдвреЗрд░ рдвреЗрд░ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ - рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕реЗрд▓-рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред

All Articles