рд▓реЗрдЦ, рдЬрд┐рд╕рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореЗрдВ рдмреВрд╕реНрдЯ рдЧреНрд░рд╛рдл рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдмреАрдЬреАрдПрд▓) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдорд╛рдЬрд┐рдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рдВрдмреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╕рдВрдЪрд┐рдд рд▓реЗрдЦрдХ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдЪрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ (рддрдХрдиреАрдХреА) рдЦрдВрдб рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЫрд╛рдкреЛрдВ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЧреНрд░рд╛рдлрд╝ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдЙрдард╛рддрд╛ рд╣реИ, рдФрд░ рд╕реА ++ рдореЗрдВ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдЫреВрддрд╛ рд╣реИред
рдмреАрдЬреАрдПрд▓ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
BGL рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрднрд╡рддрдГ рдХрд┐рд╕реА рднреА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреА рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕рдиреЗ рдЧреНрд░рд╛рдлрд╝ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред 2000 рдореЗрдВ рдмреВрд╕реНрдЯ 1.18.1 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдкрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рддреБрд░рдВрдд рд╣реА рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╕реНрдЯреЗрдкрд╛рдиреЛрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реИрд▓реА рдХреЗ рдРрд╕реЗ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕ рд╕реЗ рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рд╛рдкреНрдд рдХреАред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореИрдиреБрдЕрд▓, рдЬреЗрд░реЗрдореА рд╕рд┐рдХ, рд▓рд╛рдИ-рдХреНрд╡рд╛рди рд▓реА рдФрд░ рдПрдВрдбреНрд░рдпреВ рд▓рдореНрд╕рдбреЗрди рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд, 2006 рдореЗрдВ рдкреАрдЯрд░ (рдореВрд▓ - рдЬреЗрд░реЗрдореА рдЬреАред рд╕рд╛рдЗрдХ, рд▓реЗ-рдХреНрд╡рд╛рди рд▓реА рдФрд░ рдПрдВрдбреНрд░рдпреВ рд▓рдореНрд╕рдбрд╛рдЗрди, "рдж рдмреВрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА") рджреНрд╡рд╛рд░рд╛ рд░реВрд╕реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред , рдПрдбрд┐рд╕рди-рд╡реЗрд╕реНрд▓реЗ)ред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ 2013 рдХреЗ рдЕрдВрдд рддрдХ (рдмреВрд╕реНрдЯ 1.55.0) рддрдХ рдЧрд╣рди рд░реВрдк рд╕реЗ рдЕрджреНрдпрддрди рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, 2005 рдореЗрдВ, рдЗрд╕рдХреЗ рд╡рд┐рддрд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг (рдкреАрдмреАрдЬреАрдПрд▓) рдХреА рдШреЛрд╖рдгрд╛ рджрд┐рдЦрд╛рдИ рджреА, рдЬреЛ 2009 рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 1.40 рд╕реЗ рдмреВрд╕реНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЖрдЬ рддрдХ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдЧреНрд░рд╛рдл рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдХрд╛рджрдорд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрдорд┐рдЯреНрд╕ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, 2005 рддрдХ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░ рдЬреЗрд░реЗрдореА рд╕рд┐рдХ рдереЗ, 2005 рдХреЗ рдмрд╛рдж - рдбрдЧрд▓рд╕ рдЧреНрд░реЗрдЧрд░, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдХрдИ рдмрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХрд╛рдлреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рд╡рд┐рдз рд▓реЛрдЧреЛрдВ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдкреНрд░рдХрд╛рд╢рди рдмрд╛рд░-рдмрд╛рд░ habr.com рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╛рджрд┐рдо рдПрдВрдбреНрд░реЛрд╕реЛрд╡ рдХреЗ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: [
1 ,
2 ,
3 ]ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЕрдЪреНрдЫрд╛ рдФрд░ рд╡рд┐рд╡рд┐рдз рд╕рд╛рд╣рд┐рддреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рд▓реЗрдЦрди, рднреА, рдЖрдо рддреМрд░ рдкрд░ рдмреЛрд▓, рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рд╣рдж рддрдХ рдЧреНрд░рд╕реНрдд рд╣реИ:
- рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдФрд░ рдореВрд▓ рд╡рд░реНрдЧреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛, рдЬреЛ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреА рд╣реИрдВ, 2001 рдХреЗ рдмрд╛рдж рд╕реЗ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓реЗрдЦрдХ, рдЬреЛ рднреЛрд▓реЗрдкрди рд╕реЗ рдорд╛рдирддреЗ рдереЗ рдХрд┐:
рдмреАрдЬреАрдПрд▓ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рджреЛ рдЧреНрд░рд╛рдл рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдПрдХ рдПрдЬ рд╕реВрдЪреА рдПрдбрд╛рдкреНрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
adjacency_list
adjacency_matrix
edge_list
, рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдореИрдВ 2005 рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрдВрдкреНрд░реЗрд╕реНрдб_рд╕рдкрд╛рд░рд╕реЗ_рд░реЛ_рдЧреНрд░рд╛рдл (рд╕реНрдкрд╛рд░реНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕) рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд╛рдХрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдерд╛ред рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╣рд╛рдиреА рдмреНрд░реЙрди-рдХреЗрд░реНрдмреЛрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рд╕рд╛рде рд╣реБрдИред рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рди рдХрд░реЗрдВ, рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
- рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрдВрддрд░рд┐рдХ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ (рдХрдВрдЯреЗрдирд░_рдХреЗрдЯрд░рд░реА, рд╕рдорд╛рдирд╛рдВрддрд░_рд╢реНрд░реЗрдгреА_рдЪрд┐рддреНрд░, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐_ рдЕрд╕реНрдерд┐рд░рддрд╛, рдЖрджрд┐) рдХреА рдХреЛрдИ рдПрдХрд▓ рдЯрд┐рдкреНрдкрдгреА рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛред рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ "рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрд╛рдо рдХреЛрдб" рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рд▓реЗрддрд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪрд░реНрдЪрд╛ ред
рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЬреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди рд╣реИрдВ, рдЗрддрдиреА рдорд╣рд╛рди рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рд╕реНрд╡рдпрдВ рдХрднреА-рдХрднреА рдЙрдирдореЗрдВ рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдП рдЧрдП рд╕рдВрдХреБрдЪрд┐рдд_sparse_row_graph рдХреЗ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЖрд╕рдиреНрди рд╕реВрдЪреА рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдХреНрд░реИрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рддреНрд░реБрдЯрд┐ рд╣реИ:

рдЗрд╕ рдЕрд╡рд╕рд░ рдкрд░ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓рдЪреАрд▓реЗ рддрдВрддреНрд░ рдХрд╛ рдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдг рдПрдХ рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рджрд╣рдирд╢реАрд▓ рд╡рд┐рд╕реНрдлреЛрдЯ рдХреЗ рд╕рд╛рде рд╣реИред
рдпрд╣ рдЦреЗрдж рдХреЗ рд╕рд╛рде рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд░реБрдЪрд┐ рдЦреЛ рджреА рд╣реИ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЫрд╣ рд╡рд░реНрд╖реЛрдВ рд╕реЗ, рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╡рд┐рдХрд╛рд╕ рдХреНрд╖рдорддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрдВрддрд░рд┐рдХ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдХреНрдд рдирд╣реАрдВ рд╣реИред 2011 рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрд╡рд╛рдЬ рдЙрдард╛рдИ рдЧрдИ рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рддрд░реАрдХреЛрдВ рдХреЗ рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЧреНрд░рд╛рдл рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдирдП рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (METIS рдкреНрд░рд╛рд░реВрдк рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдЧреНрд░рд╛рдл рд╡рд┐рднрд╛рдЬрди рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдХрд░) рдЕрдкреНрд░рднрд╛рд╡рд┐рдд рд░рд╣реЗред рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрд╣реБрдд рдХрдо (рдХрдо рд╕реЗ рдХрдо рдкрдардиреАрдпрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреА рдереА рдЬреЛ 2011 рд╕реЗ рдорд╛рдирдХ рдмрди рдЧрдИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, 2019 рд╕реЗ рджреЗрдЦрдиреЗ рдкрд░ рдЧреНрд░рд╛рдл рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЪреБрдирдиреЗ рдХреЗ рдореБрджреНрджреЗ рдЙрддрдиреЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рджрд┐рдЦрддреЗ рдЬрд┐рддрдиреЗ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдкрд┐рдЫрд▓реЗ 5 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХрдо рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмрдврд╝реА рд╣реИред
рдпрд╣ рд╕реНрдерд┐рддрд┐ рдХреБрдЫ рджреБрдЦ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреАрдЬреАрдПрд▓ рдХреЗ рд╕рдорд╛рди рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрдВрддреНрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмреМрджреНрдзрд┐рдХ рдкрд░рд╛рдХреНрд░рдо рд╣реИ, рдЬреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╢рдХреНрддрд┐ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрд░реАрдХреЛрдВ рдХреЗ рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рдХреА рд╕рдореГрджреНрдзрд┐ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИ (рдПрдХ рдЕрдЪреНрдЫрд╛ рдбреЗрдврд╝ рд╕реМ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдФрд░ рдПрдХ рджрд░реНрдЬрди рд╡рд┐рддрд░рд┐рдд) рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЬрд╣рд╛рдБ рддрдХ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдЬреНрдЮрд╛рдд рд╣реИ, рдЕрднреА рднреА рдХреЛрдИ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред
рдлрд┐рд▓рд╣рд╛рд▓, рдХреЗрд╡рд▓ рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛, рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдкрд░ рд╕рдЦреНрдд рд╕рдордЭреМрддреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рдлрд╝ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдж рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рдХреЛрдиреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдмрдирд╛рддрд╛ рд╣реИ ( рдЬреЛ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ)ред
"рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдХрд╛рд░рдг рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╕рдВрдХреБрдЪрд┐рдд_sparse_row_graph рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╣рдо рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдЪреНрдЪ рдорд╛рдирдХреЛрдВ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдЪрд▓рди:
- рдЖрд╕рдиреНрди рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░ [] рдФрд░ рд╡рд┐рд░рд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣реНрдп рдЧреБрдгреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ (рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рдЧреБрдг) рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ: рдкрд╣рд▓рд╛ рд░рд┐рдЯрд░реНрди рдХреЗрд╡рд▓ рдмрд╛рд╣рд░реА рдЧреБрдг (рдЖрдВрддрд░рд┐рдХ рдХреЗрд╡рд▓ рд╕рдВрдкрддреНрддрд┐_рдореИрдк рдХреЗ рд╕рд╛рде рд╕реБрд▓рдн рд╣реИ), рджреВрд╕рд░рд╛ рд░рд┐рдЯрд░реНрди рдПрдХ рдлреНрд░реИрдХреНрдЪрд░ рд╕рдВрд░рдЪрдирд╛ рдЧреБрдгреЛрдВ рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪреА рд╕реЗ рдпреБрдХреНрдд рд╕рдВрдкрддреНрддрд┐ рджреЗрддрд╛ рд╣реИред
- рдмрдврд╝рд╛рд╡рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝рдд рд╕реВрдЪрдХрд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ :: property_map <compress_sparse_row_graph, рдмрдврд╝рд╛рд╡рд╛ :: edge_index_t> :: рдкреНрд░рдХрд╛рд░ рдмреВрд╕реНрдЯ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ :: рд╡рд┐рд╡рд░рдг, рдФрд░ рдмрдврд╝рд╛рд╡рд╛ рдирд╣реАрдВ, рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЗ рд░реВрдк рдореЗрдВред
рдЕрдВрдд рдореЗрдВ, compress_sparse_row_graph рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ, рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЧреНрд░рд╛рдлрд╝ (рдмрдврд╝рд╛рд╡рд╛ :: рдЕрдкреНрд░рддреНрдпрдХреНрд╖) рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдЕрдзреВрд░реА рд░рд╣ рдЧрдИред
рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЬрдм edge_index рд╕рдВрдкрддреНрддрд┐ (рдПрдЬ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ рдХрд┐ рдЖрд╕рдиреНрди рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдорд╛рди рджрд┐рд╢рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд░рд┐рдм рдЧреБрдЬрд░рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд░рд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ (рд╣рдореЗрд╢рд╛ рджрд┐рд╢рд╛рддреНрдордХ) рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдкреНрд░реЙрдкрд░реНрдЯреА_рдореИрдк рд╣реЛрддрд╛ рд╣реИ (рдЬрд┐рд╕реЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ)ред рддрджрдиреБрд╕рд╛рд░, рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рдирд╛рд░реЛрдВ (рдПрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡) рдХреЗ рд▓рд┐рдП рдорд╛рди рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рдЕрд▓рдЧ рд╣реЛрдВрдЧреЗред
рдЗрди рд╕рднреА рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдорд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп "рдмрд╕ рдПрдХ рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рдл рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рдЬрдЧрд╣" рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рдХреЛ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╛ рддреЛ рдЕрддреНрдпрдзрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рддрддреНрд╡реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рдпрд╛ рдЧреНрд░рд╛рдл рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рдРрд╕реЗ рд╕рдорд╛рдпреЛрдЬрди рддрд╛рдХрд┐ рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде "рдкрд╣рдЪрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдВ", рдпрд╛, рдЕрдВрдд рдореЗрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред "рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрдврд╝рд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдгред"
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд, рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ, рдЕрд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдЧреНрд░рд╛рдлрд╝ рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЗ рдЖрдВрддрд░рд┐рдХ рд╡рд┐рд╡рд░рдгрдХреЛрдВ рдХреЗ рдЖрдпрд╛рдореЛрдВ рдХрд╛ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдЦрдкрдд рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдХрднреА-рдХрднреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХреБрдЫ рджреГрд╢реНрдп (рд╕рдорд╛рди рд╕рдВрдкреАрдбрд┐рдд_рд╕реНрдкрд░реНрд╢_рд░реЛ_рдЧреНрд░рд╛рдл) рдЖрдкрдХреЛ рдЗрди рдЖрдпрд╛рдореЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЕрдиреНрдп (рдирд┐рдХрдЯрд╕реНрде_рд╕реВрдЪреА) рдореЗрдВ рдРрд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрд╢рд╛ 64-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ (рдЖрдорддреМрд░ рдкрд░ рдирд┐рд░рд░реНрдердХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдмрд╣реБрдд, рдмрд╣реБрдд рдЕрдзрд┐рдХ, рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрджрд┐рдорддрд╛ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рд╡рд░реНрд╕ рдЗрдиреНрд╡реЗрдЬ рдЬреИрд╕рд╛ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдЬ рдЗрдирд╡рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИред
рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЧреНрд░рд╛рдл рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдПрдХ рддреБрдЪреНрдЫ рд╡рд┐рдирд┐рдордп рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдХреБрд╢рд▓ рдЦреЛрдЬ, рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЖрдВрддрд░рд┐рдХ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдЙрд╕рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
- рдЗрд╕реА рддрд░рд╣, рдмреЗрдХрд╛рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреБрдЫ рджреВрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдмрд╛рд╣рд░ рдЧрд┐рд░ рдЧрдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП_рдЧреНрд░рд╛рдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рдирд╛рд░реЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд▓рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдФрд░ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдХрд╣реАрдВ рдкрдбрд╝реЛрд╕ рдореЗрдВ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЧреИрд░-рджрд┐рд╢рд╛рддреНрдордХ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ рдЬреЛ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдПрдХ рд╕реЗрд╡рд╛ рджрд┐рд╢рд╛ рдорд╛рд░реНрдХрд░ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд▓реЗрдЦрдХ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реБрдЪрд┐ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
- рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд░рд┐рд╡рд░реНрд╕_рд▓реЗрдЬ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡рд┐рдХрд▓реНрдк рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЖрдВрддреНрд░ рдореЗрдВ рдХрд╣реАрдВ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рдЬреНрдЮрд╛рдХрд╛рд░реА рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ (рди рдХреЗрд╡рд▓ рдмреАрдЬреАрдПрд▓, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╕ рдорд╛рдирджрдВрдб рд╕реЗ рдиреЗрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣реИ): рд╕реНрдкрд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдЙрдкрдпреЛрдЧ рдХреЗ рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рд╢рдмреНрджрд╛рд░реНрде (рдЕрдХреНрд╕рд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдЪрд╛рд░рд┐рдд рд╕реЗ рдХрдо рдкрд╛рд░рджрд░реНрд╢реА) рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрдард┐рди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдореМрдЬреВрджрд╛ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдбреЗрд╡рд▓рдкрд░ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рд╣рд╛рдпрдХ:
- рдореБрдЦреНрдп рд░реВрдк рд╕реЗ OOP рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рджрд╛рдИрдВ рдУрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИред рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдмрд╣реБрдд рдХрдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ), рд╡реЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреНрдЮрд╛рдд рд╣реЛрдиреЗ рдкрд░ рднреА рдмрд╣реБрдд рдЦрд░рд╛рдм рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
- рд╡реЗ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджреГрд╢реНрдп рд╕рд╣рд╛рдпрдХ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд░реНрдЧ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рдордиреЗ, рдПрдХ "рдкрд░реАрдХреНрд╖рдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди" рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдЖрдк рдЙрд╕рд╕реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
- рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд╡рд╛рд▓реАрдлрд╛рдпрд░ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдХрдо рд╕рдХреНрд╖рдо рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рд╕рд░рд▓ рднреА, рдЬреИрд╕реЗ рдХрд┐ enable_ifред
- рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: "рд╣рдо рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреА рдЕрдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рд╕реЗ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ", рдмрд┐рдирд╛ рдЖрдБрд╕реВ рдХреЗ рдмреЛрд▓рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рджреЛрд╕реНрдд рдмрдирд╛ рд╣реБрдЖ рд╣реИред
рдкрд┐рдЫрд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рдФрд░ рдкрд╣рд▓реВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╛рдардХ рдХреЛ "рд╕реАрдЖрд░рдЯреА рд╡рд░реНрддрдорд╛рди рд╕рдордп" рдмрдирд╛рдо "рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ" рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рд╣рд╛рдВ, рдмрдврд╝рд╛рд╡рд╛ :: date_time (рдЕрдм рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ std рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ) рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ CRT рдЖрдкрдХреЛ рдХрдИ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдо рд░реЛрдЬрдорд░реНрд░рд╛ рдХреА рд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ CRT рд╕рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рдмрд╣реБрдкрддреНрдиреА рд╣реИрдВ рдлрд╛рд░реНрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг posix_time :: second_clock :: local_time (рдПрдХ рд╕реМрдореНрдп рдЙрджрд╛рд╣рд░рдг) рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдШреВрдорддреЗ рд╣реБрдП рдЪрд┐рддреНрд░рд▓рд┐рдкрд┐ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪрд┐рддреНрд░рд▓рд┐рдкрд┐ рдХреЗ рдирд┐рдЬреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧреА ред
рдмреВрд╕реНрдЯ :: string_algo рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рдлреА рддреБрдЪреНрдЫ рдСрдкрд░реЗрд╢рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реА-рд░реАрдбрд┐рдВрдЧ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рддреНрд░ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИ, рд╡рд┐рдзреЗрдпрдХреЛрдВ рдХреЗ рдирд╛рдо, рд╕рд╛рде рд╣реА рд╕рд╛рде рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЕрднреНрдпрд╛рд╕ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдореЗрдВ рдЯреЛрдХрди рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ :: regexp, рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рдирд┐рд░реНрджреЛрд╖ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рдеред
рдпрджрд┐ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмреАрдЬреАрдПрд▓, рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрд┐рд╕рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, make_property_map_function рдФрд░ make_function_property_map рд╣реИрдВ рдЬреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдХ рдкреБрдгреНрдп рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрдп рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд╛рдЗрдкрд░рдЯреНрд░реЙрдлрд╝рд┐рдб рд░реВрдк рдореЗрдВред рд╣рд╛рдВ, рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХреЙрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЕрдлрд╕реЛрд╕, рдкреНрд░рддреНрдпреЗрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рдФрд░ рд╕реБрдЦрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдПрдХ рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрдж рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╕рдордп, рд╕рдорд╛рдирд╛рд░реНрдереА рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рд╢рдмреНрджреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛, рдХрдареЛрд░рддрд╛ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдВ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рдкреНрдп рд╣реИред
- рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░рдо рдореЗрдВ, рдХреЛрдИ рднреА рднреЛрдЬ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕рдЪ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрд╡рд▓реЛрдХрди рдХрд┐ рд╕реА ++ рдореЗрдВ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрднреА рднреА рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рднрд╛рд╖рд╛ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдореВрд▓ рдЙрджреНрджреЗрд╢реНрдп рдЕрд▓рдЧ рдерд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирддреАрдЬрддрди, рдореЗрдЯрд▓рдВрдЧреБрдЬ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдФрд░ рдкрдврд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреБрд░рд╛рддрди рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
(рджреВрд╕рд░реА рдУрд░, рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдФрд░ рдПрд╕рдЯреАрдбреА рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдХрд╛рдлреА рддреБрдЪреНрдЫ рдФрд░ рдЕрдХреНрд╕рд░ рдмреЗрд╣рдж рдЙрдкрдпреЛрдЧреА рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд▓рд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдо рд▓рд╛рдЧрдд рдкрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдХреЙрдореНрдкреИрдХреНрдЯ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдзрд╛рд░рд╛ рдЗрддрдиреА рд╡реНрдпрд╛рдкрдХ, рдЕрд╕рдорд╛рди рдФрд░ рдЦрд░рд╛рдм рд╕рдВрд░рдЪрд┐рдд рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрдзрди, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдХрд▓реНрдк / apply_visitor рдпрд╛ рдиреАрдЪреЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рд╕реНрдкрд╖реНрдЯ, рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╡реИрдЪрд╛рд░рд┐рдХ рд▓рд╛рдн рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ рдЖрддреНрдо-рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЦреБрд╢рд╣рд╛рд▓ рдШрдЯрдирд╛ рдХреА рдорджрдж рдХреЗ рдмрд┐рдирд╛, рд╡реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдзреНрдпрд╛рди рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдХрд╛рдо рдХреЗ рд╕рдордп рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕реАрдзреЗ рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЧреИрд░-рддреБрдЪреНрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдореМрдЬреВрджрд╛ рдХреЛрдб рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╕рд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП - C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ C ++ рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣рд░ рдкрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП - рдПрдХ рд╕рд┐рджреНрдзрд╛рдВрддрд╡рд╛рджреА рдЬреЛ рдХреЗрд╡рд▓ рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдкреНрдд рд╣реИ, рдЙрдирдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдорд╛рд╣реМрд▓ рдФрд░ рдЪрдпрдирд╛рддреНрдордХ рд╢рд┐рдХреНрд╖рд╛ рдЪрд┐рдХрд┐рддреНрд╕рдХреЛрдВред рдирд┐рд╖реНрдХрд░реНрд╖: C ++ рд╢реБрд░реВ рди рдХрд░реЗрдВ - рдХрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ )ред
- рдЕрдВрдд рдореЗрдВ, рдирд┐рд╖реНрдкрдХреНрд╖ рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдЬреЛ рдмреАрдЬреАрдПрд▓ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╣реЛрддреА рд╣реИ ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдХреБрдЫ рдЯреЗрдореНрдкрд▓реЗрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд░рд╛рдл рдЬреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд▓реЗрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛрдиреЗ рдФрд░ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рд▓рдЧрд╛рдП рдЧрдП рдлрд┐рд▓реНрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ред рдФрд░ рд╡рдЬрди рдпреЛрдЬрдирд╛ ред рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, BGL рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░_рдЧреНрд░рд╛рдл рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рднрд╛рд░ рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд╣реИред рдлрди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ ред рдФрд░ рдХрдо рд╕реЗ рдХрдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдЪрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
- рд╕реАрдзреЗ рд╡реЗрдЯрд┐рдВрдЧ рд╕реНрдХреАрдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдлрдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рдФрд░ рдлрд┐рд▓реНрдЯрд░реНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ (рдзреАрд░реЗ-рдзреАрд░реЗ, рдмрд┐рдирд╛ рд╢реБрд░реБрдЖрддреА рдиреБрдХрд╕рд╛рди рдХреЗ);
- рдЗрди рд░реИрдкрд░ рдкрд░ рдХреИрд╢, рдмрдврд╝рдд / рдиреЛрдб рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдЬ / рдиреЛрдб рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдкрд░ рдореИрдкрд┐рдВрдЧ, рдмрд┐рдЯрдореИрдк рдФрд░ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд░рдгреА рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛ рдЧрддрд┐ рдореЗрдВ рдХреНрд░рдорд┐рдХ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛);
- рднрд░реЗ рд╣реБрдП рдореВрд▓реНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдиреЛрдб / рдПрдЬ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдорд╛рдирдЪрд┐рддреНрд░рдг (рдЖрд░рдВрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдЧрддрд┐ рдЗрд╕рдХреА рдЕрдзрд┐рдХрддрдо рддрдХ рдкрд╣реБрдБрдЪрддреА рд╣реИ)ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдЧрд░ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рддреАрди рд╢рд╛рдЦрд╛рдУрдВ рд╡рд╛рд▓реЗ рддреАрди рдЪрдпрдирдХрд░реНрддрд╛ рдЗрд╕рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ (рдФрд░ рдирдП рдЕрднреНрдпрд╛рд╡реЗрджрди рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдкрд░ рд╢рд░реАрд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛)ред рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдХреЗ рдмрд╛рдж рд╕реЗ, рдЬреЛ рдЧреНрд░рд╛рдлрд╝ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╕рдордп рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд╕рдордп рдХреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣рд╛рдирд┐ рд╣реЛрддреА рд╣реИ, рдПрдХ рд╣реА рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╢реИрд▓реА рдХреЗ рдХреЛрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЗрди рдиреБрдХрд╕рд╛рдиреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ 27+ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддреА рд╣реИред
рдореЗрдЯрд╛рдлреНрд░рд╛рдо рд╢реИрд▓реА рдЖрдкрдХреЛ рдЗрди рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рд╕реЗ рдмрдЪрд╛ рд╕рдХрддреА рд╣реИ, рдЖрдкрдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдореЗрдЯрд╛рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдФрд░, рд╕рдВрднрд╡рддрдГ, рдХреБрдЫ, рдФрд░ рд╕рдВрднрд╡рддрдГ рдХрд╛рдлреА, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреА рдорд╛рддреНрд░рд╛ рдпрджрд┐ рд░рдирдЯрд╛рдЗрдо-рдХреЛрдб рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдпреЛрдЬрди рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдЬреЛ ), .
, , inline- , тАУO2. - ( 1:3 1:5, тАУ , , ).
, . . , ( ) , ┬л┬╗ ┬л┬╗ . , . : ┬л┬╗ ┬л┬╗ , ┬л┬╗ , ┬л┬╗ .
, : , 100% , , ┬л┬╗ . ( , , - , , , , , ).
- , , , . C++ , -, , .
, , :
void type_selector_fun(type_a a, type_b b, ...) { if (condition_1(a, b, ...)) { auto arg = get_type_1_obj(a, b, ...); run_calc(arg, a, b, ...); } else if (condition_1(a, b, ...)) { auto arg = get_type_2_obj(a, b, ...); run_calc(arg, a, b, ...); } else ... }
рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ <<>> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдФрд░ рдХреЙрдореНрдкреИрдХреНрдЯ рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
void type_selector_fun(type_a a, type_b b, ...) { variant<type_1, type_2, ...> arg; if (condition_1(a, b, ...)) { arg = get_type_1_obj(a, b, ...); } else if ... ... apply_visitor([&](auto arg_){run_calc(arg_, a, b, ...); }, arg); }
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЗрдЦрди рдХрд╛ рдиреБрдХрд╕рд╛рди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕реНрдкрд╖реНрдЯ рдЧрдгрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЯрд╛рдЗрдк 1, рдЯрд╛рдЗрдк 2, ... рд╡реИрд░рд┐рдПрдВрдЯ рдШреЛрд╖рдгрд╛ рдореЗрдВред рдпреЗ рдкреНрд░рдХрд╛рд░ рдмреЛрдЭрд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдбрд┐рдХреНрд▓реЗрд╡рд▓ / result_of_t рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд░рдирд╛ рдХрдо рдмреЛрдЭрд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдХрд┐рд╕реА рднреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдирд╛рд▓реЙрдЧ apply_visitor рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рдХреБрдЫ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдХ_рд╡рд░рд┐рдПрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЬреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЦреБрдж рдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ:
auto arg = make_variant ( bind(condition_1, a, b, ...), bind(get_type_1_obj, a, b, ...), bind(condition_2, a, b, ...), bind(get_type_2_obj, a, b, ...), ... );
рд▓реЗрдХрд┐рди рдмреАрдорд╛рд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд▓рд╛рдЬ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, C ++ рдореЗрдВ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ, рдЬрдм рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рдкреВрд░реЗ рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрдардиреАрдпрддрд╛ рдФрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдЖрд╕рд╛рдиреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдВрддреЛрд╖рдЬрдирдХ рдирд╣реАрдВ рд╣реИред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреИрд╕реЗ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐:
select_value_type(arg) { if (condition_1(a, b, ...)) { arg = get_type_1_obj(a, b, ...); } else ... ... } run_calc(arg, a, b, тАж);
рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╡рд┐рдХрд▓реНрдк, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реА ++ рд╢реИрд▓реА рд╕реЗ рдмрд╛рд╣рд░ рдЦрдЯрдЦрдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдмрд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ arg рд╡реИрд░рд┐рдПрдмрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рддрд░реНрдХ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ ред
- рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдлреНрд▓рд┐рдк рдкрдХреНрд╖ рд╕рд╣рд╛рдпрдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреИрд╢рд┐рдВрдЧ) рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЬреЛ "рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрд░" рдХреЗ рдирд╛рдо рдХреЗ рдпреЛрдЧреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕реА рдирд╛рдо рдХреЗ C ++ 14 рдорд╛рдирдХ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред
рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
struct CacheHolder { boost::variant< container<T1>, container<T2>,
рдпрд╣рд╛рдВ, рдКрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд▓рдВрдмреЗ рдирд┐рд░реНрдорд╛рдг рдХреИрд╢реНрдб рдореВрд▓реНрдп рдХреЗ рдЖрдпрд╛рдо (рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рд╕реЗ рдЧреБрдЬрд░рдиреЗ) рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо рд╕реЗ рдХреИрд╢ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рддреЗ рд╣реИрдВред
рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрддреА рд╣реИ рдЬрдм рдХрдИ рдХрдВрдЯреЗрдирд░ рдПрдХ рд╕рд╛рде рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдПрдХ рд╣реА рд╢реИрд▓реА рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЯреБрдкрд▓ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди <...> рдлрд╝рдВрдХреНрд╢рди рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдХрд╛ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреИрд╢реНрдб рдореВрд▓реНрдп рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреВрд░реНрдгрд╛рдВрдХ рдпрд╛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ)ред
рдХреЛрдИ рдХрдо рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рд╕рдЯреАрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореВрд▓реНрдп рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ select_value_type / apply_visitor рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд╕ рдЦреЗрд▓реА рдЬрд╛рддреА рд╣реИ (рдореВрд▓реНрдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдмрд╣реБрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦрдирд╛)ред
- рдЕрдм рддрдХ, рдЗрд╕ рдкрд╛рда рдореЗрдВ рдкреАрдмреАрдЬреАрдПрд▓ рдХрд╛ рд▓рдЧрднрдЧ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рдЫреЛрдЯреЗ рдЕрдиреБрднрд╡ (рдЬрд┐рд╕рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд▓реЗрдЦрдХ рд╕реНрд╡рдпрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрджреЗрд╣ рдХреЗ рд╕рд╛рде, рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдиреАрдЪреЗ рд▓рд┐рдЦреА рдЧрдИ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реА рдкрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ) рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдпреЛрдЧ рд╕реЗ рдХрдИ рдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдЙрдмрд╛рд▓ рдЖрддрд╛ рд╣реИ, рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдЦреЛрдЬ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░, рдЬреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдбреЗрдЯрд╛ рдкрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ 3-5 рдмрд╛рд░ рдФрд░ рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ 15-20 рдмрд╛рд░ (рдЗрд╕ рднрдпрд╛рд╡рд╣ рдЖрдХреГрддрд┐ рдХреА рдЙрддреНрдкрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИред ред рд╡рд┐рддрд░рд┐рдд рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЪреБрдирд╛рд╡ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрд╡рдпрдВ рд╕реНрдкрд╖реНрдЯ рдерд╛ред
рд╣рдореЗрдВ рдбреЗрд▓реНрдЯрд╛-рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреАрдмреАрдЬреАрдПрд▓ рдСрдкрд░реЗрд╢рди рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВред рджрд┐рдЬреНрдХреНрд╕реНрдЯреНрд░рд╛ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЗрд╕ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрддрд╛рд░ рдХреЛ "рдмрдХреЗрдЯ" рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ "рдмрд╛рд▓реНрдЯреА" рдореЗрдВ рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдореВрд▓ рд░реВрдк рдореЗрдВ, рдбреЗрд▓реНрдЯрд╛ рдкреЗрд╕рд┐рдВрдЧ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИред
рд╡рд┐рддрд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдирд┐рдореНрди рд╣реЛрддрд╛ рд╣реИ: рдкреАрдмреАрдЬреАрдПрд▓ рдореЗрдВ, рдЬрдм рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЧреНрд░рд╛рдл рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдмрд┐рдЦрд░рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд░реНрдЯреЗрдХреНрд╕ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡реИрд╢реНрд╡рд┐рдХ рд╢реАрд░реНрд╖ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ, рдпрд╣ рдЬрд╛рдирдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдореЛрдбрд╝ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ "рдмрд╛рд▓реНрдЯреА" рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдиреЗ рд╣реЛрддреЗ рд╣реИрдВред рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдПрдХ рд╕рд╛рде рдПрдХ рд╕рдордп рдореЗрдВ "рдмрдХреЗрдЯ" рдХреЗ рдЕрдкрдиреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рд╡рд░реНрдЯрд┐рдХрд▓ рдХреЛ рдЪреБрдирддреА рд╣реИрдВ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреА рд╣реИрдВ, рдЬрдмрдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд "рдмрдХреЗрдЯ" рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рдмрд╛рд╣рд░ рднреЗрдЬрддреА рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд░реНрдЯрд┐рдХрд▓ рд╡рд░реНрдЯрд┐рдХрд▓ рд╣реИрдВред рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐, ceteris paribus, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╕реЗ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдирддреАрдЬрддрди, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рди рдХреЗрд╡рд▓ рдШрдЯ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдмрдврд╝ рднреА рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рднреМрддрд┐рдХ рдорд╢реАрди рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдПрдордкреАрдЖрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓реЙрдиреНрдЪ рд╕реЗ рдХреЗрд╡рд▓ рдХрд┐рд╕реА рднреА рд╕рдордп рд▓рд╛рдн рдХреЗ рдмрд┐рдирд╛ рдХреБрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдбреЗрд▓реНрдЯрд╛ рдкреЗрд╕рд┐рдВрдЧ рд╕рдмрд╕реЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ (рдкреБрд╕реНрддрдХрд╛рд▓рдп рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рддреАрди рдореЗрдВ рд╕реЗ)ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЧреНрд░рд╛рдл рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдХреЗ рдмреНрд▓реЙрдХ, рднреМрддрд┐рдХ рдмреНрд▓реЙрдХ рдкреНрд░рддрд┐ рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддреИрдпрд╛рд░реА рд╕реЗ рд╣рдорд╛рд░рд╛ рддрд╛рддреНрдкрд░реНрдп рдпрд╣рд╛рдБ рдЧреНрд░рд╛рдл рдХреЗ рд╡рд░реНрдЯрд┐рдХрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╣реИ рддрд╛рдХрд┐ рдкреАрдмреАрдЬреАрдПрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдирд┐рд░рдВрддрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рд╢рд┐рдерд┐рд▓ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рдмрдЧреНрд░рд╛рдл рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛред METIS, paraMETIS рдФрд░ Zoltan рдЬреИрд╕реЗ рдкреИрдХреЗрдЬ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдореЛрдб рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд░реНрдгрд┐рдд рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЗрдЦрдХ рдХреА рдзрд╛рд░рдгрд╛ рдереА рдХрд┐ рдкреАрдмреАрдЬреАрдПрд▓ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдЪрд╛рд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣реА рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдпрд╣ рдРрд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рдиреЛрдбреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЛрд░ рдФрд░ рдЕрдзрд┐рдХрддрдо рдереНрд░реЗрдб рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЗ рд╕рд╛рде рдорд╢реАрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЕрдкрдиреЗ рд▓реЗрдЦ рдореЗрдВ рдЯреНрд░рд┐рдирд┐рдЯреА рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХрд╛ рддрд░реНрдХ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рд╡рд┐рддрд░рд┐рдд рднрдВрдбрд╛рд░рдг рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рд▓реЗрдЦрдХ рдХреЛ рдЗрд╕ рдХрдерди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рдХрд╛рдлреА рд╕рдВрднрд╡ рд▓рдЧрддрд╛ рд╣реИ: рдкреАрдмреАрдЬреАрдПрд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЙрд╕ рд╕рдордп рдХреА рд╕реНрдкрд╖реНрдЯ рдореБрд╣рд░ рд▓рдЧрд╛рддреА рд╣реИ рдЬрдм рдорд▓реНрдЯреА-рдХреЛрд░ рдорд╢реАрдиреЛрдВ рдХреЛ рдЕрднреА рддрдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╡рд┐рддрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
PBGL рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рднреА рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ: рдХреБрдЫ рдХреЛрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди, рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЙрджрд╛рд╣рд░рдг, рд╕рд┐рд╕реНрдЯрдо рдХреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдЙрдкрдпреЛрдЧреА рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдмрдврд╝реЗ рд╣реБрдПред
рдмреАрдЬреАрдПрд▓ рдФрд░ рдЕрдиреНрдп рдЬрд╛рдирд╡рд░
рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢рд┐рдХрд╛рдпрддреЛрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдпрд╣ рдкреВрдЫрдирд╛ рдЕрдиреБрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛: рдХреНрдпрд╛ рд▓реЗрдЦрдХ 2019 рдореЗрдВ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреАрдЬреАрдПрд▓ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдпрд╣ рд╣реИ: рд▓реЗрдЦрдХ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рд╢реИрд▓реА рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдЙрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛
рднрд╡рд┐рд╖реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдкрд╕рдВрдж рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдирд╣реАрдВред рдЙрддреНрддрд░, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдХрдИ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд▓реЛрдЧреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди:
- рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ рдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдп;
- рдХреНрдпрд╛ рдХреЛрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрдИ рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреА рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрдард┐рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ;
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓рд╛рднрдкреНрд░рдж рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЧрд╛рдорд┐рддрд┐;
- рд╕рдВрдЧрдардирд╛рддреНрдордХ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ: рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЧрдгрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░), рдЖрджрд┐ рдХреЗ рдмреАрдЪ рд╕реА ++ рдореЗрдВ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЗрдЪреНрдЫрд╛ред
рд╕рдВрднрд╡рддрдГ, рдХреНрд░реЗрдЯрд░рд┐рд╕ рдкрд░рд┐рдмрд╕, рдмреАрдЬреАрдПрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдпрд╛ рддреЛ рдмрд╣реБрдд рд╣реА рдХрдо рдПрдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ (рдХреЛрдб рдХреЗ рдПрдХ рдХрд╛рдо рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдпрд╛ рднреВрд▓рдиреЗ рдХреЗ рд▓рд┐рдП) рдпрд╛ рдПрдХ рдмрдбрд╝реА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рд▓рдЪреАрд▓рд╛рдкрди рд╕рдордп рдХреЗ рд╕рд╛рде рднрд╛рд░реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдФрд░ рдЕрдиреНрдп рд▓рд╛рдЧрддреЛрдВ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░реЗрдЧрд╛ред рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреА рд╕реВрдЪреА рдореЗрдВ рдХрдо рд╕реЗ рдХрдо
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЗрдЯрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ :
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реБрдЪрд┐ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдореБрдЦ рд╡рд┐рднрд┐рдиреНрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдХрд╛ рдкреНрд░рд╢реНрди рд╣реИред рдЙрдирдХреА рд╡рд┐рд╡рд┐рдзрддрд╛, рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИред рд╡рд░реНрдЧреАрдХрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реА) рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд┐рдП рдмрд┐рдирд╛, рд╣рдо рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдЧреНрд░рд╛рдл DBMS (neo4j, рдЖрджрд┐)ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдмрдбрд╝реЗ (рд╡рд┐рддрд░рд┐рдд рдбрд┐рд╕реНрдХ) рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рдирд▓ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рдл рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдХреЛрдИ рдиреНрдпрд╛рдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдкрд╣рд▓реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдкреВрд░реЗ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЧреНрд░рд╛рдл рд╕рдВрд╢реЛрдзрди рдФрд░ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рд▓рд┐рдП, рдШреЛрд╖рдгрд╛рддреНрдордХ рднрд╛рд╖рд╛ (SPARQL, рд╕рд╛рдЗрдлреНрд░реЗ, рдЧреНрд░реЗрдорд▓рд┐рди) рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред - рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдПрдХреНрд╕рдЯреЗрдВрд╢рди / рдкреНрд░рддрд┐рдорд╛рди рдХреЛ рдХрдо рдХрд░реЗрдВ (Hadoop рдХреЗ рд▓рд┐рдП Spark, Pegasus and Giraph рдореЗрдВ рдЧреНрд░рд╛рдлрдПрдХреНрд╕) рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд┐рд╕реНрдЯрдо ( MS Trinity / MS рдЧреНрд░рд╛рдлрд╝ рдЗрдВрдЬрди , GraphLab)ред рдЧреНрд░рд╛рдлрд╝ рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ Google рдкреНрд░реЛрдЧреЗрд▓ рдореЙрдбрд▓ (рд▓реЗрдХрд┐рди рди рдХреЗрд╡рд▓ рдпрд╣) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдиреЛрдбреНрд╕ рд╕рд╣рд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЙрд░рдкреЛрд░реЗрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрди рджреЛрдиреЛрдВ рдФрд░ рдЕрдиреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрджреНрдпрдкрд┐ рдРрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдХрд╛рдлреА рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЧреНрд░рд╛рдлрдПрдХреНрд╕ SPARQL рдФрд░ Cypher рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ), рдореБрдЦреНрдп рдлреЛрдХрд╕ рдЬрдм рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рдЧреНрд░рд╛рдлрдПрдХреНрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдФрд░ рд╕рднреА рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд┐рдВрдЧ рдореЗрдВ рдПрдХ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдПрдордПрд╕ рдЯреНрд░рд┐рдирд┐рдЯреА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╡рд┐рдзрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдиреЛрдбреНрд╕ рдФрд░ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред Hadoop рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╕рд┐рд╕реНрдЯрдо, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЧреНрд░рд╛рдлрд╝ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдЙрдкрдпреЛрдЧ рдХреЗ рд╣реИрдВред
- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЯреВрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд╛рд▓реЗ (nvGraph, Gunrock) рд╕рд╣рд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╡рд┐рд╕реНрддреГрдд рд╕реЗрдЯ (BGL / PBGL, LEMON рдЖрджрд┐) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдл рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред - рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдорд╣рддреНрд╡ (METIS, parMETIS, Zoltran: рдЧреНрд░рд╛рдл рд╡рд┐рднрд╛рдЬрди, рдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝, Gephi: рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, GraphBLAS: рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреАрдЬрдЧрдгрд┐рддреАрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо)ред
рдХрдИ рд╕реНрд╡рддрдВрддреНрд░ рдЧреНрд░рд╛рдл рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдореЗрдВ рд╕рднреА рдмреЛрдзрдЧрдореНрдп рдХрд┐рд╕реНрдореЛрдВ рдХреЗ рдЖрд╡реЗрджрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╢реИрдХреНрд╖рдгрд┐рдХ рдФрд░ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ, рдПрдХрд▓-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдмрд╣реБ-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП рдФрд░ рдПрдХ рджрд╢рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдореМрдЬреВрдж рд░рд╣реЗ, рдЖрджрд┐ред
рдЧреНрд░рд╛рдл рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЬрд╛рдВрдЪ) рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рд▓рд┐рдВрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реА (рд╡рд┐рднрд┐рдиреНрди "рдЕрдкрд░рд╛рдз рд╕реЗрдирд╛рдирд┐рдпреЛрдВ" рджреНрд╡рд╛рд░рд╛ рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдмрд╣реБрдд рдХрдо рдЖрдо рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдорд╛рдирддрд╛ рд╣реИред рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЬрд╛рдВрдЪ рдХреЗ рдмрд┐рдирд╛, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдФрд░ рд╕рдВрдмрджреНрдз рдкреНрд░рджрд░реНрд╢рди рд╕реАрдорд╛рдУрдВ, рд╕рдорд░реНрдерд┐рдд рд╡реЙрд▓реНрдпреВрдо, рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕реЗрдЯ рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдиреЛрдЯ
- BGL рдПрдХ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╣реЗрдбрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ (рдмрд▓реНрдХрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ) рдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝ рдбреЙрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рдЗрд╕рд▓рд┐рдП, рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдмреВрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмреАрдЬреАрдПрд▓ рд╣реЗрдбрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдмреНрдмреЛрд╕реНрдЯ-рдЧреНрд░рд╛рдл рдХреЗ рдЙрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХрд┐рдВрдЧ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЧреИрд░-рд╣реЗрдбрд░ рдмреАрдЬреАрдПрд▓ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд┐рдмреЗрд░реЛрд╕реНрдЯ-рд░реЗрдЧреЗрдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд╕реБрд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рд╕реЗ рдХреЗрд╡рд▓ рдмреВрд╕реНрдЯ \ regex.hpp рд╣реЗрдбрд░ рдореЗрдВ рдкреНрд▓рдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рднрд▓реЗ рд╣реА рдмрд╛рдж рд╡рд╛рд▓реЗ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред
- рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд░рд╛рдЬрдХрддрд╛ рдХреЛ рдЙрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рд╕реНрдкрд╖реНрдЯ рддреБрд▓реНрдпрддрд╛ рдЕрдВрдзреЗрд░реЗ рдХрдорд░реЗ рдореЗрдВ рдХрд╛рд▓реА рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ (рд╕рдВрднрд╡рддрдГ рдЕрдиреБрдкрд╕реНрдерд┐рдд) рдХреЗ рд▓рд┐рдП рд╢рд┐рдХрд╛рд░ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреА рд╣реИ ред
- рдЗрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ (рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреГрдврд╝рддрд╛ рд╕реЗ рдФрд░ рдЕрдкреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ), рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓реЗрдЦрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХреБрдЫ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рд╣реИ рдЬреЛ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рдВрдбреЛрдЬ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдордПрд╕рд╡реАрд╕реА рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕ рдХреА рднрдЧрд╡рд╛рди-рд╕реЗрд╡рд┐рдд рд▓рд╛рдЗрди рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдкрд░реЗрд╢рд╛рдирд┐рдпрд╛рдВ рд╕рдВрдХрд▓рдХ рдХреА рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреА рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдВ рд╣реИрдВ: рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ * рдирд┐рдХреНрд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ gcc / рдХреНрд▓реИрдВрдЧ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛рддреНрдордХ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдЕрдиреНрдп рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдзрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
- рдирд░рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдЕрдЧрд░ рд╕рдВрднрд╡рдд: рдорджрдж рдХрд░реЗрдЧрд╛ред
- рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдиреЗ рд░рд╛рдЬреНрдп-рдмрдЪрдд рд╕рдорд╛рд░реЛрд╣ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджрд┐рдпрд╛, рдЬреЛ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИред
- рдореЗрд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рд░рдирдЯрд╛рдЗрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рддрд░реНрдХреЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ рдЕрдХреНрд╕рд░ рдореБрдЭреЗ рдмрд╣реБрдд рд╣реА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ, рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рддрд░реАрдХреЛрдВ рд╕реЗ рд░реВрдмрд░реВ рд╣реЛрдирд╛ рдкрдбрд╝рд╛ (C рдЯрд╛рдЗрдк 98 рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЯрд╛рдЗрдкрдСрдлрд╝ рдФрд░ рдмреВрд╕реНрдЯ рд▓реИрдВрдмрдбрд╛ рдХреЗ рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдХрд░) рдЬреЛ рд╕реАрдзреЗ C ++ 98 рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛ред C ++ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХ рдХреЛ рд░рд┐рдмреНрдпреВрд╕ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭреЗрдВ), рдЬрд┐рд╕рдХреЗ рдмреАрдЪ рд╕реНрдЯрд╛рд░ рдЖрдзреЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рддрд░реНрдХ рдХреЗ рдЪрдпрди рдХреЛ рдЪрдордХрддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣рдореЗрд╢рд╛ рдирд┐рд░реНрдпрд╛рдд рдХреА рдЕрдХреНрд╖рдорддрд╛ рд╕реЗ рдЬреБрдбрд╝реА рдереАрдВ рджрд╛рдпрд░реЗ рдХреЗ рдмрд╛рд╣рд░ рдЪрдпрдирд┐рдд рдкреНрд░рдХрд╛рд░, рдЬрд┐рд╕рдиреЗ рд╡рд┐рджреЗрд╢реА рдкреИрдЯрд░реНрди рдХреЛ рдЬрдиреНрдо рджрд┐рдпрд╛ред
- ( тАФ 80 4 50 200 , ) ( ) - . , . , 6-8 тАФ , .
- , . ( , - , . , , , , , , , ).
- , , тАУ , , ┬л┬╗ (-- ..) . ( , ), , ┬л┬╗ , тАФ ( ). , , , - . , , : ┬л┬╗ ( ) , ┬л┬╗ ( ), , . . , - , ┬л ┬╗, . , ┬л ┬╗ ? , , , : тАУ , , , , .
- . , , .
- ┬лLIBNAME C++ graph┬╗ , stackoverflow. , BGL 500 [boost-graph].