
рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ, рдФрд░ рдЗрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХреИрд╕реЗ рдорд╛рдкреЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдЕрдзреНрдпрд╛рдп рд╕рд╛рдордЧреНрд░реА рдХреЛ рдордЬрдмреВрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд╣реИред
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЗ рд╕рд╛рде, рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ, рд╕рдордЭреЗрдВ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
- рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦреЗрдВ рдЬреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрдареЛрдВ, рдкрд╛рд░реНрд╕ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбреЗрдЯрд╛ рдЯреНрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдФрд░ рд╕реАрдЦреЗрдВ рдХрд┐ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХрд┐рддрдиреА рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдпрд╣ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░реЗрдЧрд╛ред
- рдореИрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛рдПрдВ рд▓рд┐рдЦреЗрдВ, рдФрд░ рд╣реИрд╢ рдЯреЗрдмрд▓ рдФрд░ рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рдЦреЛрдЬ рдЗрдВрдЬрди рдмрдирд╛рдПрдБ: рдпрд╣ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛, рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдЧрд╛ред
рдЕрдВрд╢ "рдЯреНрд░реА рд╡реЙрдХ"
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдо рдПрдХ рдЦреЛрдЬ рдЗрдВрдЬрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рд╣рдо рд╢реЗрд╖ рдкреБрд╕реНрддрдХ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред рдореИрдВ (рд▓реЗрдЦрдХ) рдПрдХ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рддрддреНрд╡реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдкрд╣рд▓рд╛ рдЖрд╡реЗрджрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рдЦреЛрдЬ рд░реЛрдмреЛрдЯ рдЬреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдзреНрдпрд╛рдп рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЧрд╣рд░реА рдЦреЛрдЬ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдЬрд╛рд╡рд╛ рд╕реЗ рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди "рдЕрдВрддрд┐рдо рд░реВрдк рд╕реЗ, рдкрд╣рд▓реЗ рдмрд╛рд╣рд░" рд╕реНрдЯреИрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рднреА рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред
рдЦреЛрдЬ рдЗрдВрдЬрди
Google рдЦреЛрдЬ рдпрд╛ рдмрд┐рдВрдЧ рдЬреИрд╕реЗ рдЦреЛрдЬ рдЗрдВрдЬрди, рдЦреЛрдЬ рд╢рдмреНрджреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрди рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреА рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЗрди рд╢рд░реНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВред
рдЖрдк рдерд┐рдВрдХрдбреИрд╕реНрдЯ рдбреЙрдЯ рдХреЙрдо рдкрд░ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ
рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
- рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ (рдХреНрд░реЙрд▓рд┐рдВрдЧ) рдЖрдкрдХреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХреЗ, рдЙрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХреЗ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЕрдиреНрдп рдкреЗрдЬреЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рд▓рд┐рдВрдХ рдХреЛ рдирд┐рдХрд╛рд▓ рд╕рдХреЗред
- рдЕрдиреБрдХреНрд░рдордг (рдХрд╛ рдЕрдиреБрдХреНрд░рдордг)ред рд╣рдореЗрдВ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдПрдХ рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд╛рд▓реЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рдЦреЛрдЬ (рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐)ред рдЖрдкрдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдПрдХрддреНрд░ рдХрд░рдиреЗ рдФрд░ рдЙрди рдкреГрд╖реНрдареЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЦреЛрдЬ рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВред
рдЖрдЗрдП рдЦреЛрдЬ рд░реЛрдмреЛрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдФрд░ рдЙрд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рд╣реИред Google рдФрд░ рдмрд┐рдВрдЧ рдЬреИрд╕реЗ рдЦреЛрдЬ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЪреБрдиреМрддреА рд╕рднреА рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдпреЗ рд░реЛрдмреЛрдЯ рдПрдХ рдЫреЛрдЯреЗ рдбреЛрдореЗрди рддрдХ рд╕реАрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдкреГрд╖реНрда рдкрдврд╝реЗрдВрдЧреЗред
рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рдЦреЛрдЬ рд░реЛрдмреЛрдЯ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдкрд╣рд▓рд╛ рд▓рд┐рдВрдХ рдкрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдЦреЛрдЬ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреЗрдЯрд┐рдВрдЧ рдЯреВ рдлрд┐рд▓реЙрд╕рдлреА рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдХрд╣рддрд╛ рд╣реИ:
"рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦ рдХреЗ рдореБрдЦреНрдп рдкрд╛рда рдореЗрдВ рдкрд╣рд▓реЗ рдирд┐рдЪрд▓реЗ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдХреЗ рд▓реЗрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рджрд░реНрд╢рди рдкрд░ рдПрдХ рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред"
рдЖрдк рдЗрд╕ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдФрд░ рдЗрд╕рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ
рдерд┐рдВрдХрд╕реНрдЯреИрд╕реНрдЯ рдбреЙрдЯ рдХреЙрдо рдкрд░
рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред
рдПрдХ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдЖрдкрдХреЛ рдкреВрд░реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реЗ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЦреЛрдЬ рд░реЛрдмреЛрдЯ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреНрдпрд╛рд╕ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ!
рдХрдИ рдЕрдзреНрдпрд╛рдпреЛрдВ рдореЗрдВ, рд╣рдо рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рдЦреЛрдЬ рдЗрдВрдЬрди рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред
HTML рдкрд╛рд░реНрд╕рд┐рдВрдЧ
рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡реЗрдм рдкреЗрдЬ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рд╣рд╛рдЗрдкрд░рдЯреЗрдХреНрд╕реНрдЯ рдорд╛рд░реНрдХрдЕрдк рд▓реИрдВрдЧреНрд╡реЗрдЬ (рдПрдЪрдЯреАрдПрдордПрд▓) рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рд╕рд╛рдзрд╛рд░рдг HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ:
<!DOCTYPE html> <html> <head> <title>This is a title</title> </head> <body> <p>Hello world!</p> </body> </html>
рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдпрд╣ рдПрдХ рд╢реАрд░реНрд╖рдХ рдФрд░ рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛ рд╣реИ! ("рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛!") - рдкрд╛рда рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреГрд╖реНрда рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ; рдЕрдиреНрдп рддрддреНрд╡ рдпрд╣ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рда рдХреЛ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рд╣рдорд╛рд░реЗ рд░реЛрдмреЛрдЯ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рд▓рд┐рдВрдХ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП HTML рдХреЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо jsoup рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд┐рд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ (рдкрд╛рд░реНрд╕рд┐рдВрдЧ) HTML рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
HTML рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ DOM (рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓) рд╡реГрдХреНрд╖ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЯреИрдЧ рд╕рд╣рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред
рдПрдХ рдкреЗрдбрд╝ рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдиреЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╛рда, рдЯреИрдЧ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред
рдХреЛрдиреЗ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдВрдмрдВрдз рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкрд╣рд▓рд╛ рдиреЛрдб, рдЬрд┐рд╕реЗ рд░реВрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдЯреИрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреЛ рд╡рд░реНрдЯрд┐рдХрд▓ рдХреЗ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░; рдпреЗ рдиреЛрдб рдореВрд▓ рдиреЛрдб рдХреЗ рдмрдЪреНрдЪреЗ рд╣реИрдВред
рдПрдХ рдиреЛрдб рдореЗрдВ рдПрдХ рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдЯреЗрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдиреЛрдб рдореЗрдВ рдПрдХ рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдЯреЗрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИ
(рдкреИрд░рд╛рдЧреНрд░рд╛рдл, рдЕрдВрдЧреНрд░реЗрдЬреА рд╕реЗред рдкреИрд░рд╛рдЧреНрд░рд╛рдл)ред рдЕрдВрдЬреАрд░ рдореЗрдВред 6.1 рдЗрд╕ рд╡реГрдХреНрд╖ рдХрд╛ рдЪрд┐рддреНрд░рдордп рдирд┐рд░реВрдкрдг рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдкрд░ рдЙрд╕рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдореЗрдВ рдЕрдкрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдиреЛрдб рд╕реЗ рдкреЗрдбрд╝ рдХреЛ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП DOM рдЯреНрд░реА рдЖрдорддреМрд░ рдкрд░ рд╡рд░реНрдгрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред
рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЬрд╛ рд░рд╣реЗ рдкреГрд╖реНрда рдХреЗ DOM рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╣реИрдВред Chrome рдореЗрдВ, рдЖрдк рд╡реЗрдм рдкреЗрдЬ рдХреЗ рдХрд┐рд╕реА рднреА рднрд╛рдЧ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдореЗрдиреВ рдореЗрдВ рдХреЛрдб рджреЗрдЦреЗрдВ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ, рдЖрдк рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╕реЗ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдлрд╝рд╛рд░реА рд╡реЗрдм рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдЯреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ
рдерд┐рдВрдХрдбрд╛рд╕реНрдЯ .
com /
safari рдкрд░ рд╕реНрдерд┐рдд рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
Thinkdast.com/explorer ред
рдЕрдВрдЬреАрд░ рдореЗрдВред рдЪрд┐рддреНрд░ 6.2
рдЬрд╛рд╡рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП DOM рдЯреНрд░реА рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддрддреНрд╡ рдЖрд▓реЗрдЦ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╣реИ, рдЬреЛ <div> рдПрд▓рд┐рдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рддрддреНрд╡ = "mw-content-text" рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рд╣рдо рдЗрд╕ рддрддреНрд╡ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдЦ рдХреЗ рд╢рд░реАрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред
Jsoup рдЖрд╡реЗрджрди
Jsoup рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЛ рд▓реЛрдб рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдФрд░ DOM рдЯреНрд░реА рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
String url = "http://en.wikipedia.org/wiki/Java_(programming_language)"; // Connection conn = Jsoup.connect(url); Document doc = conn.get(); // Element content = doc.getElementById("mw-content-text"); Elements paragraphs = content.select("p");
Jsoup.connect рддрддреНрд╡ URL рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ; рдкрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ HTML рдХреЛрдб рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ DOM рд╣реИред

рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдкреЗрдбрд╝ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдФрд░ рдиреЛрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдиреЛрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
- getElementByld рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЖрдИрдбреА рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЗрдбрд╝ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдкрд╛рдХрд░, рд╡рд╣ рдиреЛрдб <div id = "mw-content-text" lang = "en" dir = "ltr" рд╡рд░реНрдЧ = "mw-content-ltr"> рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рддрддреНрд╡ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╕рд╛рдЗрдб рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдФрд░ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреГрд╖реНрда рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ <div> рдпреБрдХреНрдд рд╣реИред
- рдЪрдпрди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реЗрддрд╛ рд╣реИ, рдкреЗрдбрд╝ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рдЙрди рд╕рднреА рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдЯреИрдЧреЛрдВ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рд╡рд╛рдкрд╕реА рдорд╛рди рдкреНрд░рдХрд╛рд░ рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп рд╣реИред
рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЗрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд░реНрдЧ рдПрд▓реАрдореЗрдВрдЯ, рдПрд▓реАрдореЗрдВрдЯреНрд╕ рдФрд░ рдиреЛрдб рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк
рдерд┐рдВрдХрд╕реНрдЯреИрд╕реНрдЯ .
com/ jsoupelt ,
thinkdast.com/jsoupelts, рдФрд░
thinkdast.com/jsoupnode рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЛрдо рдЯреНрд░реА рдореЗрдВ рдиреЛрдб рдХреНрд▓рд╛рд╕ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИред рдРрд╕реЗ рдХрдИ рдЙрдкрд╡рд░реНрдЧ рд╣реИрдВ рдЬреЛ рдиреЛрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рддрддреНрд╡, рдЯреЗрдХреНрд╕реНрдЯрдиреЛрдб, рдбреЗрдЯрд╛рдиреЗрдЯ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХреНрд▓рд╛рд╕, рдПрд▓реАрдореЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред
рдЕрдВрдЬреАрд░ рдореЗрдВред 6.3 рдпреВрдПрдордПрд▓ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рдЪрд┐рддреНрд░ рд╣реИ рдЬреЛ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЦрд╛рд▓реА рддреАрд░ рд╡рд╛рд▓реА рдПрдХ рд░реЗрдЦрд╛ рдПрдХ рд╡рд░реНрдЧ рд╕реЗ рджреВрд╕рд░реЗ рд╡рд░реНрдЧ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЪрд╛рд░реНрдЯ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рддрддреНрд╡ ArrayList рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрдзреНрдпрд╛рдп 11 рдореЗрдВ рдЗрд╕реА рдирд╛рдо рдХреЗ рдЦрдВрдб рдореЗрдВ рдпреВрдПрдордПрд▓ рд╢реНрд░реЗрдгреА рдХреЗ рдЖрд░реЗрдЦреЛрдВ рдкрд░ рд▓реМрдЯреЗрдВрдЧреЗред
рдПрдХ рдбреЛрдо рдкреЗрдбрд╝ рдкрд░ рдкрд╛рд▓реЗ рд╕реЗрдУрдврд╝ рд▓рд┐рдпрд╛
рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╡рд┐рдХрд┐рдиреЛрдбреЗрд▓реЗрдмрд▓ рдХреНрд▓рд╛рд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЖрдкрдХреЛ DOM рдЯреНрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:
Elements paragraphs = content.select("p"); Element firstPara = paragraphs.get(0); Iterable<Node> iter = new WikiNodeIterable(firstPara); for (Node node: iter) { if (node instanceof TextNode) { System.out.print(node); } }
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдЙрд╕ рдХреНрд╖рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ рд░реБрдХрд╛ рдерд╛ред рд╡рд╣ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ рд╡рд┐рдХреЗрдиреНрдиреЗрдЯрд░рдЯреЗрдмрд▓ рдХреНрд▓рд╛рд╕ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрдЯрд░рдЯреЗрдмрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрдЧ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдкреГрд╖реНрда рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдХреНрд░рдо рдореЗрдВ рдиреЛрдб рдмрдирд╛рддреЗ рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рдиреЛрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рдПрдХ TextNode рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЯрд╛рдЗрдк рддрддреНрд╡ рдХреА рд╡рд╕реНрддреБрдПрдВ рдЬреЛ рдЯреИрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рдорд╛рд░реНрдХрдЕрдк рдХреЗ рд╕рд╛рджрд╛ HTML рдкреИрд░рд╛ рдЯреЗрдХреНрд╕реНрдЯ рд╣реИред рдЙрдирдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖:
рдЬрд╛рд╡рд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдХреА рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рд╕рдорд╡рд░реНрддреА, рд╡рд░реНрдЧ-рдЖрдзрд╛рд░рд┐рдд, рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ, [13] рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ ...
рдЬрд╛рд╡рд╛ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ, рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ [13] рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде, рдХрдХреНрд╖рд╛рдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ ...
рдЧрд╣рд░рд╛рдИ рдЦреЛрдЬ
рдПрдХ рдкреЗрдбрд╝ рдХреЛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рд╣рдо рдЧрд╣рд░рд╛рдИ рд╕реЗ рдкрд╣рд▓реА рдЦреЛрдЬ (рдбреАрдПрдлрдПрд╕) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЦреЛрдЬ рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рдмрдЪреНрдЪреЗ рдХреЗ рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рддреА рд╣реИред рдпрджрд┐ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЗ рдмрдЪреНрдЪреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рдмрдЪреНрдЪреЗ рдХреЗ рдиреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдмрдЪреНрдЪреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЪреЛрдЯреА рднрд░ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреЗрдбрд╝ рдХреЛ рдореВрд▓ рдиреЛрдб рддрдХ рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рдЕрдЧрд▓реЗ рдмрдЪреНрдЪреЗ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реЛред рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реМрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрдм рдЕрдВрддрд┐рдо рдмрд╛рд▓ рд░реВрдЯ рдиреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреЛрдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рджреЛ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХреГрдд рддрд░реАрдХреЗ рд╣реИрдВ: рдкреБрдирд░рд╛рд╡рд░реНрддреА рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ред рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░рд▓ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ:
private static void recursiveDFS(Node node) { if (node instanceof TextNode) { System.out.print(node); } for (Node child: node.childNodes()) { recursiveDFS(child); } }
рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдЬрдбрд╝ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреЗрдбрд╝ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ Node рдПрдХ TextNode рд╣реИ, рддреЛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдореБрджреНрд░рд┐рдд рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдиреЛрдб рдореЗрдВ рдмрдЪреНрдЪреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд╡рд░реНрддреА рдбреАрдПрдлрдПрд╕ рдХрд╣рддрд╛ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЯреЗрдХреНрд╕реНрдЯрдиреЛрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЙрд╕рдХреЗ рдЪрд╛рдЗрд▓реНрдб рдиреЛрдбреНрд╕ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдкреНрд░рддреНрдпрдХреНрд╖ (рдкреНрд░реА-рдСрд░реНрдбрд░) рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЖрдк
рдерд┐рдВрдХрдбрд╕реНрдЯ .
com/treetrav рд▓рд┐рдВрдХ рдкрд░ рдЬрд╛рдХрд░ рдбрд╛рдпрд░реЗрдХреНрдЯ, рд░рд┐рд╡рд░реНрд╕ (рдкреЛрд╕реНрдЯ-рдСрд░реНрдбрд░) рдФрд░ рд╕рд┐рдорд┐рдЯреНрд░рд┐рдХ (рдЗрди-рдСрд░реНрдбрд░)
рд╡рд░реНрдХрдЖрд░реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП, рдХреНрд░реЙрд▓ рдСрд░реНрдбрд░ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, рдмрдЪреНрдЪреЗ рдХреЗ рдХреЛрдиреЗ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП recursiveDFS рдХреЙрд▓ рд╕реНрдЯреИрдХ (
рдерд┐рдВрдХрдбрд╕реНрдЯ.com/callstack рджреЗрдЦреЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдиреЛрдбреНрд╕ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдпрд╣ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдкреЗрдбрд╝ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рд╕реЗ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛ред
рдЬрд╛рд╡рд╛ рдореЗрдВ рдвреЗрд░
рдЧрд╣рд░рд╛рдИ рдХреА рдЦреЛрдЬ рдХреЗ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕реНрдЯреИрдХ рдХреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ред рд╣рдо рд╕реНрдЯреИрдХ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рджреЛ рдЬрд╛рд╡рд╛-рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдЯреИрдХ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рд╕реНрдЯреИрдХ рдФрд░ рдбреЗрдХреНрд╕ред
рд╕реНрдЯреИрдХ рдПрдХ рд╕реВрдЪреА-рдЬреИрд╕реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ: рдпрд╣ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рддрддреНрд╡реЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рд╕реНрдЯреИрдХ рдФрд░ рд╕реВрдЪреА рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреВрд░реНрд╡ рдореЗрдВ рдХрдо рд╡рд┐рдзрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕рдореНрдореЗрд▓рди рджреНрд╡рд╛рд░рд╛, рд╕реНрдЯреИрдХ рд╡рд┐рдзрд┐рдпрд╛рдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
- рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ, рдзрдХреНрдХрд╛;
- рдкреЙрдк, рдЬреЛ рдирд┐рд╖реНрдХрд╛рд╕рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреИрдХ рдХреЗ рд╕рдмрд╕реЗ рдКрдкрд░реА рддрддреНрд╡ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ;
- рдЭрд╛рдВрдХрдирд╛, рдвреЗрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдвреЗрд░ рдХреЗ рд╕рдмрд╕реЗ рдКрдкрд░реА рддрддреНрд╡ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛;
- ismmpty, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреИрдХ рдЦрд╛рд▓реА рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЪреВрдВрдХрд┐ рдкреЙрдк рд╣рдореЗрд╢рд╛ рд╕рдмрд╕реЗ рдКрдкрд░реА рддрддреНрд╡ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдЯреИрдХ рдХреЛ LIFO рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдЕрдВрддрд┐рдо рд░реВрдк рд╕реЗ, рдкрд╣рд▓реЗ рдмрд╛рд╣рд░"ред рд╕реНрдЯреИрдХ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдХрддрд╛рд░ рд╣реИ рдЬреЛ рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рдЖрдЗрдЯрдо рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЕрд░реНрдерд╛рдд, "рдкрд╣рд▓реЗ рдореЗрдВ, рдкрд╣рд▓реЗ рдмрд╛рд╣рд░", рдпрд╛ рдлреАрдлреЛред
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдЯреИрдХ рдФрд░ рдХрддрд╛рд░ рдЙрдкрдпреЛрдЧреА рдХреНрдпреЛрдВ рд╣реИрдВ: рд╡реЗ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реВрдЪрд┐рдпреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ; рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдФрд░ рднреА рдХрдо рдЕрд╡рд╕рд░ рд╣реИрдВред рддреЛ рд╣рдореЗрд╢рд╛ рд╕реВрдЪреА рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ? рдвреЗрд░ рдФрд░ рдХрддрд╛рд░реЛрдВ рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рдХреЗ рджреЛ рдХрд╛рд░рдг рд╣реИрдВред
1. рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рддрд░реАрдХреЛрдВ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕реЗрдЯ (рдпрд╛рдиреА рдЫреЛрдЯрд╛ рдПрдкреАрдЖрдИ) рддрдХ рд╕реАрдорд┐рдд рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рдХреЛрдб рдЕрдзрд┐рдХ рдкрдардиреАрдп рдФрд░ рдХрдо рддреНрд░реБрдЯрд┐ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреИрдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЧрд▓рддреА рд╕реЗ рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдЧрд▓рдд рдХреНрд░рдо рдореЗрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдЯреИрдХ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде, рдРрд╕реА рддреНрд░реБрдЯрд┐ рд╕рдЪрдореБрдЪ рдЕрд╕рдВрднрд╡ рд╣реИред рдФрд░ рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ рдЬрд╛рдПред
2. рдпрджрд┐ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдПрдХ рдЫреЛрдЯрд╛ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреИрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдПрдХрд▓ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд╕реНрдЯреИрдХ рдкрд░ рдПрдХ рдЖрдЗрдЯрдо рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдирд╛, рд╣рдо рдЗрд╕реЗ рд╕реВрдЪреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ; рдПрдХ рддрддреНрд╡ рдХреЛ рдкреЙрдкрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрд╕реЗ рд╢реБрд░реВ рд╕реЗ рд╣реА рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рдПрдХ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рд╢реБрд░реБрдЖрдд рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдирд┐рдХрд╛рд▓рдирд╛ рдПрдХ рдирд┐рд░рдВрддрд░ рд╕рдордп рдСрдкрд░реЗрд╢рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рднрд╛рд╡реА рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдПрдкреАрдЖрдИ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрддреЗ рд╣реИрдВред
рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ рд╣реИрдВред
1. ArrayList рдпрд╛ LinkedList рд▓рд╛рдЧреВ рдХрд░реЗрдВред ArrayList рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЕрдВрдд рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рдпреЗ рдСрдкрд░реЗрд╢рди рдирд┐рд░рдВрддрд░ рд╕рдордп рдореЗрдВ рдХрд┐рдП рдЬрд╛рдПрдВред рдЧрд▓рдд рдЬрдЧрд╣ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдмрдЪреЗрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЧрд▓рдд рдХреНрд░рдо рдореЗрдВ рд╣рдЯрд╛ рджреЗрдВред
2. рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рд╕реНрдЯреИрдХ рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рд╕реНрдЯреИрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдорд╛рдирдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд░реНрдЧ рдЬрд╛рд╡рд╛ рдХрд╛ рдПрдХ рдкреБрд░рд╛рдирд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ: рдпрд╣ рдЬрд╛рд╡рд╛ рд╕рдВрдЧреНрд░рд╣ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред
3. рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк Deque рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ArrayDequeред
рдбреНрдпреВрдХ рдПрдХ рдбрдмрд▓-рдПрдВрдбреЗрдб рдХрддрд╛рд░ рд╕реЗ рдмрдирддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рджреЛ-рддрд░рдлрд╛ рдХрддрд╛рд░ред" рдЬрд╛рд╡рд╛ рдореЗрдВ, Deque рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреБрд╢, рдкреЙрдк, рдкреАрдХ рдФрд░ рдЗрд╕реНрдореЗрдЯрд┐рдХ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрдЯреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА
рдерд┐рдВрдХрд╕реНрдЯреИрд╕реНрдЯ.рдХреЙрдо рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
Iterative рдЧрд╣рд░рд╛рдИ рдЦреЛрдЬ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреАрдПрдлрдПрд╕ рдХрд╛ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдиреЛрдб-рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдвреЗрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд░рд┐рдпрд░рдбреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
private static void iterativeDFS(Node root) { Deque<Node> stack = new ArrayDeque<Node>(); stack.push(root); while (!stack.isEmpty()) { Node node = stack.pop(); if (node instanceof TextNode) { System.out.print(node); } List<Node> nodes = new ArrayList<Node>(node. chiidNodesQ); Collections.reverse(nodes); for (Node child: nodes) { stack.push(chiid); } } }
рд░реВрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдЙрд╕ рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рд╕реНрдЯреИрдХ рдмрдирд╛рдХрд░ рдФрд░ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдЯреИрдХ рдЦрд╛рд▓реА рд╣реЛрдиреЗ рддрдХ рд▓реВрдк рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд╕ рд╕реНрдЯреИрдХ рд╕реЗ рдиреЛрдб рдХреЛ рдмрд╛рд╣рд░ рдзрдХреЗрд▓рддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ TextNode рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдореБрджреНрд░рд┐рдд рд╣реЛрддреА рд╣реИред рдлрд┐рд░, рд╕реНрдЯреИрдХ рдореЗрдВ рдмрд╛рд▓ рдХреЛрдиреЗ рдЬреЛрдбрд╝ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╡рдВрд╢рдЬреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдпрд╣ рдмрдЪреНрдЪреЗ рдХреЗ рдХреЛрдиреЗ рдХреЛ рдПрдХ ArrayList рдореЗрдВ рдХреЙрдкреА рдХрд░рдХреЗ, рддрддреНрд╡реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдХреЗ, рдФрд░ рдлрд┐рд░ рдЙрд▓реНрдЯреЗ ArrayList рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрди-рдбреЗрдкреНрде рд╕рд░реНрдЪ рдХреЗ рдЗрди-рдбреЗрдкреНрде рд╡рд░реНрдЬрди рдХреЗ рдлрд╛рдпрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЗрдЯрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рд╣реИ; рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ рдпрд╣ рдЕрдЧрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Deque рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдПрдХ рдЕрдВрддрд┐рдо рдиреЛрдЯ: ArrayDeque рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ рдорд┐рддреНрд░ рд▓рд┐рдВрдХреНрдбрд▓рд┐рд╕реНрдЯ рдХреЛ Deque рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рджреЛрдиреЛрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рд╕реВрдЪреА рдФрд░ Dequeред рдкрд░рд┐рдгрд╛рдореА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ Deque рдЪрд░ рд╕реЗ LinkedList рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ:
Deqeue<Node> deque = new LinkedList<Node>();
рдЖрдк Deque рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╡рд┐рдзрд┐рдпрд╛рдБ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реВрдЪреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдБ рдирд╣реАрдВред рдЗрд╕реЗ рдЪрд░ рд╕реВрдЪреА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ:
List<Node> deque = new LinkedList<Node>();
рдЖрдк рд╕реВрдЪреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдБ рд╡рд┐рдзрд┐рдпрд╛рдБ рдирд╣реАрдВред рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛:
LinkedList<Node> deque = new LinkedList<Node>();
рд╕рднреА рддрд░реАрдХреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рдХрдо рдкрдардиреАрдп рдФрд░ рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╡рдг рд╣реЛрдЧрд╛ред
┬╗рдкреБрд╕реНрддрдХ рдХреА рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА
рдкреНрд░рдХрд╛рд╢рдХ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ
┬╗
рд╕рд╛рдордЧреНрд░реА┬╗
рдЕрдВрд╢рдЬрд╛рд╡рд╛ рдлрд╝рд╛рд░реНрдореЗрдиреНрдЯрд░реНрд╕ -
рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдХреВрдкрди рдкрд░ 20% рдХреА рдЫреВрдЯ