рдЬрд▓рд╛рд╢рдп рдирдореВрдирд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо

рдЯреИрдВрдХ рдирдореВрдирд╛ (рд╕рдВрд▓рдЧреНрдиред "рдЬрд▓рд╛рд╢рдп рдирдореВрдирд╛") рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдмрдбрд╝реЗ рдФрд░ / рдпрд╛ рдЕрдЬреНрдЮрд╛рдд рдЖрдХрд╛рд░ рдХреЗ рдореМрдЬреВрджрд╛ рд╡реЗрдХреНрдЯрд░ рд╕реЗ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдирдореВрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдФрд░ рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИред рдореБрдЭреЗ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ Habr├й рдкрд░ рдХреЛрдИ рд▓реЗрдЦ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рддреЛ, рд╣рдо рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡реЗрдХреНрдЯрд░ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдп рд╣реИ:

// C++ std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, vect.size() тАФ 1); auto result = vect[dis(gen)]; 

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

рдЬрд▓рд╛рд╢рдп рдирдореВрдирд╛рдХрд░рдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣рдореЗрдВ рдУ (рдПрди) рдЪрд░рдгреЛрдВ рдФрд░ рдУ (рдХреЗ) рдореЗрдореЛрд░реА рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдПрди рдХреЛ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирдореВрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдордирд╛рдИ рдЬрд╛рдПрдЧреАред

рдЪрд▓реЛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред


рдЖрдЬреНрдЮрд╛ рджреЗрдирд╛ K = 1, рдЕрд░реНрдерд╛рддреНред рд╣рдореЗрдВ рдЖрд╡рдХ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рдЪрдпрдирд┐рдд рд╣реЛрдиреЗ рдХреА рд╕рдорд╛рди рд╕рдВрднрд╛рд╡рдирд╛ рдереАред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЦреБрдж рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ:

рдЪрд░рдг 1 : рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рддрддреНрд╡ рдХреЛ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдВред рд╣рдо рдЗрд╕рдореЗрдВ рдмрдЪрдд рдХрд░рддреЗ рд╣реИрдВ рдкрд╣рд▓рд╛ рддрддреНрд╡ рдЖ рдЧрдпрд╛ рд╣реИред



рдЕрдм рддрдХ, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ - рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдпрд╛ рд╣реИ, 100% рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде (рдлрд┐рд▓рд╣рд╛рд▓) рдЗрд╕реЗ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рд╣реИред

рдЪрд░рдг 2 : рджреВрд╕рд░реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдХреЛ рдЪрдпрдирд┐рдд 1 рдХреЗ рд░реВрдк рдореЗрдВ 1/2 рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред



рдпрд╣рд╛рдВ рднреА, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ: рдЕрдм рддрдХ, рдХреЗрд╡рд▓ рджреЛ рддрддреНрд╡ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдП рд╣реИрдВред рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ 1/2 рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдЪреБрдирд╛ рдЧрдпрд╛, рджреВрд╕рд░реЗ рдиреЗ рдЗрд╕реЗ 1/2 рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред

рдЪрд░рдг 3 : 1/3 рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд╛рд▓реЗ рддреАрд╕рд░реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрдпрдирд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред



рддреАрд╕рд░реЗ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ - рдЗрд╕рдХреЗ рдЪреБрдиреЗ рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдареАрдХ 1/3 рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдордиреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкрд┐рдЫрд▓реЗ рддрддреНрд╡реЛрдВ рдХреА рд╕рдорд╛рди рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рд╣реИ? рдирд╣реАрдВред рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ 1 - 1/3 = 2/3 рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдЪрд░рдг 2 рдореЗрдВ рд╣рдордиреЗ рдЪрдпрдирд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЕрд╡рд╕рд░реЛрдВ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рд╣реИ, рддреЛ рдЪрд░рдг 3 рдХреЗ рдмрд╛рдж рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ 2/3 * 1/2 = 1/3 рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рд╕рд╛рде рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддреАрд╕рд░реЗ рддрддреНрд╡ рдХреЗ рд╕рдорд╛рди рд╣реА рдореМрдХрд╛ред

рдЪрд░рдг рдПрди : 1 / рдПрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде, рддрддреНрд╡ рдирдВрдмрд░ рдПрди рдХреЛ рдЪрдпрдирд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рдЖрдЗрдЯрдо рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ рдЪрдпрдирд┐рдд рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди 1 / N рдореМрдХрд╛ рд╣реИред



рд▓реЗрдХрд┐рди K = 1 рдХреЗ рд╕рд╛рде рдпрд╣ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдХрд╛рд░реНрдп рдерд╛ред

K> 1 рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреИрд╕реЗ рдмрджрд▓реЗрдЧрд╛?


рдЪрд░рдг 1 : рд╣рдо K рддрддреНрд╡реЛрдВ рдкрд░ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реЗ K рддрддреНрд╡ рдЖрдП рдереЗред



K рддрддреНрд╡реЛрдВ рд╕реЗ K рддрддреНрд╡ рд▓реЗрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдЙрди рд╕рднреА рдХреЛ рд▓реЗрдирд╛ рд╣реИ :)

рдЪрд░рдг рдПрди : (рдкреНрд░рддреНрдпреЗрдХ рдПрди> рдХреЗ рд▓рд┐рдП): 1 рд╕реЗ рдПрди рддрдХ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдПрдХреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред рдпрджрд┐ рдПрдХреНрд╕> рдХреЗ рддреЛ рд╣рдо рдЗрд╕ рддрддреНрд╡ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд▓реЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ X <= K, рддреЛ X рдХреЗ рд╕рд╛рде рддрддреНрд╡ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВред рдЪреВрдВрдХрд┐ X рдХрд╛ рдорд╛рди рд╕рдорд╛рди рд░реВрдк рд╕реЗ 1 рд╕реЗ N рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реЛрдЧрд╛, рд╢рд░реНрдд X <= K рдХреЗ рддрд╣рдд рдпрд╣ 1 рд╕реЗ K рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реЛрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдПрдХрд░реВрдкрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкреБрди: рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЪрдпрдиред



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓реЗ рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдХрдо рдФрд░ рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдлрд┐рд░ рднреА, рдпрд╣ рд╣рдореЗрд╢рд╛ K / N рд╣реЛрдЧрд╛ (рдкрд┐рдЫрд▓реЗ рддрддреНрд╡реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП)ред

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

рдЕрд░реЗ рд╣рд╛рдБ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреВрд▓ рдЧрдпрд╛, рдПрд╕рдЯреАрдбреА :: рдирдореВрдирд╛ рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдЦрд┐рд░рдХрд╛рд░ рдорд╛рдирдХ рд╕реА 17 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рдорд╛рдирдХ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЬрд▓рд╛рд╢рдп рдХреЗ рдирдореВрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХреГрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ O (N) рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИ - рдареАрдХ рд╣реИ, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреБрдЫ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ рдЬреЛ O (K) рдореЗрдореЛрд░реА рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдХрдо рднреА рд╡рд┐рдлрд▓ рд╣реЛрдЧрд╛ред - рдкрд░рд┐рдгрд╛рдо рдХрд╣реАрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА


Source: https://habr.com/ru/post/hi431652/


All Articles