рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдмрдврд╝рдиреЗ рдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдорд╛рдкрддреА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреНрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдХреИрд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдиреНрдпреВрдирддрдо рдХрд░реЗрдВред рд╕рд╛рде рд╣реА, рдореИрдВ рдЗрд╕рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдФрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЖрдзрд╛рд░ рднреА рдХрд╡рд░ рдХрд░реВрдВрдЧрд╛ред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рд╕рдордЭрдирд╛
рдЧрдгрдирд╛рдУрдВ рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд▓реЗрдВ рдХрд┐ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреНрдпрд╛ рд╣реИ?
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд╣ рдХреБрд▓ рдореЗрдореЛрд░реА рд╣реИ рдЬрд┐рд╕рдХреА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдореЛрд░реА рдлреБрдЯрдкреНрд░рд┐рдВрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдФрд░ рдХреБрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЗрдирдкреБрдЯ, рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдФрд░ рдУрд╡рд░рд╣реЗрдб рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдЖрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдРрд░реЗ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рд▓реЗрдВ: рдХреБрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдРрд░реЗ рд╕реНрд╡рдпрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрдмрдХрд┐ рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдЯреЗрдореНрдк рд╕реНрдкреЗрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдЖрдзреБрдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ, рд╕реНрдкреЗрд╕ рдПрдлрд┐рд╢рд┐рдПрдВрд╕реА рдЕрдХреНрд╕рд░ рдирд┐рд░реНрдгрд╛рдпрдХ рд╣реЛрддреА рд╣реИред рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдХреЗ, рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рд╕реАрдорд┐рдд RAM рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓ рд╕рдХреЗрдВтАФрдЬреИрд╕реЗ IoT рдХреЗ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд╕реНрдорд╛рд░реНрдЯрдлрд╝реЛрдитАФрдпрд╛ рдлрд┐рд░ рдмрдбрд╝реЗ рд╕рд┐рд╕реНрдЯрдо рдЬрд┐рдирдореЗрдВ рд╕рдВрд╕рд╛рдзрди-рдЙрдкрднреЛрдХреНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд╣рд╛рдБ RAM рдХрд╛ рд╣рд░ рдмрд┐рдЯ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред
рдореЛрдмрд╛рдЗрд▓ рдРрдкреНрд╕ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдВ: рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХрд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХреНрд░реИрд╢ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред рдпрд╛ рдХреНрд▓рд╛рдЙрдб рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рд▓рд╛рдЧрдд рдШрдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ, рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдореЗрдВ рдмрд┐рдирд╛ рдкреВрд░рд╛ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд┐рдП рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдПрд╕рд┐рдореНрдкреНрдЯреЛрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди
рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдмрд┐рдЧ O рдЬреИрд╕реА рдПрд╕рд┐рдореНрдкреНрдЯреЛрдЯрд┐рдХ рдиреЛрдЯреЗрд╢рди рд╕реНрдкреЗрд╕ рд╡реГрджреНрдзрд┐ рдХреЛ рдХреИрд╕реЗ рджрд░реНрд╢рд╛рддреА рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реАрдорд╛рдмрджреНрдз рдФрд░ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдЙрдкрдХрд░рдг рджреВрдВрдЧрд╛ред
рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп
рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ, рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди f(n) рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди g(n) рд╕реЗ рдбреЙрдорд┐рдиреЗрдЯреЗрдб рд╣реИ рдпрджрд┐ рдРрд╕реЗ рд╕реНрдерд┐рд░рд╛рдВрдХ c рдФрд░ k рдореМрдЬреВрдж рд╣реЛрдВ, рдХрд┐ рд╕рднреА k>n рдХреЗ рд▓рд┐рдП, 0 тЙд |f(n)| тЙд |g(n)|ред
рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ f(n)=O(g(n)), рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ f(n) g(n) рдХрд╛ рдмрд┐рдЧ O рд╣реИред
рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рдж f(n) рдХреА рд╡реГрджреНрдзрд┐ g(n) рд╕реЗ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛрддреАред
рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди, рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ n рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреА рдКрдкрд░реА рд╕реАрдорд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╣рдо рдмрдбрд╝реЗ n рдХреЗ рд▓рд┐рдП рдкреНрд░рдореБрдЦ рдкрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВред рдпрд╣ рдиреЛрдЯреЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, O(n) рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рджреЛрдЧреБрдирд╛ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдкреЗрд╕ рднреА рд▓рдЧрднрдЧ рджреЛрдЧреБрдирд╛ рд╣реЛрддрд╛ рд╣реИред
рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдореЗрдВ рдПрдХ рдЖрдо рдЧрд▓рддрдлрд╣рдореА рд╣реИ рдХрд┐ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП рдмрд┐рдЧ O рд╕реНрдерд┐рд░рд╛рдВрдХреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддрд╛ рд╣реИтАФрдЬреИрд╕реЗ 2n рднреА O(n) рд╣реИтАФрдкрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЫреЛрдЯреЗ n рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░рд╛рдВрдХ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВред
рд╕рдВрдмрдВрдзрд┐рдд рдПрд╕рд┐рдореНрдкреНрдЯреЛрдЯрд┐рдХ рдиреЛрдЯреЗрд╢рди
рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд┐рдЧ рдУрдореЗрдЧрд╛ рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдиреНрдпреВрдирддрдо рд╕реНрдкреЗрд╕ рдЬрд░реВрд░рдд рдХреЛ рд╕рд┐рджреНрдз рдХрд░рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИтАФрдЬреИрд╕реЗ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдо-рд╕реЗ-рдХрдо ╬й(n) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдФрд░ рдиреЛрдЯреЗрд╢рди рдмрд┐рдЧ рдереАрдЯрд╛ рд╣реИ, рдЬреЛ рддрдм рдХрд╕рд╛ рд╣реБрдЖ рдмрд╛рдЙрдВрдб рджреЗрддрд╛ рд╣реИ рдЬрдм рдКрдкрд░реА рдФрд░ рдирд┐рдЪрд▓реА рд╕реАрдорд╛рдПрдБ рдорд┐рд▓рддреА рд╣реИрдВ, рдЬреЛ рд╕рдЯреАрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИтАФрдЬреИрд╕реЗ рд░реИрдЦрд┐рдХ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП O(n) = ╬Ш(n)ред
рдЕрдиреНрдп рдиреЛрдЯреЗрд╢рдирд▓ рдкрд░рдВрдкрд░рд╛рдПрдБ
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рдХреБрдЫ рдЕрдиреНрдп рдкрд░рдВрдкрд░рд╛рдПрдБ рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕реЙрдлреНрдЯ-O рдиреЛрдЯреЗрд╢рди ├Х, рдЬреЛ рдкреЙрд▓реАрд▓реЙрдЧ рдХрд╛рд░рдХреЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдиреНрдирдд рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо, рдЬреИрд╕реЗ рдЧреНрд░рд╛рдлрд╝ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рдореЗрдВ рдЖрдо рд╣реИ рдЬрд╣рд╛рдБ рд▓реЙрдЧ рдлреИрдХреНрдЯрд░ рдирдЧрдгреНрдп рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╢реЛрдз-рдкрддреНрд░реЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ ├Х рджреНрд╡рд╛рд░рд╛ рд╕рдм-рд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЗ рдШрдЯрдХ
рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЗ рдХрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдмрд┐рдВрджреБ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ:
рдЗрдирдкреБрдЯ рд╕реНрдкреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╕реНрдкреЗрд╕ рд▓реЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐рд╕реА рдРрд░реЗ рдХреЗ рд▓рд┐рдП O(n) рдпрд╛ рдЬреАрдиреЛрдорд┐рдХ рд╕реАрдХреНрд╡реЗрдВрд╕ рдЬреИрд╕реЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдПред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдХреЛрдбрд┐рдВрдЧ рдЗрдВрдЯрд░рд╡реНрдпреВ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрдирдкреБрдЯ рд╕реНрдкреЗрд╕ рдХреЛ рдЕрдХреНрд╕рд░ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рдХреБрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдЗрдирдкреБрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред
рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рдореЗрдореЛрд░реА
рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рд╡рд╣ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рд╣реИ рдЬрд┐рд╕рдХреА рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рдЕрдкрдиреЗ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕реАрдзреЗ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ рдЯреЗрдореНрдк рдРрд░реЗ рдХреЗ рд▓рд┐рдП O(n) рд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдвреВрдВрдврдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдЯреЗрдмрд▓ (O(n)), рдкреИрд░реЗрдВрдерд┐рд╕рд┐рд╕ рдореИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░рд┐рдХрд░реНрд╢рди рд╕реНрдЯреИрдХ (O(n)) рдЖрджрд┐ рдЖрддреЗ рд╣реИрдВред
рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рд╣рд╛рдпрдХ-рд╕реНрдкреЗрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рджреЛ-рдкреЙрдЗрдВрдЯрд░ рд╡рд┐рдзрд┐ (O(1)), рдбреЗрдХ рдХреЗ рд╕рд╛рде рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ-рд╡рд┐рдВрдбреЛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо (O(k)), рдФрд░ BFS рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рдЬрд┐рдЯреЗрдб рд╕реЗрдЯ рдФрд░ рдХреНрдпреВ рдХреЗ рд▓рд┐рдП O(V) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдорд░реНрдЬ рд╕реНрдЯреЗрдк рдХреЗ рджреМрд░рд╛рди рдЯреЗрдореНрдкрд░рд░реА рдРрд░реЗ рдкрд░ рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдХреЗ рдПрдХ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
def merge ( left_half, right_half) :
merged = [ 0 ] * ( len ( left_half) + len ( right_half) )
left_idx = right_idx = merged_idx = 0
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдХреЙрд▓ рд╕реНрдЯреИрдХ рдФрд░ рд░рд┐рдХрд░реНрд╢рди рд╕реНрдкреЗрд╕
рд╣рд░ рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдХреЙрд▓ рдПрдХ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдЬреЛрдбрд╝рддреА рд╣реИ (рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ + рдкреИрд░рд╛рдореАрдЯрд░ + рд▓реЛрдХрд▓реНрд╕)ред
рджреВрд╕рд░реА рдУрд░, рд░реИрдЦрд┐рдХ рд░рд┐рдХрд░реНрд╢рди, рдЬреИрд╕реЗ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдпрд╛ рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рдкрд░ DFS, рдХрд╛ рд╕реНрдЯреИрдХ O(n) рд╣реЛрддрд╛ рд╣реИред
рдмрд╛рдЗрдирд░реА рд░рд┐рдХрд░реНрд╢рди, рдЬреИрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд┐рдмреЛрдирд╛рдЪреА рдпрд╛ рдЯреНрд░реА рд░рд┐рдХрд░реНрд╢рди, рдХрд╛ рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ O(n) рд╣реЛрддрд╛ рд╣реИред
рдЯреЗрд▓-рдХреЙрд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди, рдЬрд┐рд╕реЗ Scheme, Rust рдореЗрдВ рдФрд░ рдХрднреА-рдХрднреА Python рдореЗрдВ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ O(1) рддрдХ рдШрдЯрд╛ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреЛрдЦрд┐рдо Python рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рд┐рдХрд░реНрд╢рди рд▓рд┐рдорд┐рдЯ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ 1000 рд╣реИ, рдФрд░ рдЧрд╣рд░реЗ рдЯреНрд░реА рдкрд░ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдХрд░рд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рд╕рд╛рдзрд╛рд░рдг рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдлрд╝рд┐рдмреЛрдирд╛рдЪреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рд╕реНрдЯреИрдХ рд╡реГрджреНрдзрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
def fibonacci ( n) :
if n <= 1 :
return n
return fibonacci( n- 1 ) + fibonacci( n- 2 ) рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
Python рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдмреНрд▓реЙрдЧ Analyzing Complexity of Code through Python рджреЗрдЦреЗрдВред
рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдУрд╡рд░рд╣реЗрдб
рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдУрд╡рд░рд╣реЗрдб рдХреА рдЕрдЪреНрдЫреА рдмрд╛рдд рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдкреНрд░рддрд┐-рддрддреНрд╡/рдирд┐рдпрдд рд▓рд╛рдЧрдд рдЬреЛрдбрд╝рддреЗ рд╣реИрдВтАФрдЬреИрд╕реЗ рдРрд░реЗ рдХрд╛ рдиреНрдпреВрдирддрдо рдУрд╡рд░рд╣реЗрдб, рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкреЗрд╕, рдФрд░ рдХрдИ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгред┬а
рдлрд┐рд░ рднреА, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдмрдбрд╝рд╛ рдкреНрд░рднрд╛рд╡ рд╣реЛрддрд╛ рд╣реИред Python рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдбрд╛рдпрдиреЗрдорд┐рдХ рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ C рдРрд░реЗ рдореЗрдВ рдирд╣реАрдВтАФрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 75% рд▓реЛрдб рдлреИрдХреНрдЯрд░ рд╡рд╛рд▓реЗ рд╣реИрд╢ рдореИрдк рдЦрд╛рд▓реА рдмрдХреЗрдЯреНрд╕ рдкрд░ рд╕реНрдкреЗрд╕ рдмрд░реНрдмрд╛рдж рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЗ рдкреНрд░рдХрд╛рд░
рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА: O(1)
рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдореВрд▓рднреВрдд рдФрд░, рдпрджрд┐ рдорд┐рд▓ рдЬрд╛рдП, рддреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдорд╛рдзрд╛рди рд╣реИред рдХрдИ рдкреНрд░рд╕рд┐рджреНрдз рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рд╡реИрд░рд┐рдПрдмрд▓ рд╕реНрд╡реИрдкред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг Python рдЯреНрдпреВрдкрд▓ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЗрди-рдкреНрд▓реЗрд╕ рд╕реНрд╡реИрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
def swap_numbers ( first, second) :
first, second = second, first
return first, secondрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЕрдиреНрдп рдЬрд╛рдиреЗ-рдкрд╣рдЪрд╛рдиреЗ рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ рдХреНрд╡рд┐рдХрд╕реЙрд░реНрдЯ рдХрд╛ рдбрдЪ рдлреНрд▓реИрдЧ рдкрд╛рд░реНрдЯрд┐рд╢рди рдФрд░ рдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдореЙрд░рд┐рд╕ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реАрдорд╛ рд░рд╣рддреА рд╣реИтАФрдХреБрдЫ рджрд░реНрдЬрди рд╡реИрд░рд┐рдПрдмрд▓ рддрдХтАФрдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдШрдЯрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ рдХрднреА-рдХрднреА O(1) рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдПред
рд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА: O(n)
рд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реНрдкреЗрд╕ рдЗрдирдкреБрдЯ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИред рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВтАФрдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдРрд░реЗ, рдпрд╛ рдпреВрдирд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рд╕реЗрдЯред рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреИрдЯрд░реНрди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд▓рд┐рд╕реНрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ред
рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдФрд░ рд╕рдмрд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдореЗрдВ рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдмрдврд╝рддреА рд╣реИтАФрд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд▓реЙрдЧрд░рд┐рджрдо рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╣реЛрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рд░рд┐рдХрд░реНрд╢рди рдХрд╛ рд╕реНрдЯреИрдХ рдбреЗрдкреНрде O(log(n)) рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЯреЗрд▓ рд░рд┐рдХрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрдб-рдПрдВрдб-рдХрдВрдХреНрд╡рд░ рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо, рдЬреЛ O(log(n)) рдпрд╛ O(sqrt(n)) рд╕реНрдкреЗрд╕ рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ рд╣реИрдВред
рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдФрд░ рд╕рдмрд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рджреБрд░реНрд▓рдн рд╣реИрдВ, рдкрд░ рд╡рд┐рд╢рд╛рд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛрддреА рд╣реИрдВред рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЗрдЯрд░реЗрдЯрд┐рд╡ рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ (рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рд╕реНрдкреЗрд╕) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдореЗрдВ рджреЗрдЦреЗрдВ:
def binary_search ( numbers, target) :
left = 0
right = len ( numbers) - 1
while left <= right:
mid = ( left + right) // 2
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдХреНрд╡рд╛рдбреНрд░реИрдЯрд┐рдХ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА: O(n┬▓)
рдХреНрд╡рд╛рдбреНрд░реИрдЯрд┐рдХ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрдирдкреБрдЯ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓ рдХрд░рддреА рд╣реИред рдПрдХ рдЖрдо рдЙрджрд╛рд╣рд░рдг 2D рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЯреЗрдмрд▓ рд╣реИ, рдЬрд┐рд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ O(n┬▓) рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдПрдбрдЬреЗрд╕реЗрдВрд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕, рдЬрд┐рд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ O(V┬▓) рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдЬрд╛рд░реЛрдВ рдПрд▓рд┐рдореЗрдВрдЯ рд╕реЗ рдЖрдЧреЗ рдпрд╣ рдЬрдЯрд┐рд▓рддрд╛ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдФрд░ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдЬрдЯрд┐рд▓рддрд╛, рдЬреИрд╕рд╛ рдирд╛рдо рдмрддрд╛рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХреЛ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреА рдШрд╛рдд рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рд╛рддреА рд╣реИ O(2^n), рдФрд░ рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕рднреА рд╕рдмрд╕реЗрдЯ рдпрд╛ рдирд┐рд░реНрдгрдп-рд╡реГрдХреНрд╖ рдкрдереЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред
рдЗрд╕реА рдкреНрд░рдХрд╛рд░, рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╣реЛрддреА рд╣реИ O(n!), рдФрд░ рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЗрдирдкреБрдЯ рдХреА рд╕рднреА рдкрд░рдореАрдЯреЗрд╢рдВрд╕ рдХреЛ рдПрдиреНрдпреВрдорд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдЬрдЯрд┐рд▓рддрд╛рдПрдБ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЕрддреНрдпрдзрд┐рдХ рдорд╣рдВрдЧреА рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ n>20-30 рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реЛрддреА рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░реВрдирд┐рдВрдЧ, рдПрдкреНрд░реЙрдХреНрд╕рд┐рдореЗрд╢рди, рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЬрд╝рд░реВрд░рдд рдкрдбрд╝ рд╕рдХрддреА рд╣реИред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреИрд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВ
рд╕рд┐рд╕реНрдЯрдореЗрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рднреА рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрд╢рди рдФрд░ рдЙрдирдХреА рд╡реГрджреНрдзрд┐-рдкрджреНрдзрддрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ:
рд▓рд╛рдЗрди-рдмрд╛рдп-рд▓рд╛рдЗрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╡рд┐рдзрд┐
рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдкрдВрдХреНрддрд┐-рджрд░-рдкрдВрдХреНрддрд┐ рджреЗрдЦрдирд╛ рдФрд░ рд╣рд░ рд╡реИрд░рд┐рдПрдмрд▓, рдРрд░реЗ, рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрд▓реЛрдХреЗрд╢рди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ред рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реИ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдПрд▓реЛрдХреЗрд╢рди рдХрд╛ рдЖрдХрд╛рд░ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдлрд┐рд░, рд╕реНрд╡рддрдВрддреНрд░ рдПрд▓реЛрдХреЗрд╢рди рдХреА рдореЗрдореЛрд░реА рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдкрд░рд╕реНрдкрд░ рдЕрдирдиреНрдп рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд▓реЗрдВред рдЕрдВрдд рдореЗрдВ, рд▓реЛрдХрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдПрд▓реЛрдХреЗрд╢рди рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП рд╣реАрдк рдПрд▓реЛрдХреЗрд╢рдитАФрджреЛрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
def linear_search ( arr, target) :
n = len ( arr)
for i in range ( n) :
if arr[ i] == target:
return i
return - 1
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рд░рд┐рдХрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдЕрдзрд┐рдХрддрдо рд░рд┐рдХрд░реНрд╢рди рдбреЗрдкреНрде рдЧреБрдгрд╛ рдкреНрд░рддрд┐ рдХреЙрд▓ рдлреНрд░реЗрдо рд╕реНрдкреЗрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИ; рдлрд┐рд░, рд░рд┐рдХрд░реНрд╢рди рдХреЗ рджреМрд░рд╛рди рдПрд▓реЛрдХреЗрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╕рд╣рд╛рдпрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛ рдЬреЛрдбрд╝реЗрдВ; рдмреЗрд╕ рдХреЗрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ; рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдХрд┐ рд░рд┐рдХрд░реНрд╢рди рдбреЗрдкреНрде рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИтАФрдЬреИрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд┐рдмреЛрдирд╛рдЪреА O(1) рдкреНрд░рддрд┐ рдлреНрд░реЗрдо рдХреЗ рд╕рд╛рде O(n) рдбреЗрдкреНрде рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреБрд▓ O(n) рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕реНрдкреЗрд╕ рдХреИрд▓рдХреБрд▓реЗрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
def factorial ( n) :
if n <= 1 :
return 1
return n * factorial( n - 1 )
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдорд╛рдирдХ DP рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдЖрдпрд╛рдо рд╕рдмрдкреНрд░реЙрдмреНрд▓рдо рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ; рдЗрд╕рд▓рд┐рдП, рдПрдХ-рдЖрдпрд╛рдореА рд╕рдорд╕реНрдпрд╛ рдХреЛ O(n) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ O(nxm) рд╕реНрдкреЗрд╕ред рд░реЛрд▓рд┐рдВрдЧ рдРрд░реЗ рдЬреИрд╕реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рддрдХрдиреАрдХреЗрдВ рдПрдХ рдЖрдпрд╛рдо рдШрдЯрд╛ рдХрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, O(n┬▓) рдХреЛ O(n) рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИрдВред рд╕реНрдЯреЗрдЯ рдХрдВрдкреНрд░реЗрд╢рди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИтАФрдпрджрд┐ рд░реЛ i рдХреЛ рдХреЗрд╡рд▓ i-1 рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рджреЛ рд░реЛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдХреЗрд╡рд▓ рджреЛ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдкреЗрд╕-рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реНрдб рдлрд╝рд┐рдмреЛрдирд╛рдЪреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
def fibonacci_optimized ( n) :
previous = 0
current = 1
for _ in range ( 2 , n + 1 ) :
previous, current = current, previous + current
return currentрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрджрд┐ рдЖрдк рдЖрдпрд╛рдорд┐рдХрддрд╛ рдФрд░ рдЙрд╕рдХреЗ рдиреНрдпреВрдиреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓реНрд╕ Mastering Slowly Changing Dimensions (SCD) рдФрд░ Understanding Cardinality: Challenges and Solutions for Data-Heavy Workflows рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛/рдХрд░рддреА рд╣реВрдБред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпреЗ рдЪрд░рдг рдЕрдкрдирд╛рдПрдБ:
рдкреНрд░рд╕рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдЗрдирдкреБрдЯ рд╕реНрдкреЗрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ рдпрд╛ рдирд╣реАрдВ
рдирд┐рдпрдд-рдЖрдХрд╛рд░ рдХреЗ рд╡реИрд░рд┐рдПрдмрд▓ рдФрд░ рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯ рдЧрд┐рдиреЗрдВред рд╡реЗ O(1) рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рддреЗ рд╣реИрдВ
рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдРрд░реЗ рдФрд░ рд╣реИрд╢ рдореИрдк рдЬреИрд╕реА рд╕рд╣рд╛рдпрдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдорд╛рдкреЗрдВ
рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд░рд┐рдХрд░реНрд╢рди рдбреЗрдкреНрде рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рдмрд╕реЗ рдХрд╕реЗ рд╣реБрдП рдПрд╕рд┐рдореНрдкреНрдЯреЛрдЯрд┐рдХ рдмрд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╡реНрдпрдХреНрдд рдХрд░реЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рд╕реНрдкреЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рдорд░реНрдЬрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЯреЗрдореНрдкрд░рд░реА рдРрд░реЗ рдХреЗ рд▓рд┐рдП O(n) рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реА рдУрд░, рдХреНрд╡рд┐рдХрд╕реЙрд░реНрдЯ рдФрд╕рддрди O(log n) рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ O(n) рддрдХ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рд╣реАрдк рд╕реЙрд░реНрдЯ рдЗрди-рдкреНрд▓реЗрд╕ рд╕реЙрд░реНрдЯ рдХрд░рдХреЗ рдХреЗрд╡рд▓ O(1) рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдЧрд▓рд╛ рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
def heapify ( array, heap_size, root_index) :
largest = root_index
left_child = 2 * root_index + 1
right_child = 2 * root_index + 2
рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЕрдВрдд рдореЗрдВ, рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рд╕реЙрд░реНрдЯ рдХреЛ O(k) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдБ k рд╡реИрд▓реНрдпреВ рд░реЗрдВрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм k>>n рд╣реЛ рддреЛ рдпрд╣ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред
рдЧреНрд░рд╛рдлрд╝ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рдХрдИ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреНрд░реЗрдбреНрде-рдлрд╝рд░реНрд╕реНрдЯ рд╕рд░реНрдЪ (BFS) рдПрдХ рдХреНрдпреВ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд░реНрдЯрд┐рд╕реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП O(V) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рдбреЗрдкреНрде-рдлрд╝рд░реНрд╕реНрдЯ рд╕рд░реНрдЪ (DFS) рдХреЛ рдЕрдзрд┐рдХрддрдо рдЧрд╣рд░рд╛рдИ рдХреЗ рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ O(V) рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реА рдУрд░, Dijkstra рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреНрдпреВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рджреВрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рд╣реЗрддреБ O(V) рд╕реНрдкреЗрд╕ рд▓реЗрддрд╛ рд╣реИред рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдирд┐рд░реВрдкрдг рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИтАФрдПрдбрдЬреЗрд╕реЗрдВрд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕ O(V┬▓) рд▓реЗрддреА рд╣реИ рдЬрдмрдХрд┐ рдПрдбрдЬреЗрд╕реЗрдВрд╕реА рд▓рд┐рд╕реНрдЯ O(V+E)ред┬а
рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреА рд╕реНрдкреЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Arrays рдФрд░ ArrayLists O(n) рдкрд░рд┐рдорд┐рдд (contiguous) рдореЗрдореЛрд░реА рдореЗрдВ n рдЕрд╡рдпрд╡ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, linked lists рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде O(n) рд╕реНрдерд╛рди рдЪрд╛рд╣рд┐рдП, binary trees O(n) рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐ рдиреЛрдб 2тАУ3 рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рдХрд╛рд░рдг рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, hash tables O(n) рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреА рд╣реИрдВ рдЬрд┐рд╕реЗ рд▓реЛрдб рдлреИрдХреНрдЯрд░ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ 1.5 рд╕реЗ 3 рдЧреБрдирд╛ рддрдХ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ adjacency lists рд╡рд┐рд░рд▓ рдЧреНрд░рд╛рдлрд╝реЛрдВ рдХреЗ рд▓рд┐рдП O(V+E) рд╕реНрдерд╛рди рджрдХреНрд╖рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреА рдЙрджрд╛рд╣рд░рдг рдЧрдгрдирд╛рдПрдБ
рдпрд╣рд╛рдБ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреА рдЧрдгрдирд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ
left = 0
right = len ( text) - 1
while left < right:
text[ left] , text[ right] = text[ right] , text[ left]
left += 1
right -= 1
seen_numbers = set ( )
for num in array:
if num in seen_numbers:
return True
seen_numbers. add( num)
def tree_height ( root) :
if not root:
return 0
return 1 + max ( tree_height( root. left) , tree_height( root. right) )
distance = [ [ float ( 'inf' ) ] * vertices for _ in range ( vertices) ]
for i in range ( vertices) :
distance[ i] [ i] = 0 рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдмрдирд╛рдо рдЯрд╛рдЗрдо рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рд╕рдордп рдФрд░ рд╕реНрдерд╛рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╕рд╛рдзрди рдЖрдпрд╛рдо рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреА рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ:
рдореБрдЦреНрдп рдЕрдВрддрд░ рдФрд░ рд╕рдорд╛рдирддрд╛рдПрдБ
рд╢реБрд░реВ рдореЗрдВ рд╕реНрдкреЗрд╕ рдФрд░ рдЯрд╛рдЗрдо рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╕рдорд╛рди рд▓рдЧ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рднрд┐рдиреНрди рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдо рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╕рдВрдЧрдгрдирд╛рддреНрдордХ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдорд╛рдкрддреА рд╣реИ, рдЬрдмрдХрд┐ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдореЗрдореЛрд░реА рдЙрдкрднреЛрдЧ рдХреЛ рдорд╛рдкрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рджреЛрдиреЛрдВ рдПрдХ рдЬреИрд╕реА рдЖрд╕рд┐рдореНрдкрдЯреЛрдЯрд┐рдХ рд╕рдВрдХреЗрддрди рдФрд░ рдЧрдгрд┐рддреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдордЭрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ рдХрд┐ рдХреЛрдИ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдПрдХ рдЖрдпрд╛рдо рдореЗрдВ рд╢реНрд░реЗрд╖реНрда рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рджреВрд╕рд░реЗ рдореЗрдВ рдЕрд▓реНрдк-рдкреНрд░рднрд╛рд╡реАред рдЕрдиреБрдХреВрд▓рди рдЕрдХреНрд╕рд░ рд╕рдордп рдШрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдмрдврд╝рд╛рдиреЗ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХреЗ рдмреАрдЪ рд╕рдордЭреМрддрд╛ рд╣реЛрддрд╛ рд╣реИред
рдореМрд▓рд┐рдХ рдЯреНрд░реЗрдб-рдСрдл рдХреЛ рд╕рдордЭрдирд╛
рдЬрдм рдЖрдк рд╕рдордп рдХреЗ рдмрджрд▓реЗ рд╕реНрдерд╛рди рдХрд╛ рд╕реМрджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреВрд░реНрд╡-рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧрдгрдирд╛рдПрдБ рд╕рдорд╛рдкреНрдд рд╣реЛрдВред рджреВрд╕рд░реА рдУрд░, рд╕реНрдерд╛рди рдХреЗ рдмрджрд▓реЗ рд╕рдордп рдХрд╛ рд╕реМрджрд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдкреБрди:рдЧрдгрдирд╛ рдХрд░рдирд╛ред Lookup tables рдмрд╛рд░-рдмрд╛рд░ O(1) рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХрдореБрд╢реНрдд рд╕реНрдерд╛рди рдирд┐рд╡реЗрд╢ рд╕реЗ рд╡рд┐рдирд┐рдордп рдХрд░рддреА рд╣реИрдВред рдореЗрдореЛрд░реА рд╕реАрдорд╛рдПрдБ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдЬреИрд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдзрд╛рдПрдБ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдПред
рдореЗрдореЛрд░рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди
рдореЗрдореЛрд░рд╛рдЗрдЬрд╝реЗрд╢рди рдкреБрди:рдЧрдгрдирд╛ рдХреЗ рдмрдЬрд╛рдп рдорд╛рдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рдпрд╣ рд╕рдордп рдореЗрдВ рдХреБрд╢рд▓ рд╣реИ рд▓реЗрдХрд┐рди рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреВрд▓ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ recursive Fibonacci рдореЗрдВ O(n) рдХреИрд╢ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдордп рдХреЛ O(2^n) рд╕реЗ рдШрдЯрд╛рдХрд░ O(n) рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдиреАрдЪреЗ рдореЗрдореЛрд░рд╛рдЗрдЬрд╝реНрдб Fibonacci рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреБрди:рдЧрдгрдирд╛ рд╕реЗ рдмрдЪрддреЗ рд╣реБрдП:
memory = { }
def fibonacci_memory ( n) :
if n in memo:
return memory[ n]
if n <= 1 :
return n
memory[ n] = fibonacci_memory( n- 1 ) + fibonacci_memory( n- 2 )
return memory[ n] рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рджреВрд╕рд░реА рдУрд░, рдмреЙрдЯрдо-рдЕрдк рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реНрдЯреИрдХ рдУрд╡рд░рд╣реЗрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИред рд╕реНрдерд╛рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╡рд╣реА рдкрд┐рдЫрд▓реЗ рд╕реНрдЯреЗрдЯреНрд╕ рд░рдЦрдиреЗ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдВ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдкрд╛рджрди рджреВрд░реА рдХреЛ O(nxm) рдЯреЗрдмрд▓ рд╕реЗ рдШрдЯрд╛рдХрд░ O(min(n,m)) рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рд░рдЦрдХрд░ред
рдЗрди-рдкреНрд▓реЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рддрдХрдиреАрдХреЗрдВ
рдЗрди-рдкреНрд▓реЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдирдП рдореЗрдореЛрд░реА рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрдирдкреБрдЯ рдХреЛ рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ, рдпрджрд┐ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдП, рддреЛ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдШрдЯрддреА рд╣реИ, рдЬреИрд╕реЗ рдиреАрдЪреЗ рдЗрди-рдкреНрд▓реЗрд╕ array rotation (Reversal algorithm) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ:
def rotate_array ( nums, k) :
n = len ( nums)
k = k % n
reverse( nums, 0 , k - 1 )
reverse( nums, k, n - 1 )
reverse( nums, 0 , n - 1 ) рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЕрдиреНрдп рдЗрди-рдкреНрд▓реЗрд╕ рддрдХрдиреАрдХреЗрдВ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдШрдЯрд╛рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, two-pointer рддрдХрдиреАрдХ O(1) рд╕рд╣рд╛рдпрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде array рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ cyclic sort рддрддреНрд╡реЛрдВ рдХреЛ рд╕рд╣реА рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЕрджрд▓рд╛-рдмрджрд▓реА рдХрд░рдХреЗ рдХреНрд░рдордЪрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ O(1) рд╕реНрдерд╛рди рдореЗрдВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрди-рдкреНрд▓реЗрд╕ рд╕рдВрд╢реЛрдзрди рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреБрди:рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рдХреЛрдб рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреА рд╣реИред
рд╕реНрдкреЗрд╕ рджрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЪрдпрди
рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордЭреМрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ; рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдХрд╛рд░ рдЬреНрдЮрд╛рдд рд╣реЛ рддреЛ linked lists рдХреА рддреБрд▓рдирд╛ рдореЗрдВ arrays рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ, рдкреНрд░рддрд┐-рддрддреНрд╡ рдкреЙрдЗрдВрдЯрд░ рдУрд╡рд░рд╣реЗрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ, рдФрд░ boolean flags рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рд╕реЗ byte arrays рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 8 рдЧреБрдирд╛ рд╕рдВрдкреАрдбрд╝рди рдорд┐рд▓рддрд╛ рд╣реИред Tries рдмрдбрд╝реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдЧреНрд░рд╣реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрд╕рд░реНрдЧ рд╕рд╛рдЭрд╛ рдХрд░рдХреЗ рд╕реНрдерд╛рди рджрдХреНрд╖рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд░рд▓ рдЧреНрд░рд╛рдлрд╝реЛрдВ рдХреЗ рд▓рд┐рдП, O(V┬▓) рд╕реНрдерд╛рди рдХреЗ рдмрдЬрд╛рдп O(V+E) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╣реЗрддреБ adjacency lists рдЪреБрдиреЗрдВред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдПрдБ
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдФрд░ рд░рдирдЯрд╛рдЗрдо рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред
рднрд╛рд╖рд╛ рдФрд░ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛рд░рдХ
Python рдФрд░ Java рдЬреИрд╕реА рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рддрд┐-рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддреА рд╣реИрдВ, рдЬрдмрдХрд┐ C рдФрд░ C++ рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдХреАрдордд рдкрд░ рд╕рдЯреАрдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рд╕рдВрднрд╡рддрдГ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ PyTorch рдЬреИрд╕реЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП C++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рд╕реАрдорд╛рдПрдБ рдЖрдо рддреМрд░ рдкрд░ 1 рд╕реЗ 8MB рддрдХ рд╣реЛрддреА рд╣реИрдВ, рдЬреЛ рдЕрдзрд┐рдХрддрдо рд░рд┐рдХрд░реНрд╢рди рдЧрд╣рд░рд╛рдИ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ 64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо 8-рдмрд╛рдЗрдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрдмрдХрд┐ 32-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо 4-рдмрд╛рдЗрдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛, рдЬрд┐рд╕рд╕реЗ рдкреЙрдЗрдВрдЯрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЖрдХрд╛рд░ рджреЛрдЧреБрдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдЪреНрдЪ-рдЖрдпрд╛рдореА рдбреЗрдЯрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдЯреНрдпреВ рдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВ:┬а The Curse of Dimensionality in Machine Learning .
рдореЗрдореЛрд░реА рдкрджрд╛рдиреБрдХреНрд░рдо рдФрд░ рдХреИрд╢ рдкреНрд░рднрд╛рд╡
рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХрд╛ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдореЛрд░реА рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рдмрд╣реБрдд рд╣рдж рддрдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред RAM рдПрдХреНрд╕реЗрд╕ рдореЗрдВ рд▓рдЧрднрдЧ 100 рдиреИрдиреЛрд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ CPU рдХреИрд╢ рдПрдХреНрд╕реЗрд╕ рдореЗрдВ 1 рд╕реЗ 10 рдиреИрдиреЛрд╕реЗрдХрдВрдб, рдЬреЛ 100 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ, рдЕрдиреБрдХреНрд░рдорд┐рдХ рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХреИрд╢ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдорддреМрд░ рдкрд░ 64 рдмрд╛рдЗрдЯ рд╕рд╛рде рдореЗрдВ рд▓реЛрдб рд╣реЛрддреА рд╣реИрдВред
рдЕрдЪреНрдЫреА рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдерд╛рдиреАрдпрддрд╛ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреИрд╢ рджрдХреНрд╖рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдХреНрд╖рдорддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдмрдбрд╝реЗ рд╕реЗрдЯреНрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдереНрд░реИрд╢рд┐рдВрдЧ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдШрдЯрд╛ рджреЗрддреА рд╣реИред
рдЧрд╛рд░реНрдмреЗрдЬ рдХрд▓реЗрдХреНрд╢рди рдФрд░ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди
рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рдЯреВрд▓ garbage collection рд╣реИ, рдЬреЛ рдЕрдм рдЙрдкрдпреЛрдЧреА рди рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, garbage collectors рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧ рдФрд░ рдЬреЗрдирд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдкреАрдХ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд▓рд╛рдЗрд╡ рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд▓реЗрдХреНрд╢рди рд╕рд╛рдЗрдХрд▓реНрд╕ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рдЖрд╡рдВрдЯрди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ, Generational GC рдЕрд▓реНрдкрд╛рдпреБ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпреБрд╡рд╛ рдЬреЗрдирд░реЗрд╢рдиреЛрдВ рдХреЛ рдЫреЛрдЯреЗ рд╕реНрдкреЗрд╕ рдореЗрдВ рд░рдЦрдХрд░ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдирд┐рд░реНрдзрд╛рд░рдХ рд╕реНрдерд╛рди рдирд┐рдпрдВрддреНрд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореИрдиреБрдЕрд▓ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдЬреЛрдЦрд┐рдореЛрдВ, рдЬреИрд╕реЗ memory leaks рдФрд░ рдлреНрд░реИрдЧрдореЗрдВрдЯреЗрд╢рди, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдкрд░ рдореЗрд░рд╛ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдВрдд рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рдЕрдВрддрд┐рдо рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛:
рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рд╕реНрдкреЗрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рддрд╛рдХрд┐ рдЗрдВрдЯрд░рд╡реНрдпреВ рдФрд░ рдХреЛрдб рд░рд┐рд╡реНрдпреВ рдореЗрдВ рдЧрд▓рддрдлрд╣рдореА рди рд╣реЛред
рдкрд╣рд▓реЗ рд╢реБрджреНрдзрддрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ, рдлрд┐рд░ рдХреЗрд╡рд▓ рддрдм рд╕реНрдкреЗрд╕ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ рдЬрдм рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд╛рдзрд╛рдПрдБ рджрд┐рдЦрд╛рдПред
рдорд╣рдБрдЧреЗ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╢реБрд░реБрдЖрддреА рдЪрд░рдг рдореЗрдВ рд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рдореЗрдореЛрд░реА рдмрд╛рдзрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╣рдореЗрд╢рд╛ рднрд╛рд╖рд╛-рдЙрдкрдпреБрдХреНрдд рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЯреВрд▓ рдЪреБрдиреЗрдВ рддрд╛рдХрд┐ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдорд╛рдиреНрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рд╕реНрдкреЗрд╕ рдЕрдиреБрдХреВрд▓рди рд╡ рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рдмрдирд╛рдП рд░рдЦреЗрдВред рдЕрддреНрдпрдзрд┐рдХ рдЪрддреБрд░ рдЕрдиреБрдХреВрд▓рди рдЕрдиреБрд░рдХреНрд╖рдг рдХреНрд╖рдорддрд╛ рдХреЛ рднреА рдиреБрдХрд╕рд╛рди рдкрд╣реБрдБрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред┬а
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдмрдврд╝рдиреЗ рдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдорд╛рдкрддреА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреНрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдХреИрд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдиреНрдпреВрдирддрдо рдХрд░реЗрдВред рд╕рд╛рде рд╣реА, рдореИрдВ рдЗрд╕рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдФрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЖрдзрд╛рд░ рднреА рдХрд╡рд░ рдХрд░реВрдВрдЧрд╛ред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рд╕рдордЭрдирд╛
рдЧрдгрдирд╛рдУрдВ рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд▓реЗрдВ рдХрд┐ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреНрдпрд╛ рд╣реИ?
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд╣ рдХреБрд▓ рдореЗрдореЛрд░реА рд╣реИ рдЬрд┐рд╕рдХреА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдореЛрд░реА рдлреБрдЯрдкреНрд░рд┐рдВрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдФрд░ рдХреБрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЗрдирдкреБрдЯ, рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдФрд░ рдУрд╡рд░рд╣реЗрдб рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдЖрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдРрд░реЗ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рд▓реЗрдВ: рдХреБрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдРрд░реЗ рд╕реНрд╡рдпрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрдмрдХрд┐ рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдЯреЗрдореНрдк рд╕реНрдкреЗрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдЖрдзреБрдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ, рд╕реНрдкреЗрд╕ рдПрдлрд┐рд╢рд┐рдПрдВрд╕реА рдЕрдХреНрд╕рд░ рдирд┐рд░реНрдгрд╛рдпрдХ рд╣реЛрддреА рд╣реИред рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдХреЗ, рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рд╕реАрдорд┐рдд RAM рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓ рд╕рдХреЗрдВтАФрдЬреИрд╕реЗ IoT рдХреЗ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд╕реНрдорд╛рд░реНрдЯрдлрд╝реЛрдитАФрдпрд╛ рдлрд┐рд░ рдмрдбрд╝реЗ рд╕рд┐рд╕реНрдЯрдо рдЬрд┐рдирдореЗрдВ рд╕рдВрд╕рд╛рдзрди-рдЙрдкрднреЛрдХреНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ рдЬрд╣рд╛рдБ RAM рдХрд╛ рд╣рд░ рдмрд┐рдЯ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред
рдореЛрдмрд╛рдЗрд▓ рдРрдкреНрд╕ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдВ: рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХрд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХреНрд░реИрд╢ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред рдпрд╛ рдХреНрд▓рд╛рдЙрдб рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рд▓рд╛рдЧрдд рдШрдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ, рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдореЗрдВ рдмрд┐рдирд╛ рдкреВрд░рд╛ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд┐рдП рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдПрд╕рд┐рдореНрдкреНрдЯреЛрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди
рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдмрд┐рдЧ O рдЬреИрд╕реА рдПрд╕рд┐рдореНрдкреНрдЯреЛрдЯрд┐рдХ рдиреЛрдЯреЗрд╢рди рд╕реНрдкреЗрд╕ рд╡реГрджреНрдзрд┐ рдХреЛ рдХреИрд╕реЗ рджрд░реНрд╢рд╛рддреА рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реАрдорд╛рдмрджреНрдз рдФрд░ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдЙрдкрдХрд░рдг рджреВрдВрдЧрд╛ред
рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп
рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ, рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди f(n) рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди g(n) рд╕реЗ рдбреЙрдорд┐рдиреЗрдЯреЗрдб рд╣реИ рдпрджрд┐ рдРрд╕реЗ рд╕реНрдерд┐рд░рд╛рдВрдХ c рдФрд░ k рдореМрдЬреВрдж рд╣реЛрдВ, рдХрд┐ рд╕рднреА k>n рдХреЗ рд▓рд┐рдП, 0 тЙд |f(n)| тЙд |g(n)|ред
рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ f(n)=O(g(n)), рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ f(n) g(n) рдХрд╛ рдмрд┐рдЧ O рд╣реИред
рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рдж f(n) рдХреА рд╡реГрджреНрдзрд┐ g(n) рд╕реЗ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛрддреАред
рдмрд┐рдЧ O рдиреЛрдЯреЗрд╢рди, рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ n рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреА рдКрдкрд░реА рд╕реАрдорд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╣рдо рдмрдбрд╝реЗ n рдХреЗ рд▓рд┐рдП рдкреНрд░рдореБрдЦ рдкрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВред рдпрд╣ рдиреЛрдЯреЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, O(n) рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рджреЛрдЧреБрдирд╛ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдкреЗрд╕ рднреА рд▓рдЧрднрдЧ рджреЛрдЧреБрдирд╛ рд╣реЛрддрд╛ рд╣реИред
рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдореЗрдВ рдПрдХ рдЖрдо рдЧрд▓рддрдлрд╣рдореА рд╣реИ рдХрд┐ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП рдмрд┐рдЧ O рд╕реНрдерд┐рд░рд╛рдВрдХреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддрд╛ рд╣реИтАФрдЬреИрд╕реЗ 2n рднреА O(n) рд╣реИтАФрдкрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЫреЛрдЯреЗ n рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░рд╛рдВрдХ рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВред
рд╕рдВрдмрдВрдзрд┐рдд рдПрд╕рд┐рдореНрдкреНрдЯреЛрдЯрд┐рдХ рдиреЛрдЯреЗрд╢рди
рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд┐рдЧ рдУрдореЗрдЧрд╛ рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдиреНрдпреВрдирддрдо рд╕реНрдкреЗрд╕ рдЬрд░реВрд░рдд рдХреЛ рд╕рд┐рджреНрдз рдХрд░рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИтАФрдЬреИрд╕реЗ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдо-рд╕реЗ-рдХрдо ╬й(n) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдФрд░ рдиреЛрдЯреЗрд╢рди рдмрд┐рдЧ рдереАрдЯрд╛ рд╣реИ, рдЬреЛ рддрдм рдХрд╕рд╛ рд╣реБрдЖ рдмрд╛рдЙрдВрдб рджреЗрддрд╛ рд╣реИ рдЬрдм рдКрдкрд░реА рдФрд░ рдирд┐рдЪрд▓реА рд╕реАрдорд╛рдПрдБ рдорд┐рд▓рддреА рд╣реИрдВ, рдЬреЛ рд╕рдЯреАрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИтАФрдЬреИрд╕реЗ рд░реИрдЦрд┐рдХ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП O(n) = ╬Ш(n)ред
рдЕрдиреНрдп рдиреЛрдЯреЗрд╢рдирд▓ рдкрд░рдВрдкрд░рд╛рдПрдБ
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рдХреБрдЫ рдЕрдиреНрдп рдкрд░рдВрдкрд░рд╛рдПрдБ рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕реЙрдлреНрдЯ-O рдиреЛрдЯреЗрд╢рди ├Х, рдЬреЛ рдкреЙрд▓реАрд▓реЙрдЧ рдХрд╛рд░рдХреЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдиреНрдирдд рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо, рдЬреИрд╕реЗ рдЧреНрд░рд╛рдлрд╝ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рдореЗрдВ рдЖрдо рд╣реИ рдЬрд╣рд╛рдБ рд▓реЙрдЧ рдлреИрдХреНрдЯрд░ рдирдЧрдгреНрдп рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╢реЛрдз-рдкрддреНрд░реЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ ├Х рджреНрд╡рд╛рд░рд╛ рд╕рдм-рд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЗ рдШрдЯрдХ
рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЗ рдХрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдмрд┐рдВрджреБ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ:
рдЗрдирдкреБрдЯ рд╕реНрдкреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╕реНрдкреЗрд╕ рд▓реЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐рд╕реА рдРрд░реЗ рдХреЗ рд▓рд┐рдП O(n) рдпрд╛ рдЬреАрдиреЛрдорд┐рдХ рд╕реАрдХреНрд╡реЗрдВрд╕ рдЬреИрд╕реЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдПред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдХреЛрдбрд┐рдВрдЧ рдЗрдВрдЯрд░рд╡реНрдпреВ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрдирдкреБрдЯ рд╕реНрдкреЗрд╕ рдХреЛ рдЕрдХреНрд╕рд░ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рдХреБрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдЗрдирдкреБрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред
рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рдореЗрдореЛрд░реА
рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рд╡рд╣ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рд╣реИ рдЬрд┐рд╕рдХреА рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рдЕрдкрдиреЗ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕реАрдзреЗ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ рдЯреЗрдореНрдк рдРрд░реЗ рдХреЗ рд▓рд┐рдП O(n) рд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдвреВрдВрдврдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдЯреЗрдмрд▓ (O(n)), рдкреИрд░реЗрдВрдерд┐рд╕рд┐рд╕ рдореИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░рд┐рдХрд░реНрд╢рди рд╕реНрдЯреИрдХ (O(n)) рдЖрджрд┐ рдЖрддреЗ рд╣реИрдВред
рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рд╣рд╛рдпрдХ-рд╕реНрдкреЗрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рджреЛ-рдкреЙрдЗрдВрдЯрд░ рд╡рд┐рдзрд┐ (O(1)), рдбреЗрдХ рдХреЗ рд╕рд╛рде рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ-рд╡рд┐рдВрдбреЛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо (O(k)), рдФрд░ BFS рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рдЬрд┐рдЯреЗрдб рд╕реЗрдЯ рдФрд░ рдХреНрдпреВ рдХреЗ рд▓рд┐рдП O(V) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдорд░реНрдЬ рд╕реНрдЯреЗрдк рдХреЗ рджреМрд░рд╛рди рдЯреЗрдореНрдкрд░рд░реА рдРрд░реЗ рдкрд░ рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдХреЗ рдПрдХ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
рдХреЙрд▓ рд╕реНрдЯреИрдХ рдФрд░ рд░рд┐рдХрд░реНрд╢рди рд╕реНрдкреЗрд╕
рд╣рд░ рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдХреЙрд▓ рдПрдХ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдЬреЛрдбрд╝рддреА рд╣реИ (рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ + рдкреИрд░рд╛рдореАрдЯрд░ + рд▓реЛрдХрд▓реНрд╕)ред
рджреВрд╕рд░реА рдУрд░, рд░реИрдЦрд┐рдХ рд░рд┐рдХрд░реНрд╢рди, рдЬреИрд╕реЗ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдпрд╛ рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рдкрд░ DFS, рдХрд╛ рд╕реНрдЯреИрдХ O(n) рд╣реЛрддрд╛ рд╣реИред
рдмрд╛рдЗрдирд░реА рд░рд┐рдХрд░реНрд╢рди, рдЬреИрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд┐рдмреЛрдирд╛рдЪреА рдпрд╛ рдЯреНрд░реА рд░рд┐рдХрд░реНрд╢рди, рдХрд╛ рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ O(n) рд╣реЛрддрд╛ рд╣реИред
рдЯреЗрд▓-рдХреЙрд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди, рдЬрд┐рд╕реЗ Scheme, Rust рдореЗрдВ рдФрд░ рдХрднреА-рдХрднреА Python рдореЗрдВ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ O(1) рддрдХ рдШрдЯрд╛ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреЛрдЦрд┐рдо Python рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рд┐рдХрд░реНрд╢рди рд▓рд┐рдорд┐рдЯ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ 1000 рд╣реИ, рдФрд░ рдЧрд╣рд░реЗ рдЯреНрд░реА рдкрд░ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдХрд░рд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рд╕рд╛рдзрд╛рд░рдг рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдлрд╝рд┐рдмреЛрдирд╛рдЪреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рд╕реНрдЯреИрдХ рд╡реГрджреНрдзрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
Python рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдмреНрд▓реЙрдЧ Analyzing Complexity of Code through Python рджреЗрдЦреЗрдВред
рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдУрд╡рд░рд╣реЗрдб
рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдУрд╡рд░рд╣реЗрдб рдХреА рдЕрдЪреНрдЫреА рдмрд╛рдд рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдкреНрд░рддрд┐-рддрддреНрд╡/рдирд┐рдпрдд рд▓рд╛рдЧрдд рдЬреЛрдбрд╝рддреЗ рд╣реИрдВтАФрдЬреИрд╕реЗ рдРрд░реЗ рдХрд╛ рдиреНрдпреВрдирддрдо рдУрд╡рд░рд╣реЗрдб, рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкреЗрд╕, рдФрд░ рдХрдИ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгред┬а
рдлрд┐рд░ рднреА, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдмрдбрд╝рд╛ рдкреНрд░рднрд╛рд╡ рд╣реЛрддрд╛ рд╣реИред Python рд▓рд┐рд╕реНрдЯ рдореЗрдВ рдбрд╛рдпрдиреЗрдорд┐рдХ рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ C рдРрд░реЗ рдореЗрдВ рдирд╣реАрдВтАФрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 75% рд▓реЛрдб рдлреИрдХреНрдЯрд░ рд╡рд╛рд▓реЗ рд╣реИрд╢ рдореИрдк рдЦрд╛рд▓реА рдмрдХреЗрдЯреНрд╕ рдкрд░ рд╕реНрдкреЗрд╕ рдмрд░реНрдмрд╛рдж рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреЗ рдкреНрд░рдХрд╛рд░
рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА: O(1)
рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдореВрд▓рднреВрдд рдФрд░, рдпрджрд┐ рдорд┐рд▓ рдЬрд╛рдП, рддреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдорд╛рдзрд╛рди рд╣реИред рдХрдИ рдкреНрд░рд╕рд┐рджреНрдз рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рд╡реИрд░рд┐рдПрдмрд▓ рд╕реНрд╡реИрдкред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг Python рдЯреНрдпреВрдкрд▓ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЗрди-рдкреНрд▓реЗрд╕ рд╕реНрд╡реИрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
рдЕрдиреНрдп рдЬрд╛рдиреЗ-рдкрд╣рдЪрд╛рдиреЗ рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдореЗрдВ рдХреНрд╡рд┐рдХрд╕реЙрд░реНрдЯ рдХрд╛ рдбрдЪ рдлреНрд▓реИрдЧ рдкрд╛рд░реНрдЯрд┐рд╢рди рдФрд░ рдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдореЙрд░рд┐рд╕ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реАрдорд╛ рд░рд╣рддреА рд╣реИтАФрдХреБрдЫ рджрд░реНрдЬрди рд╡реИрд░рд┐рдПрдмрд▓ рддрдХтАФрдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдШрдЯрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ рдХрднреА-рдХрднреА O(1) рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдПред
рд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА: O(n)
рд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реНрдкреЗрд╕ рдЗрдирдкреБрдЯ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИред рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВтАФрдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдРрд░реЗ, рдпрд╛ рдпреВрдирд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рд╕реЗрдЯред рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреИрдЯрд░реНрди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд▓рд┐рд╕реНрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ред
рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдФрд░ рд╕рдмрд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдореЗрдВ рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдмрдврд╝рддреА рд╣реИтАФрд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рд▓реЙрдЧрд░рд┐рджрдо рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╣реЛрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рд░рд┐рдХрд░реНрд╢рди рдХрд╛ рд╕реНрдЯреИрдХ рдбреЗрдкреНрде O(log(n)) рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЯреЗрд▓ рд░рд┐рдХрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрдб-рдПрдВрдб-рдХрдВрдХреНрд╡рд░ рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо, рдЬреЛ O(log(n)) рдпрд╛ O(sqrt(n)) рд╕реНрдкреЗрд╕ рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ рд╣реИрдВред
рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдФрд░ рд╕рдмрд▓рд┐рдирд┐рдпрд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рджреБрд░реНрд▓рдн рд╣реИрдВ, рдкрд░ рд╡рд┐рд╢рд╛рд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛрддреА рд╣реИрдВред рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЗрдЯрд░реЗрдЯрд┐рд╡ рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ (рдХреЙрдирд╕реНрдЯреЗрдВрдЯ рд╕реНрдкреЗрд╕) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдореЗрдВ рджреЗрдЦреЗрдВ:
рдХреНрд╡рд╛рдбреНрд░реИрдЯрд┐рдХ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА: O(n┬▓)
рдХреНрд╡рд╛рдбреНрд░реИрдЯрд┐рдХ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрдирдкреБрдЯ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓ рдХрд░рддреА рд╣реИред рдПрдХ рдЖрдо рдЙрджрд╛рд╣рд░рдг 2D рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЯреЗрдмрд▓ рд╣реИ, рдЬрд┐рд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ O(n┬▓) рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдПрдбрдЬреЗрд╕реЗрдВрд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕, рдЬрд┐рд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ O(V┬▓) рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдЬрд╛рд░реЛрдВ рдПрд▓рд┐рдореЗрдВрдЯ рд╕реЗ рдЖрдЧреЗ рдпрд╣ рдЬрдЯрд┐рд▓рддрд╛ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдФрд░ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдЬрдЯрд┐рд▓рддрд╛, рдЬреИрд╕рд╛ рдирд╛рдо рдмрддрд╛рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХреЛ рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреА рдШрд╛рдд рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рд╛рддреА рд╣реИ O(2^n), рдФрд░ рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕рднреА рд╕рдмрд╕реЗрдЯ рдпрд╛ рдирд┐рд░реНрдгрдп-рд╡реГрдХреНрд╖ рдкрдереЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред
рдЗрд╕реА рдкреНрд░рдХрд╛рд░, рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рдХреЗ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╣реЛрддреА рд╣реИ O(n!), рдФрд░ рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЗрдирдкреБрдЯ рдХреА рд╕рднреА рдкрд░рдореАрдЯреЗрд╢рдВрд╕ рдХреЛ рдПрдиреНрдпреВрдорд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдЬрдЯрд┐рд▓рддрд╛рдПрдБ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЕрддреНрдпрдзрд┐рдХ рдорд╣рдВрдЧреА рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ n>20-30 рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реЛрддреА рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░реВрдирд┐рдВрдЧ, рдПрдкреНрд░реЙрдХреНрд╕рд┐рдореЗрд╢рди, рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЬрд╝рд░реВрд░рдд рдкрдбрд╝ рд╕рдХрддреА рд╣реИред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреИрд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВ
рд╕рд┐рд╕реНрдЯрдореЗрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рднреА рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрд╢рди рдФрд░ рдЙрдирдХреА рд╡реГрджреНрдзрд┐-рдкрджреНрдзрддрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ:
рд▓рд╛рдЗрди-рдмрд╛рдп-рд▓рд╛рдЗрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╡рд┐рдзрд┐
рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдкрдВрдХреНрддрд┐-рджрд░-рдкрдВрдХреНрддрд┐ рджреЗрдЦрдирд╛ рдФрд░ рд╣рд░ рд╡реИрд░рд┐рдПрдмрд▓, рдРрд░реЗ, рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрд▓реЛрдХреЗрд╢рди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ред рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реИ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдПрд▓реЛрдХреЗрд╢рди рдХрд╛ рдЖрдХрд╛рд░ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдлрд┐рд░, рд╕реНрд╡рддрдВрддреНрд░ рдПрд▓реЛрдХреЗрд╢рди рдХреА рдореЗрдореЛрд░реА рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдкрд░рд╕реНрдкрд░ рдЕрдирдиреНрдп рдмреНрд░рд╛рдВрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд▓реЗрдВред рдЕрдВрдд рдореЗрдВ, рд▓реЛрдХрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдПрд▓реЛрдХреЗрд╢рди рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП рд╣реАрдк рдПрд▓реЛрдХреЗрд╢рдитАФрджреЛрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рд░рд┐рдХрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдЕрдзрд┐рдХрддрдо рд░рд┐рдХрд░реНрд╢рди рдбреЗрдкреНрде рдЧреБрдгрд╛ рдкреНрд░рддрд┐ рдХреЙрд▓ рдлреНрд░реЗрдо рд╕реНрдкреЗрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИ; рдлрд┐рд░, рд░рд┐рдХрд░реНрд╢рди рдХреЗ рджреМрд░рд╛рди рдПрд▓реЛрдХреЗрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╕рд╣рд╛рдпрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛ рдЬреЛрдбрд╝реЗрдВ; рдмреЗрд╕ рдХреЗрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ; рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдХрд┐ рд░рд┐рдХрд░реНрд╢рди рдбреЗрдкреНрде рдЗрдирдкреБрдЯ рд╕рд╛рдЗрдЬ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИтАФрдЬреИрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд┐рдмреЛрдирд╛рдЪреА O(1) рдкреНрд░рддрд┐ рдлреНрд░реЗрдо рдХреЗ рд╕рд╛рде O(n) рдбреЗрдкреНрде рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреБрд▓ O(n) рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдлреИрдХреНрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕реНрдкреЗрд╕ рдХреИрд▓рдХреБрд▓реЗрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдорд╛рдирдХ DP рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдЖрдпрд╛рдо рд╕рдмрдкреНрд░реЙрдмреНрд▓рдо рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ; рдЗрд╕рд▓рд┐рдП, рдПрдХ-рдЖрдпрд╛рдореА рд╕рдорд╕реНрдпрд╛ рдХреЛ O(n) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ O(nxm) рд╕реНрдкреЗрд╕ред рд░реЛрд▓рд┐рдВрдЧ рдРрд░реЗ рдЬреИрд╕реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рддрдХрдиреАрдХреЗрдВ рдПрдХ рдЖрдпрд╛рдо рдШрдЯрд╛ рдХрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, O(n┬▓) рдХреЛ O(n) рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИрдВред рд╕реНрдЯреЗрдЯ рдХрдВрдкреНрд░реЗрд╢рди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИтАФрдпрджрд┐ рд░реЛ i рдХреЛ рдХреЗрд╡рд▓ i-1 рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рджреЛ рд░реЛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдХреЗрд╡рд▓ рджреЛ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдкреЗрд╕-рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реНрдб рдлрд╝рд┐рдмреЛрдирд╛рдЪреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдпрджрд┐ рдЖрдк рдЖрдпрд╛рдорд┐рдХрддрд╛ рдФрд░ рдЙрд╕рдХреЗ рдиреНрдпреВрдиреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓реНрд╕ Mastering Slowly Changing Dimensions (SCD) рдФрд░ Understanding Cardinality: Challenges and Solutions for Data-Heavy Workflows рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛/рдХрд░рддреА рд╣реВрдБред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпреЗ рдЪрд░рдг рдЕрдкрдирд╛рдПрдБ:
рд╕рд╛рдорд╛рдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рд╕реНрдкреЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
рдорд░реНрдЬ рд╕реЙрд░реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЛ рдорд░реНрдЬрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЯреЗрдореНрдкрд░рд░реА рдРрд░реЗ рдХреЗ рд▓рд┐рдП O(n) рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реА рдУрд░, рдХреНрд╡рд┐рдХрд╕реЙрд░реНрдЯ рдФрд╕рддрди O(log n) рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ O(n) рддрдХ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рд╣реАрдк рд╕реЙрд░реНрдЯ рдЗрди-рдкреНрд▓реЗрд╕ рд╕реЙрд░реНрдЯ рдХрд░рдХреЗ рдХреЗрд╡рд▓ O(1) рд╕рд╣рд╛рдпрдХ рд╕реНрдкреЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдЧрд▓рд╛ рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
рдЕрдВрдд рдореЗрдВ, рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рд╕реЙрд░реНрдЯ рдХреЛ O(k) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдБ k рд╡реИрд▓реНрдпреВ рд░реЗрдВрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм k>>n рд╣реЛ рддреЛ рдпрд╣ рдЕрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред
рдЧреНрд░рд╛рдлрд╝ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рдХрдИ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреНрд░реЗрдбреНрде-рдлрд╝рд░реНрд╕реНрдЯ рд╕рд░реНрдЪ (BFS) рдПрдХ рдХреНрдпреВ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд░реНрдЯрд┐рд╕реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП O(V) рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рдбреЗрдкреНрде-рдлрд╝рд░реНрд╕реНрдЯ рд╕рд░реНрдЪ (DFS) рдХреЛ рдЕрдзрд┐рдХрддрдо рдЧрд╣рд░рд╛рдИ рдХреЗ рд╡рд░реНрд╕реНрдЯ-рдХреЗрд╕ рдореЗрдВ O(V) рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реА рдУрд░, Dijkstra рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреНрдпреВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рджреВрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рд╣реЗрддреБ O(V) рд╕реНрдкреЗрд╕ рд▓реЗрддрд╛ рд╣реИред рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдирд┐рд░реВрдкрдг рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИтАФрдПрдбрдЬреЗрд╕реЗрдВрд╕реА рдореИрдЯреНрд░рд┐рдХреНрд╕ O(V┬▓) рд▓реЗрддреА рд╣реИ рдЬрдмрдХрд┐ рдПрдбрдЬреЗрд╕реЗрдВрд╕реА рд▓рд┐рд╕реНрдЯ O(V+E)ред┬а
рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреА рд╕реНрдкреЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Arrays рдФрд░ ArrayLists O(n) рдкрд░рд┐рдорд┐рдд (contiguous) рдореЗрдореЛрд░реА рдореЗрдВ n рдЕрд╡рдпрд╡ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, linked lists рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде O(n) рд╕реНрдерд╛рди рдЪрд╛рд╣рд┐рдП, binary trees O(n) рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐ рдиреЛрдб 2тАУ3 рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рдХрд╛рд░рдг рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, hash tables O(n) рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреА рд╣реИрдВ рдЬрд┐рд╕реЗ рд▓реЛрдб рдлреИрдХреНрдЯрд░ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ 1.5 рд╕реЗ 3 рдЧреБрдирд╛ рддрдХ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ adjacency lists рд╡рд┐рд░рд▓ рдЧреНрд░рд╛рдлрд╝реЛрдВ рдХреЗ рд▓рд┐рдП O(V+E) рд╕реНрдерд╛рди рджрдХреНрд╖рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреА рдЙрджрд╛рд╣рд░рдг рдЧрдгрдирд╛рдПрдБ
рдпрд╣рд╛рдБ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдХреА рдЧрдгрдирд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдмрдирд╛рдо рдЯрд╛рдЗрдо рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА
рд╕рдордп рдФрд░ рд╕реНрдерд╛рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╕рд╛рдзрди рдЖрдпрд╛рдо рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреА рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ:
рдореБрдЦреНрдп рдЕрдВрддрд░ рдФрд░ рд╕рдорд╛рдирддрд╛рдПрдБ
рд╢реБрд░реВ рдореЗрдВ рд╕реНрдкреЗрд╕ рдФрд░ рдЯрд╛рдЗрдо рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╕рдорд╛рди рд▓рдЧ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рднрд┐рдиреНрди рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдо рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рд╕рдВрдЧрдгрдирд╛рддреНрдордХ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдорд╛рдкрддреА рд╣реИ, рдЬрдмрдХрд┐ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдореЗрдореЛрд░реА рдЙрдкрднреЛрдЧ рдХреЛ рдорд╛рдкрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рджреЛрдиреЛрдВ рдПрдХ рдЬреИрд╕реА рдЖрд╕рд┐рдореНрдкрдЯреЛрдЯрд┐рдХ рд╕рдВрдХреЗрддрди рдФрд░ рдЧрдгрд┐рддреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдордЭрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ рдХрд┐ рдХреЛрдИ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдПрдХ рдЖрдпрд╛рдо рдореЗрдВ рд╢реНрд░реЗрд╖реНрда рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рджреВрд╕рд░реЗ рдореЗрдВ рдЕрд▓реНрдк-рдкреНрд░рднрд╛рд╡реАред рдЕрдиреБрдХреВрд▓рди рдЕрдХреНрд╕рд░ рд╕рдордп рдШрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдмрдврд╝рд╛рдиреЗ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХреЗ рдмреАрдЪ рд╕рдордЭреМрддрд╛ рд╣реЛрддрд╛ рд╣реИред
рдореМрд▓рд┐рдХ рдЯреНрд░реЗрдб-рдСрдл рдХреЛ рд╕рдордЭрдирд╛
рдЬрдм рдЖрдк рд╕рдордп рдХреЗ рдмрджрд▓реЗ рд╕реНрдерд╛рди рдХрд╛ рд╕реМрджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреВрд░реНрд╡-рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧрдгрдирд╛рдПрдБ рд╕рдорд╛рдкреНрдд рд╣реЛрдВред рджреВрд╕рд░реА рдУрд░, рд╕реНрдерд╛рди рдХреЗ рдмрджрд▓реЗ рд╕рдордп рдХрд╛ рд╕реМрджрд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдкреБрди:рдЧрдгрдирд╛ рдХрд░рдирд╛ред Lookup tables рдмрд╛рд░-рдмрд╛рд░ O(1) рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХрдореБрд╢реНрдд рд╕реНрдерд╛рди рдирд┐рд╡реЗрд╢ рд╕реЗ рд╡рд┐рдирд┐рдордп рдХрд░рддреА рд╣реИрдВред рдореЗрдореЛрд░реА рд╕реАрдорд╛рдПрдБ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдЬреИрд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдзрд╛рдПрдБ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдПред
рдореЗрдореЛрд░рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди
рдореЗрдореЛрд░рд╛рдЗрдЬрд╝реЗрд╢рди рдкреБрди:рдЧрдгрдирд╛ рдХреЗ рдмрдЬрд╛рдп рдорд╛рдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рдпрд╣ рд╕рдордп рдореЗрдВ рдХреБрд╢рд▓ рд╣реИ рд▓реЗрдХрд┐рди рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреВрд▓ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ recursive Fibonacci рдореЗрдВ O(n) рдХреИрд╢ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдордп рдХреЛ O(2^n) рд╕реЗ рдШрдЯрд╛рдХрд░ O(n) рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдиреАрдЪреЗ рдореЗрдореЛрд░рд╛рдЗрдЬрд╝реНрдб Fibonacci рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреБрди:рдЧрдгрдирд╛ рд╕реЗ рдмрдЪрддреЗ рд╣реБрдП:
рджреВрд╕рд░реА рдУрд░, рдмреЙрдЯрдо-рдЕрдк рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реНрдЯреИрдХ рдУрд╡рд░рд╣реЗрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИред рд╕реНрдерд╛рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╡рд╣реА рдкрд┐рдЫрд▓реЗ рд╕реНрдЯреЗрдЯреНрд╕ рд░рдЦрдиреЗ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдВ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдкрд╛рджрди рджреВрд░реА рдХреЛ O(nxm) рдЯреЗрдмрд▓ рд╕реЗ рдШрдЯрд╛рдХрд░ O(min(n,m)) рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рд░рдЦрдХрд░ред
рдЗрди-рдкреНрд▓реЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рддрдХрдиреАрдХреЗрдВ
рдЗрди-рдкреНрд▓реЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдирдП рдореЗрдореЛрд░реА рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрдирдкреБрдЯ рдХреЛ рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ, рдпрджрд┐ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдП, рддреЛ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдШрдЯрддреА рд╣реИ, рдЬреИрд╕реЗ рдиреАрдЪреЗ рдЗрди-рдкреНрд▓реЗрд╕ array rotation (Reversal algorithm) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ:
рдЕрдиреНрдп рдЗрди-рдкреНрд▓реЗрд╕ рддрдХрдиреАрдХреЗрдВ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдШрдЯрд╛рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, two-pointer рддрдХрдиреАрдХ O(1) рд╕рд╣рд╛рдпрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде array рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ cyclic sort рддрддреНрд╡реЛрдВ рдХреЛ рд╕рд╣реА рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЕрджрд▓рд╛-рдмрджрд▓реА рдХрд░рдХреЗ рдХреНрд░рдордЪрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ O(1) рд╕реНрдерд╛рди рдореЗрдВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрди-рдкреНрд▓реЗрд╕ рд╕рдВрд╢реЛрдзрди рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреБрди:рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рдХреЛрдб рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреА рд╣реИред
рд╕реНрдкреЗрд╕ рджрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЪрдпрди
рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордЭреМрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ; рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдХрд╛рд░ рдЬреНрдЮрд╛рдд рд╣реЛ рддреЛ linked lists рдХреА рддреБрд▓рдирд╛ рдореЗрдВ arrays рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ, рдкреНрд░рддрд┐-рддрддреНрд╡ рдкреЙрдЗрдВрдЯрд░ рдУрд╡рд░рд╣реЗрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ, рдФрд░ boolean flags рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рд╕реЗ byte arrays рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 8 рдЧреБрдирд╛ рд╕рдВрдкреАрдбрд╝рди рдорд┐рд▓рддрд╛ рд╣реИред Tries рдмрдбрд╝реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдЧреНрд░рд╣реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрд╕рд░реНрдЧ рд╕рд╛рдЭрд╛ рдХрд░рдХреЗ рд╕реНрдерд╛рди рджрдХреНрд╖рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд░рд▓ рдЧреНрд░рд╛рдлрд╝реЛрдВ рдХреЗ рд▓рд┐рдП, O(V┬▓) рд╕реНрдерд╛рди рдХреЗ рдмрдЬрд╛рдп O(V+E) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╣реЗрддреБ adjacency lists рдЪреБрдиреЗрдВред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдПрдБ
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдФрд░ рд░рдирдЯрд╛рдЗрдо рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред
рднрд╛рд╖рд╛ рдФрд░ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛рд░рдХ
Python рдФрд░ Java рдЬреИрд╕реА рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдПрдБ рдкреНрд░рддрд┐-рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддреА рд╣реИрдВ, рдЬрдмрдХрд┐ C рдФрд░ C++ рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдХреАрдордд рдкрд░ рд╕рдЯреАрдХ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рд╕рдВрднрд╡рддрдГ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ PyTorch рдЬреИрд╕реЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП C++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рд╕реАрдорд╛рдПрдБ рдЖрдо рддреМрд░ рдкрд░ 1 рд╕реЗ 8MB рддрдХ рд╣реЛрддреА рд╣реИрдВ, рдЬреЛ рдЕрдзрд┐рдХрддрдо рд░рд┐рдХрд░реНрд╢рди рдЧрд╣рд░рд╛рдИ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ 64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо 8-рдмрд╛рдЗрдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрдмрдХрд┐ 32-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо 4-рдмрд╛рдЗрдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛, рдЬрд┐рд╕рд╕реЗ рдкреЙрдЗрдВрдЯрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЖрдХрд╛рд░ рджреЛрдЧреБрдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдЪреНрдЪ-рдЖрдпрд╛рдореА рдбреЗрдЯрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВ:┬аThe Curse of Dimensionality in Machine Learning.
рдореЗрдореЛрд░реА рдкрджрд╛рдиреБрдХреНрд░рдо рдФрд░ рдХреИрд╢ рдкреНрд░рднрд╛рд╡
рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХрд╛ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдореЛрд░реА рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рдмрд╣реБрдд рд╣рдж рддрдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред RAM рдПрдХреНрд╕реЗрд╕ рдореЗрдВ рд▓рдЧрднрдЧ 100 рдиреИрдиреЛрд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ CPU рдХреИрд╢ рдПрдХреНрд╕реЗрд╕ рдореЗрдВ 1 рд╕реЗ 10 рдиреИрдиреЛрд╕реЗрдХрдВрдб, рдЬреЛ 100 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ, рдЕрдиреБрдХреНрд░рдорд┐рдХ рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХреИрд╢ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдорддреМрд░ рдкрд░ 64 рдмрд╛рдЗрдЯ рд╕рд╛рде рдореЗрдВ рд▓реЛрдб рд╣реЛрддреА рд╣реИрдВред
рдЕрдЪреНрдЫреА рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдерд╛рдиреАрдпрддрд╛ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреИрд╢ рджрдХреНрд╖рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдХреНрд╖рдорддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдмрдбрд╝реЗ рд╕реЗрдЯреНрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдереНрд░реИрд╢рд┐рдВрдЧ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдШрдЯрд╛ рджреЗрддреА рд╣реИред
рдЧрд╛рд░реНрдмреЗрдЬ рдХрд▓реЗрдХреНрд╢рди рдФрд░ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди
рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рдЯреВрд▓ garbage collection рд╣реИ, рдЬреЛ рдЕрдм рдЙрдкрдпреЛрдЧреА рди рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, garbage collectors рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧ рдФрд░ рдЬреЗрдирд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдкреАрдХ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд▓рд╛рдЗрд╡ рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд▓реЗрдХреНрд╢рди рд╕рд╛рдЗрдХрд▓реНрд╕ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рдЖрд╡рдВрдЯрди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ, Generational GC рдЕрд▓реНрдкрд╛рдпреБ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпреБрд╡рд╛ рдЬреЗрдирд░реЗрд╢рдиреЛрдВ рдХреЛ рдЫреЛрдЯреЗ рд╕реНрдкреЗрд╕ рдореЗрдВ рд░рдЦрдХрд░ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдирд┐рд░реНрдзрд╛рд░рдХ рд╕реНрдерд╛рди рдирд┐рдпрдВрддреНрд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореИрдиреБрдЕрд▓ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдЬреЛрдЦрд┐рдореЛрдВ, рдЬреИрд╕реЗ memory leaks рдФрд░ рдлреНрд░реИрдЧрдореЗрдВрдЯреЗрд╢рди, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ
рд╕реНрдкреЗрд╕ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕рд┐рдЯреА рдкрд░ рдореЗрд░рд╛ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдВрдд рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рдЕрдВрддрд┐рдо рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛: