рд░рд╕реНрд╕рд┐рдпрд╛рдБ - рдлрд╛рд╕реНрдЯ рд▓рд╛рдЗрдиреНрд╕

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

string s = ""; for (int i = 0; i < 100000; i++) s += "a"; 

рдЗрддрдиреА рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рд╢рд╛рд▓ рддрд╛рд░ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЗрд╕ рддрдереНрдп рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХреЗ рдПрдХ рд╕рдиреНрдирд┐рд╣рд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рддрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдлрд╝рд░реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдердХ рдЧрдП рд╣реИрдВ?


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

рд╡рд┐рдЪрд╛рд░


рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ рджреЛ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдЫрд╡рд┐


рдХреНрд▓рд╛рд╕рд┐рдХ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрдХрд╛рд░ рдХреЗ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдФрд░ рджреВрд╕рд░реЗ рд╕реЗ рдЕрдВрдд рддрдХ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ:

рдЫрд╡рд┐


рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдУ (рдПрди) рд╣реИред

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЛ рд╕реНрд░реЛрдд рд╡рд╛рд▓реЗ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИ? рджрд░рдЕрд╕рд▓, рд╣рдо рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИ - рд╕реНрд░реЛрдд рддрд╛рд░:

рдЫрд╡рд┐


рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рдУ (1) рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╕реНрд░реЛрдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЪреВрдБрдХрд┐ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ:

рдЫрд╡рд┐


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

рдЕрдиреБрдХреНрд░рдордг


рдЕрдм рд╣рдо рдЗрд╕рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЪрд░рд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреЗрдбрд╝ рдХреЗ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ - рд╡рдЬрдиред рдпрджрд┐ рдкреНрд░рддреАрдХреЛрдВ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╕реАрдзреЗ рдкреЗрдбрд╝ рдХреЗ рдиреЛрдб (рдиреЛрдб - рд▓реАрдл) рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рд╡рдЬрди рдЗрди рдкреНрд░рддреАрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЕрдиреНрдпрдерд╛, рдиреЛрдб рдХрд╛ рд╡рдЬрди рдЗрд╕рдХреЗ рд╡рдВрд╢ рдХреЗ рд╡рдЬрди рдХреЗ рдпреЛрдЧ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдиреЛрдб рдХрд╛ рд╡рдЬрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рд╣реИ рдЬреЛ рдЗрд╕реЗ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

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

рдЕрдм рд╣рдо O (1) рдХреЗ рд▓рд┐рдП рддрд╛рд░реЛрдВ рдХреЛ рд╕рдорддрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ O (h) - рдкреЗрдбрд╝ рдХреА рдКрдБрдЪрд╛рдИ рдХреЗ рд▓рд┐рдП рдЙрдирдореЗрдВ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкреВрд░реА рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЯреВрдЯрдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рдПрдХ рд╕рдмрд░рд┐рдВрдЧ рдбрд╛рд▓рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реИред

рдЯреВрдЯ рд░рд╣рд╛ рд╣реИ


рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рддрд╛рд░ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рдХреБрдЫ рдкрджреЛрдВ рдореЗрдВ рджреЛ рдкрджрд╛рд░реНрдереЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ k (рдЪрд┐рддреНрд░ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЗрд╕реА рдкреЗрдбрд╝реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рд╣реИрдВ):

рдЫрд╡рд┐


"рд▓рд╛рдЗрди рдмреНрд░реЗрдХ" рдХрд╛ рд╕реНрдерд╛рди рд╣рдореЗрд╢рд╛ рдкреЗрдбрд╝ рдХреА рдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рд╢реАрдЯ рдХреЛ рдореВрд▓ рд╢реАрдЯ рдХреЗ рджреЛ рдирдП рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╢реАрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рд╢реАрдЯ рдХреА рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдСрдлрд╕реЗрдЯ рдФрд░ рд▓рдВрдмрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдирдИ рд╢реАрдЯреЛрдВ рдореЗрдВ рдореВрд▓ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд░рдгреА рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ, рдХреЗрд╡рд▓ рдСрдлрд╝рд╕реЗрдЯ рдФрд░ рд▓рдВрдмрд╛рдИ рдХреЛ рдмрджрд▓рддреЗ рд╣реБрдП:

рдЫрд╡рд┐


рдЖрдЧреЗ, рд╣рдо рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рдкрддреНрддреА рд╕реЗ рд░реВрдЯ рддрдХ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЙрдирдХреЗ рдмрдЬрд╛рдп рдиреЛрдбреНрд╕ рдХреЗ рдЬреЛрдбрд╝реЗ рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗ, рдХреНрд░рдорд╢рдГ рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдФрд░ рд╣рдо рдлрд┐рд░ рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рджреЛ рдирдП рдмрдирд╛рдПрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд▓рд╛рдЗрди рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдореВрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдирдП рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИред рдореВрд▓ рд░реЗрдЦрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЛ рдирдИ рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рдХреА рдЖрдХреГрддрд┐ рдореЗрдВ рд╣реИред

рдЫрд╡рд┐


рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИ - рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рддрд╣реА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдХрд╖реНрдЯрдкреНрд░рдж рдЪреВрдХ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ - рдпрд╣ рджреЛрдиреЛрдВ рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рдХрдЯ рд╕реЗ рд░реВрдЯ рддрдХ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреА рдЬрдЧрд╣ рдЬреЛ рдЗрд╕ рдПрдХ рд╣реА рд╡рдВрд╢ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рд╡рдВрд╢рдЬ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЛрдб рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд╣рдореЗрдВ рдЙрдирдХреЗ рдЕрдВрддрд┐рдо рд░реВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкрджрд╛рд░реНрде рдорд┐рд▓реЗрдВрдЧреЗ:

рдЫрд╡рд┐


рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдкреНрд▓рд┐рдЯ рдСрдкрд░реЗрд╢рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдУ (рдПрдЪ) рд╣реИред

рд╣рдЯрд╛рдПрдВ рдФрд░ рдЪрд┐рдкрдХрд╛рдПрдБ


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

рдЕрдиреБрдХреВрд▓рди


рд╕рдВрддреБрд▓рди

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

рдЫрд╡рд┐


рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдпреЛрдЬрди рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рдВрддреБрд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЗрд╕реЗ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдкреВрд░реЗ рдкреЗрдбрд╝ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВред рд╕рдВрддреБрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛ рдХреА рдХрдо рд╕реЗ рдХрдо (h + 2) рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдФрдЪрд┐рддреНрдп рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЧреНрд▓реВрдЗрдВрдЧ рдСрдкрд░реЗрд╢рди рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЛ рдмреЛрдо, рдПрдЯрдХрд┐рдиреНрд╕рди рдФрд░ рдкреНрд▓рд╛рд╕ рдиреЗ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рджрд┐рдпрд╛ рдерд╛ред

рдЫреЛрдЯреА рд░реЗрдЦрд╛рдУрдВ рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдШрдЯрди

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

рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдХреИрд╢рд┐рдВрдЧ

рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдо рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рд╣рдо рд╕реВрдЪрдХ I рдФрд░ i + 1 рдкрд░ рдкреНрд░рддреАрдХреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреЗрдбрд╝ рдХреЗ рдПрдХ рд╣реА рдкрддреНрддреЗ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдЗрди рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдЦреЛрдЬрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рд╕реЗ рдкрддреНрддреА рддрдХ рдПрдХ рд╣реА рд░рд╛рд╕реНрддрд╛ рджреЛрд╣рд░рд╛рдПрдВрдЧреЗред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХреИрд╢рд┐рдВрдЧ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЧрд▓реЗ рдЪрд░рд┐рддреНрд░ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп, рдЙрд╕ рд╢реАрдЯ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреА рд╕реАрдорд╛ рдЬреЛ рдпрд╣ рд╢реАрдЯ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╣реИред рдлрд┐рд░, рдЕрдЧрд▓реЗ рдЪрд░рд┐рддреНрд░ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдкрд╣рд▓реЗ рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░рд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕реАрдорд╛ рдореЗрдВ рд╣реИ рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рд╕реАрдзреЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдкрддреНрд░рдХ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред рдЖрдк рдЖрдЧреЗ рднреА рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП рд▓реЗрдХрд┐рди рдХрдИ рдирд╣реАрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрдХреНрд░реАрдп рд╕реВрдЪреА рдореЗрдВред

рдкрд┐рдЫрд▓реЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, рдпрд╣ рддрдХрдиреАрдХ рд╣рдореЗрдВ O (ln (n)) рд╕реЗ рд▓рдЧрднрдЧ O (1) рддрдХ рд╕реВрдЪрдХрд╛рдВрдХ рд╕реНрдкрд░реНрд╢реЛрдиреНрдирддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдкрд░рд┐рдгрд╛рдо


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

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рджреЗ рджреВрдВрдЧрд╛: рдЕрдВрдЧреНрд░реЗрдЬреА рд╡рд┐рдХрд┐ рдореЗрдВ рдПрдХ рд▓реЗрдЦ , рдПрдХ рдЬрд╛рд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ SGI рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ C ++ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╡рд░рдг ред

рд░рд╕реНрд╕рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реНрдпреВрдХ!

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


All Articles