рдкрд╛рдпрдерди рдФрд░ рдЧреНрд░рд╛рдл рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рд╣рдо рдореИрдЧрдирд╕ рд▓реЗ рд╣реЗрдЯрд▓реИрдВрдб рдХреЗ рдкрд╛рдпрдерди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЕрдзреНрдпрд╛рдп рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓рд╛ рд▓реЗрдЦ habrahabr.ru/blogs/algorithm/111858 рдкрд░ рд╕реНрдерд┐рдд рд╣реИред рдЖрдЬ рд╣рдо рдЧреНрд░рд╛рдлрд╝ рдФрд░ рдкреЗрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрд╢рд▓ рдХрд╛рдо рдФрд░ рдкрд╛рдпрдерди рдореЗрдВ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЧреНрд░рд╛рдл рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдореВрд▓ рд╢рдмреНрджрд╛рд╡рд▓реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ: habrahabr.ru/blogs/al рдПрд▓реНрдЧреЛрд░рд┐рджрдо / 65367 ), рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╢рд░реНрддреЛрдВ рдкрд░ рдЕрдзреНрдпрд╛рдп рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред



рд░реЗрдЦрд╛рдВрдХрди рдФрд░ рдкреЗрдбрд╝реЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди



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

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



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

рдкреЗрдбрд╝ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЧреНрд░рд╛рдлрд╝ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреНрд░рд╛рдлрд╝ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЙрдирдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

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

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛рдПрдВ (рдЬреИрд╕реЗ рдПрдХреНрд╕рдПрдордПрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╛ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо) рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдкреЗрдбрд╝реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЖрдИрдбреАрдЖрд░рдИрдПрдл рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ, рдПрдХреНрд╕рдПрдордПрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рд╕реНрд╡рдпрдВ рдЧреНрд░рд╛рдл рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ "рдХреБрдЫ" рдорд╛рдорд▓реЗ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВред



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



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



рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕: рд╢рдмреНрджрдХреЛрд╢ рдФрд░ рд╕реЗрдЯ
 ,       ,      Python,  тАФ <em></em>.      (   ),    .      , ,     (  ,      ).     Python   hash: >>> hash(42) 42 >>> hash("Hello, world!") -1886531940     ,     -.     .    ,           (    -,       ).     ,           ╬Ш(1). (     ╬Ш(n),            -.    ,     ).    ,      dict  set    ,                .
      
      







рдЖрд╕рдиреНрди рд╕реВрдЪрд┐рдпрд╛рдБ рдФрд░ рдкрд╕рдВрдж рд╣реИ



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



  ,            .       0тАж n-1     ,           .
      
      







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



рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЧреНрд░рд╛рдл рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрднреНрдпрд╛рд╡реЗрджрди рджрд┐рдЦрд╛рдП рдЬрд╛рдПрдВрдЧреЗ, рдЕрдВрдЬреАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред 1. рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдХреЛрдиреЗ рдХреНрд░рдорд╛рдВрдХрд┐рдд рд╣реИрдВ ( a = 0, b = 1, ... )ред рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЧреНрд░рд╛рдл рдХреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рд╡рд░реНрдЯреЗрдХреНрд╕ рд▓реЗрдмрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╛рдорд┐рдд рдЪрд░ рдХреЛ рд╡рд░реНрдЯреЗрдХреНрд╕ рдирдВрдмрд░ рджрд┐рдПред рд▓реЗрдХрд┐рди рдЖрдк рд╕реАрдзреЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреМрди рд╕реА рд╕реВрдЪреА рдХрд┐рд╕ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИ, рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд┐рдирдЯ рд▓реЗрдВ рдХрд┐ рджреГрд╢реНрдп рдЪрд┐рддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред



 a, b, c, d, e, f, g, h = range(8) N = [ {b, c, d, e, f}, # a {c, e}, # b {d}, # c {e}, # d {f}, # e {c, g, h}, # f {f, h}, # g {f, g} # h ]
      
      







   Python  2.7 ( 3.0)     set([1, 2, 3])  {1, 2, 3}.       -   set(),   {}   .
      
      









рдЕрдВрдЬреАрд░ред 1. рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рдЧреНрд░рд╛рдл



рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рдирд╛рдо рдПрди рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдПрди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЧреНрд░рд╛рдл рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ, N (v) v рд╕реЗ рд╕рдЯреЗ рдХреЛрдиреЗ рдХреЗ рд╕реЗрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣, рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ, N [v] v рд╕реЗ рд╕рдЯреЗ рдХреЛрдиреЗ рдХрд╛ рд╕рдореВрд╣ рд╣реИред рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдПрди рдХреЛ рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдкрд╛рдпрдерди рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдореЛрдб рдореЗрдВ рдЗрд╕ рджреГрд╢реНрдп рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 >>> b in N[a] # ? True >>> len(N[f]) #  3
      
      







 :        , ,     ,         ,    ,    python   -i,  : python -i listing_2_1.py          ,      ,     ,       .
      
      







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



 a, b, c, d, e, f, g, h = range(8) N = [ [b, c, d, e, f], # a [c, e], # b [d], # c [e], # d [f], # e [c, g, h], # f [f, h], # g [f, g] # h ]
      
      







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



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



рдкрд░рд┐рд╖рдж:

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



рдЗрд╕ рджреГрд╢реНрдп рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╡рд┐рд╡рд┐рдзрддрд╛ рдЖрд╕рдиреНрди рдХреЛрдиреЗ рдХреА рдХреНрд░рдордмрджреНрдз рд╕реВрдЪреА рд╣реИред рдпрджрд┐ рд╕реВрдЪрд┐рдпрд╛рдВ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдордмрджреНрдз рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдмрд╛рдИрд╕реЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╢реАрд░реНрд╖ рдХреА рд╕рдореАрдкрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рдЬреЛ рдереЛрдбрд╝рд╛ рдХрдо рдУрд╡рд░рд╣реЗрдб (рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдордп рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЪреЗрдХ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдмрдврд╝рд╛ рджреЗрдЧрд╛ ╬Ш (рд▓реЙрдЧ 2 k) , рдЬрд╣рд╛рдВ k рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЗрд╕ рд╢реАрд░реНрд╖ рдХреЗ рдирд┐рдХрдЯред (рдпрд╣ рдЕрднреА рднреА рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдореВрд▓реНрдп рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЗрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдо рдкрд░реЗрд╢рд╛рдиреА рд╣реИ)ред



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



 a, b, c, d, e, f, g, h = range(8) N = [ {b:2, c:1, d:3, e:9, f:4}, # a {c:4, e:3}, # b {d:8}, # c {e:7}, # d {f:5}, # e {c:2, g:2, h:2}, # f {f:1, h:6}, # g {f:9, g:8} # h ]
      
      







рдЖрд╕рдиреНрди рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╡рдЬрд╝рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



 >>> b in N[a] #  True >>> len(N[f]) #  3 >>> N[a][b] #  (a, b) 2
      
      







рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдореАрдкрд╡рд░реНрддреА рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрдврд╝рдд рд╡рдЬрд╝рди рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧреА рдбреЗрдЯрд╛ рди рд╣реЛрдВ (рдбреЗрдЯрд╛ рдХреЗ рдмрдЬрд╛рдп рдХреЛрдИ рднреА рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ )ред рдпрд╣ рдЖрдкрдХреЛ рдЖрд╕рдиреНрди рд╕реЗрдЯреЛрдВ рдХреЗ рд╕рднреА рдлрд╛рдпрджреЗ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╛рдпрдерди рдХреЗ рдкреБрд░рд╛рдиреЗ (рдмрд╣реБрдд, рдмрд╣реБрдд) рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕реЗрдЯ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ ( рд╕реЗрдЯреНрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдпрдерди 2.3 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЗрдЯ рдкреНрд░рдХрд╛рд░ рдкрд╛рдпрдерди 2.4 рдХреЗ рдмрд╛рдж рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ)ред



рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рдЖрд╕рдиреНрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЗрдХрд╛рдИ - рд╕реВрдЪреА, рд╕реЗрдЯ, рдпрд╛ рд╢рдмреНрджрдХреЛрд╢ - рд╢реАрд░реНрд╖ рд╕рдВрдЦреНрдпрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдПрдХ рд╕реВрдЪреА рдереАред рдПрдХ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╡рд┐рдХрд▓реНрдк (рдордирдорд╛рдирд╛, рд╣реИрд╢реЗрдб, рд╡рд░реНрдЯреЗрдХреНрд╕ рдирд╛рдореЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐) рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореБрдЦреНрдп рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЖрд╕рдиреНрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреБрдЗрдбреЛ рд╡реИрди рд░реЛрд╕реБрдо рдиреЗ рдЕрдкрдиреЗ рд▓реЗрдЦ "рдкрд╛рдпрдерди рдкреИрдЯрд░реНрдиреНрд╕ - рдЗрдВрдкреНрд▓реАрдореЗрдВрдЯрд┐рдВрдЧ рдЧреНрд░рд╛рдл" рдореЗрдВ www.python.org рдкрд░ рдЙрдкрд▓рдмреНрдз рдХрд┐рдпрд╛ рд╣реИред /doc/essays/graphs.html )ред рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрд╕рдиреНрди рд╕реЗрдЯ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕реНрдерд┐рдд рдХреЛрдиреЗ рдкреНрд░рддреАрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред



 N = { 'a': set('bcdef'), 'b': set('ce'), 'c': set('d'), 'd': set('e'), 'e': set('f'), 'f': set('cgh'), 'g': set('fh'), 'h': set('fg') }
      
      







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



рдЖрд╕рдиреНрди Matrices



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

 a, b, c, d, e, f, g, h = range(8) # abcdefgh N = [[0,1,1,1,1,1,0,0], # a [0,0,1,0,1,0,0,0], # b [0,0,0,1,0,0,0,0], # c [0,0,0,0,1,0,0,0], # d [0,0,0,0,0,1,0,0], # e [0,0,1,0,0,0,1,1], # f [0,0,0,0,0,1,0,1], # g [0,0,0,0,0,1,1,0]] # h
      
      







рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдЖрд╕рдиреНрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рдЖрд╕рдиреНрди рд╕реЗрдЯ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХрд┐ рдХреНрдпрд╛ рдмреА рдПрди [рдП] рдореЗрдВ рд╣реИ , рдЖрдк рдпрд╣ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрди [рдП] [рдмреА] рдХрд╛ рд╕реЗрд▓ рдореВрд▓реНрдп рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЖрд╕рдиреНрди рдХреЛрдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдм len (N [a]) рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдпреЛрдЧ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



 >>> N[a][b] 1 >>> sum(N[f]) 3
      
      







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



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



рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╡рдЬрди рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдХреЛрдИ рднреА рдпрд╛ -1 , рдЕрдЧрд░ рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рд╕рднреА рд╡рдЬрди рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВред рд╢рд╛рдпрдж рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдкреВрд░реНрдгрд╛рдВрдХ рднрд╛рд░ рдХреЗ рд▓рд┐рдП, sys.maxint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорд╛рди рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ (рд▓рдВрдмреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдмрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЕрдирдВрдд рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдп рднреА рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: inf ред рдпрд╣ рд╕реАрдзреЗ рдкрд╛рдпрдерди рдореЗрдВ рдирд╛рдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдлреНрд▓реЛрдЯ ('inf') рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдкрд╛рдпрдерди 2.6 рдФрд░ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдРрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдореВрд▓реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдереЗ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдлреНрд▓реЛрдЯ ('inf') рдФрд░ рдлрд╝реНрд▓реЛрдЯ (') Inf ') рдХреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред



рдиреАрдЪреЗ рджреА рдЧрдИ рд╕реВрдЪреА рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдиреЗрд╕реНрдЯреЗрдб рд╕реВрдЪрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╡рдЬрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдКрдкрд░ рдХреА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╣реА рд╡рдЬрд╝рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



 a, b, c, d, e, f, g, h = range(8) _ = float('inf') # abcdefgh W = [[0,2,1,3,9,4,_,_], # a [_,0,4,_,3,_,_,_], # b [_,_,0,8,_,_,_,_], # c [_,_,_,0,7,_,_,_], # d [_,_,_,_,0,5,_,_], # e [_,_,2,_,_,0,2,2], # f [_,_,_,_,_,1,0,6], # g [_,_,_,_,_,9,8,0]] # h
      
      







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



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



 >>> W[a][b] < inf #  True >>> W[c][e] < inf #  False >>> sum(1 for w in W[a] if w < inf) - 1 #  5
      
      







рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ 1 рдкреНрд░рд╛рдкреНрдд рдбрд┐рдЧреНрд░реА рд╕реЗ рдШрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд┐рдХрд░реНрдг рдкрд░ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдбрд┐рдЧреНрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ ity (n) рд╣реИ , рдЬрдмрдХрд┐ рдПрдХ рдЕрдиреНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдЖрд╕рдиреНрди рдФрд░ рд╢реАрд░реНрд╖ рдХреА рдбрд┐рдЧреНрд░реА рджреЛрдиреЛрдВ рдХреЛ рдирд┐рд░рдВрддрд░ рд╕рдордп рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЧреНрд░рд╛рдл рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЪреБрдиреЗрдВред



NumPy рд╕реЗ рд╡рд┐рд╢реЗрд╖ рдПрд░реЗрдЬрд╝
  NumPy   ,    .        ,    NumPy  , ,      .           n ,  : >>> N = [[0]*10 for i in range(10)]  NumPy    zeros: >>> import numpy as np >>> N = np.zeros([10,10])     ,  : A[u,v].      ,   : A[u].  NumPy     http://numpy.scipy.org.  ,      NumPy,       Python.    NumPy     Python,   ,           .         (,     Subversion): svn co http://svn.scipy.org/svn/numpy/trunk numpy    ,     NumPy,      ,     .
      
      







рдкреЗрдбрд╝реЛрдВ рдХрд╛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди



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

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

рд╣рдо рдЗрд╕ рдкреЗрдбрд╝ рдХреЛ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛ рд╕рдХрддреЗ рд╣реИрдВ:



 >>> T = [["a", "b"], ["c"], ["d", ["e", "f"]]] >>> T[0][1] 'b' >>> T[2][1][0] 'e'
      
      







рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪреА рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдВрддрд░рд┐рдХ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдЬрдбрд╝ рдХреЗ рддреАрд╕рд░реЗ рд╡рдВрд╢ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕рдХреЗ рджреВрд╕рд░реЗ рд╡рдВрд╢ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЕрдВрдд рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдиреЛрдб рдХреЗ рдкрд╣рд▓реЗ рд╡рдВрд╢ рдХреЗ рд▓рд┐рдП (рдпрд╣ рдкрде рдЖрдВрдХрдбрд╝рд╛ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ)ред





рдЕрдВрдЬреАрд░ред 2. рдЬрдбрд╝ рд╕реЗ рдкрддреНрддреА рддрдХ рдПрдХ рдЪрд┐рд╣реНрдирд┐рдд рдкрде рдХреЗ рд╕рд╛рде рдПрдХ рдкреЗрдбрд╝ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг



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



 class Tree: def __init__(self, left, right): self.left = left self.right = right >>> t = Tree(Tree("a", "b"), Tree("c", "d")) >>> t.right.left 'c'
      
      







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



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



 class Tree: def __init__(self, kids, next=None): self.kids = self.val = kids self.next = next
      
      





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



 >>> t = Tree(Tree("a", Tree("b", Tree("c", Tree("d"))))) >>> t.kids.next.next.val 'c'
      
      







рдФрд░ рдпрд╣рд╛рдБ рдпрд╣ рдкреЗрдбрд╝ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:





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



рдбрд┐рдЬрд╛рдЗрди рд╕реЗрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ
   (  )          ,      .       ┬л┬╗ (     ┬лPython Cookbook┬╗).     ,      : class Bunch(dict): def __init__(self, *args, **kwds): super(Bunch, self).__init__(*args, **kwds) self.__dict__ = self      . -,       ,       : >>> x = Bunch(name="Jayne Cobb", position="PR") >>> x.name 'Jayne Cobb' -,   dict    ,      ()     .  : >>> T = Bunch >>> t = T(left=T(left="a", right="b"), right=T(left="c")) >>> t.left {'right': 'b', 'left': 'a'} >>> t.left.right 'b' >>> t['left']['right'] 'b' >>> "left" in t.right True >>> "right" in t.right False           .     ,    ,      .
      
      







рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░



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

тАЬрдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рд░реЗрдЦрд╛рдВрдХрди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ: рд╕реВрдЪрд┐рдпрд╛рдБ рдФрд░ рдЖрд╕рдиреНрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ред рдЖрд╕рдиреНрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рддреЗрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЖрд╕рдиреНрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рджреЛ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрд╕рд╛рдзрди рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ тАЭ(рдкреГрд╖реНрда 9)ред



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



-, : , , , , .



рдЗрд╕рд▓рд┐рдП, рдЙрди рд╡рд░реНрдгрд┐рдд рдХреА рддрд░рд╣ рд╕рд░рд▓ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЦреНрдп рдорд╛рдирджрдВрдб рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреА рдЕрд╕реНрдорд┐рддрд╛рд╡рд╛рджреА рдЬрдЯрд┐рд▓рддрд╛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд╕рдиреНрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдХрд┐рдирд╛рд░реЗ (u, v) рдХреА рдЦреЛрдЬ ╬Ш (1) рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рддреА рд╣реИ , рдФрд░ v рд╕реЗ рдирд┐рдХрдЯрд╡рд░реНрддреА рдХреЛрдиреЗ рдХрд╛ рдЯреНрд░реИрд╡рд░реНрд╕ ╬Ш ( n) рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬрдмрдХрд┐ рдЖрд╕рдиреНрди рдкрд░ рджреЛрдиреЛрдВ рдСрдкрд░реЗрд╢рди ╬Ш (d) рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред ) , рдпрд╛рдиреА рдЖрд╕рдиреНрди рдХреЛрдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ред



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

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



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



рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп


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

NetworkX: http://networkx.lanl.gov

python-graph: http://code.google.com/p/python-graph

рдЧреНрд░реЗрдлрд╛рдЗрди:http://gitorious.org/projects/graphine/pages/Home



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Pygr, рдПрдХ рдЧреНрд░рд╛рдл рдбреЗрдЯрд╛рдмреЗрд╕ ( http://bioinfo.mbi.ucla.edu/pygr ), Gato, рдПрдХ рдЧреНрд░рд╛рдл рдПрдиреАрдореЗрд╢рди рдЯреВрд▓рдХрд┐рдЯ ( http: рд╣реИ) //gato.sourceforge.net ) рдФрд░ PADS, рдЧреНрд░рд╛рдлрд╝ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ ( http://www.ics.uci.edu/~eppstein/PADS )ред



All Articles