เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจ•เฉเจ เจฆเจฟเจจ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ‹เจ‡เจ† เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ. JUG.ru เจธเจฎเฉ‚เจน เจฆเฉ‡ เจฎเฉเฉฐเจกเจฟเจ†เจ‚ เจจเฉ‡ เจกเจฐเฉ€เจฎ เจธเจชเฉ€เจ•เจฐ (เจฒเฉ‡เจธเจฒเฉ€ เจฒเฉˆเจฎเจชเฉ‹เจฐเจŸ! เจ•เจฒเจฟเจซ เจ•เจฒเจฟเฉฑเจ•! เจฎเจพเจฐเจŸเจฟเจจ เจ•เจฒเฉˆเจชเจฎเฉˆเจจ!) เจจเฉ‚เฉฐ เจธเฉฑเจฆเจพ เจฆเจฟเฉฑเจคเจพ เจ…เจคเฉ‡ เจตเฉฐเจกเฉ‡ เจ—เจ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจ…เจคเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจฒเจˆ เจฆเฉ‹ เจฆเจฟเจจ เจธเจฎเจฐเจชเจฟเจค เจ•เฉ€เจคเฉ‡เฅค เจ•เฉ‹เจ‚เจŸเฉ‚เจฐ เจ•เจพเจจเจซเจฐเฉฐเจธ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจธเจพเจฅเฉ€เจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉ€เฅค เจ…เจธเฉ€เจ‚ เจฌเฉ‚เจฅ 'เจคเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€, เจธเจพเจกเฉ‡ เจตเฉฐเจกเฉ‡ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€, เจฌเจฟเฉฐเจ—เฉ‹ เจ–เฉ‡เจกเจฟเจ†, เจ…เจคเฉ‡ เจชเจนเฉ‡เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพเฅค

เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจชเจพเจ  เจฆเฉ‡ เจฒเฉ‡เจ–เจ• เจคเฉ‹เจ‚ เจ•เฉ‹เจจเจŸเฉ‚เจฐ เจธเจŸเฉˆเจ‚เจก 'เจคเฉ‡ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจชเฉ‹เจธเจŸ เจนเฉˆเฅค เจนเจพเจˆเจกเจฐเจพ 'เจคเฉ‡ เจ•เฉŒเจฃ เจธเฉ€ - เจ‡เจน เจคเฉเจนเจพเจกเฉ‡ เจธเฉเจนเจพเจตเจฃเฉ‡ เจ…เจจเฉเจญเจต เจจเฉ‚เฉฐ เจฏเจพเจฆ เจ•เจฐเจจ เจฆเจพ เจ•เจพเจฐเจจ เจนเฉˆ, เจ•เฉŒเจฃ เจจเจนเฉ€เจ‚ เจธเฉ€ - เจคเฉเจนเจพเจกเฉ‡ เจฆเจฟเจฎเจพเจ— เจจเฉ‚เฉฐ เจ–เจฟเฉฑเจšเจฃ เจฆเจพ เจฎเฉŒเจ•เจพ เจตเฉฑเจกเฉ‡ เจ“- เจจเฉ‹เจŸเฉ‡เจธเจผเจจเฅค

เจ…เจœเจฟเจนเฉ‡ เจญเจพเจ—เฉ€เจฆเจพเจฐ เจตเฉ€ เจธเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ เจ†เจชเจฃเฉ‡ เจซเฉˆเจธเจฒเฉ‡ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฒเจˆ เจซเจฒเจฟเฉฑเจชเจ•เจพเจฐเจŸ เจจเฉ‚เฉฐ เจธเจฒเจพเจˆเจกเจพเจ‚ เจตเจฟเฉฑเจš เจคเฉ‹เฉœ เจฆเจฟเฉฑเจคเจพเฅค เจฎเฉˆเจ‚ เจฎเจœเจผเจพเจ• เจจเจนเฉ€เจ‚ เจ•เจฐ เจฐเจฟเจนเจพ - เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจคเจธเจฆเฉ€เจ• เจฒเจˆ เจ•เจพเจ—เจœเจผ เจฆเจพ เจ‡เจน เจธเจŸเฉˆเจ• เจธเฉŒเจ‚เจชเจฟเจ†:

เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจ•เฉเฉฑเจฒ เจคเจฟเฉฐเจจ เจ•เฉฐเจฎ เจธเจจ:

  • ะพ ะฒั‹ะฑะพั€ะต ั€ะตะฟะปะธะบ ะฟะพ ะฒะตัะฐะผ ะดะปั ะฑะฐะปะฐะฝัะธั€ะพะฒะบะธ ะฝะฐะณั€ัƒะทะบะธ
  • เจ‡เฉฑเจ• เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ›เจพเจ‚เจŸเจฃ เจฌเจพเจฐเฉ‡
  • เจ‡เฉฑเจ• เจฐเจฟเฉฐเจ— เจŸเฉ‹เจชเฉ‹เจฒเฉ‹เจœเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจฟเจคเจฐเจฟเจค เจชเฉเจฐเจฃเจพเจฒเฉ€ เจตเจฟเฉฑเจš เจฐเจพเจœ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ 'เจคเฉ‡

เจŸเจพเจธเจ• 1. เจ•เจฒเฉฑเจธเจŸเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ

เจ‡เฉฑเจ• เจตเฉฐเจกเฉ‡ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ N เจญเจพเจฐ เจตเจพเจฒเฉ‡ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ K เจฆเฉ€ เจ•เฉเจธเจผเจฒ เจšเฉ‹เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€:

เจคเฉเจนเจพเจกเฉ€ เจŸเฉ€เจฎ เจจเฉ‚เฉฐ N เจจเฉ‹เจกเจพเจ‚ เจฆเฉ‡ เจตเฉฑเจกเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจตเฉฐเจกเฉ‡ เจ—เจ เจ•เจฒเฉฑเจธเจŸเจฐ เจฒเจˆ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเจพ เจ•เฉฐเจฎ เจธเฉŒเจ‚เจชเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‹เจกเจธ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€, 4xx/5xx เจœเจตเจพเจฌ เจฆเจฐเจพเจ‚, เจ†เจฆเจฟ) เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจฆเจพ เจงเจฟเจ†เจจ เจฐเฉฑเจ–เฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจซเจฒเฉ‹เจŸเจฟเฉฐเจ— เจชเฉเจ†เจ‡เฉฐเจŸ เจตเฉ‡เจŸ W1..WN เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‡เจ—เฉ€เฅค เจธเจฎเจ•เจพเจฒเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจฒเจˆ, เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ N เจจเฉ‹เจกเจพเจ‚ เจฆเฉ‡ K เจจเฉ‚เฉฐ เจšเฉเจฃเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ - เจšเฉเจฃเฉ‡ เจœเจพเจฃ เจฆเจพ เจฎเฉŒเจ•เจพ เจจเฉ‹เจก เจฆเฉ‡ เจญเจพเจฐ เจฆเฉ‡ เจ…เจจเฉเจชเจพเจคเฉ€ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจจเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจšเฉเจฃเจจ เจฒเจˆ เจ‡เฉฑเจ• เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจ•เจฐเฉ‹เฅค เจตเฉฑเจกเฉ‡ O เจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจธเจฆเฉ€ เจ—เจฃเจจเจพเจคเจฎเจ• เจ—เฉเฉฐเจเจฒเจคเจพ เจฆเจพ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพเจ“เฅค

เจธเจญ เจ•เฉเจ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจตเจฟเฉฑเจš เจ•เจฟเจ‰เจ‚ เจนเฉˆ?

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจพเจจเจซเจฐเฉฐเจธ เจฆเฉ‡ เจญเจพเจ—เฉ€เจฆเจพเจฐ เจ‰เจจเฉเจนเจพเจ‚ เจจเจพเจฒ เจฒเฉœเจฆเฉ‡ เจธเจจ เจ…เจคเฉ‡ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจนเจพเจˆเจกเจฐเจพ เจฆเฉ€ เจธเจฐเจ•เจพเจฐเฉ€ เจญเจพเจธเจผเจพ เจธเฉ€เฅค เจ•เฉฐเจฎ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ‡ เจธเจจ:

เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจ•เจพเจ—เจœเจผ เจ…เจคเฉ‡ เจชเฉˆเจจเจธเจฟเจฒ เจฒเจ“, เจธเฉ‹เจšเฉ‹, เจคเฉเจฐเฉฐเจค เจตเจฟเจ—เจพเฉœเจจ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเจฃ เจฒเจˆ เจ•เจพเจนเจฒเฉ€ เจจเจพ เจ•เจฐเฉ‹ ๐Ÿ™‚

เจนเฉฑเจฒ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ (เจตเฉ€เจกเฉ€เจ“)

5:53 'เจคเฉ‡ เจธเจผเฉเจฐเฉ‚, เจธเจฟเจฐเจซเจผ 4 เจฎเจฟเฉฐเจŸ:

เจ…เจคเฉ‡ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจซเจฒเจฟเฉฑเจชเจšเจพเจฐเจŸ เจตเจพเจฒเฉ‡ เจฎเฉเฉฐเจกเจฟเจ†เจ‚ เจจเฉ‡ เจ†เจชเจฃเจพ เจนเฉฑเจฒ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ:


เจนเฉฑเจฒ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ (เจŸเฉˆเจ•เจธเจŸ)

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเจพ เจนเฉฑเจฒ เจธเจคเฉเจนเจพ 'เจคเฉ‡ เจชเจฟเจ† เจนเฉˆ: เจธเจพเจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจตเจœเจผเจจเจพเจ‚ เจฆเจพ เจœเฉ‹เฉœ, 0 เจคเฉ‹เจ‚ เจธเจพเจฐเฉ‡ เจตเจœเจผเจจเจพเจ‚ เจฆเฉ‡ เจœเฉ‹เฉœ เจคเฉฑเจ• เจ‡เฉฑเจ• เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจธเฉฐเจ–เจฟเจ† เจคเจฟเจ†เจฐ เจ•เจฐเฉ‹, เจซเจฟเจฐ เจ‡เฉฑเจ• เจ†เจˆ-เจฐเจฟเจชเจฒเฉ€เจ•เจพ เจšเฉเจฃเฉ‹ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเฉ‡ เจตเจœเจผเจจ เจฆเจพ เจœเฉ‹เฉœ 0 เจคเฉ‹เจ‚ (i-1)เจตเฉ‡เจ‚ เจคเฉฑเจ• เจนเฉ‹เจตเฉ‡เฅค เจ‡เฉฑเจ• เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจธเฉฐเจ–เจฟเจ† เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจนเฉˆ, เจ…เจคเฉ‡ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเจพ เจœเฉ‹เฉœ 0 เจคเฉ‹เจ‚ i-th เจคเฉฑเจ• - เจ‡เจธ เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจšเฉเจฃเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจจเฉ‚เฉฐ เจšเฉเจฃเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเฉเจฃเฉ€ เจ—เจˆ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจชเฉ‚เจฐเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ…เจœเจฟเจนเฉ‡ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ‡ เจจเจพเจฒ, เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจšเฉเจฃเจจ เจฆเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ O(N) เจนเฉˆ, K เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจšเฉเจฃเจจ เจฆเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ O(N K) ~ O(N2) เจนเฉˆเฅค

เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจšเจคเฉเจฐเจญเฉเจœ เจœเจŸเจฟเจฒเจคเจพ เจฎเจพเฉœเฉ€ เจนเฉˆ, เจชเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจธเฉเจงเจพเจฐเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจฌเจฃเจพเจตเจพเจ‚เจ—เฉ‡ เจ–เฉฐเจก เจฆเจพ เจฐเฉเฉฑเจ– เจตเจœเจผเจจ เจฆเฉ€ เจฐเจ•เจฎ เจฒเจˆ. เจกเฉ‚เฉฐเจ˜เจพเจˆ lg N เจฆเจพ เจ‡เฉฑเจ• เจฐเฉเฉฑเจ– เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจœเจฟเจธ เจฆเฉ‡ เจชเฉฑเจคเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจตเจœเจผเจจ เจนเฉ‹เจฃเจ—เฉ‡, เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจจเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš - เจ…เฉฐเจธเจผเจ• เจœเฉ‹เฉœ, เจฐเฉเฉฑเจ– เจฆเฉ€ เจœเฉœเฉเจน 'เจคเฉ‡ เจธเจพเจฐเฉ‡ เจตเจœเจผเจจ เจฆเฉ‡ เจœเฉ‹เฉœ เจคเฉฑเจ•เฅค เจ…เฉฑเจ—เฉ‡, เจ…เจธเฉ€เจ‚ 0 เจคเฉ‹เจ‚ เจธเจพเจฐเฉ‡ เจตเจœเจผเจจเจพเจ‚ เจฆเฉ‡ เจœเฉ‹เฉœ เจคเฉฑเจ• เจ‡เฉฑเจ• เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจธเฉฐเจ–เจฟเจ† เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, i-th เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฒเฉฑเจญเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธเจจเฉ‚เฉฐ เจฐเฉเฉฑเจ– เจคเฉ‹เจ‚ เจนเจŸเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจฆเฉ€เจ†เจ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃ เจฒเจˆ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ‰เจ—เฉ‡เฅค เจ‡เจธ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ‡ เจจเจพเจฒ, เจ‡เฉฑเจ• เจฐเฉเฉฑเจ– เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ O(N), i-th เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฐเฉเฉฑเจ– เจคเฉ‹เจ‚ เจนเจŸเจพเจ‰เจฃ เจฆเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ O(lg N) เจนเฉˆ, K เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจšเฉเจฃเจจ เจฆเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ O(N + K) เจนเฉˆเฅค lg N) ~ O(N lg N) .

เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจฐเฉ‡เจ–เจฟเจ•-เจฒเจพเจ— เจœเจŸเจฟเจฒเจคเจพ เจšเจคเฉเจฐเจญเฉเจœ เจœเจŸเจฟเจฒเจคเจพ เจจเจพเจฒเฉ‹เจ‚ เจตเจงเฉ€เจ† เจนเฉˆ, เจ–เจพเจธ เจ•เจฐเจ•เฉ‡ เจตเฉฑเจกเฉ‡ K เจฒเจˆเฅค

เจ‡เจน เจ‡เจน เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจนเฉˆ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจคเฉ‹เจ‚ เจ•เจฒเฉฑเจธเจŸเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ "เจชเฉ‚เจฐเจฌ". (เจ‰เฉฑเจฅเฉ‡, เจฐเฉเฉฑเจ– เจจเฉ‚เฉฐ O(N lg N) เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจน เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจ…เฉฐเจคเจฎ เจœเจŸเจฟเจฒเจคเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค)

เจŸเจพเจธเจ• 2. เจœเจผเฉˆเจฌเจฐเจพ

เจ‡เฉฑเจ• เจ†เจฐเจฌเจฟเจŸเจฐเฉ‡เจฐเฉ€ เจ—เฉˆเจฐ-เจ‡เฉฐเจกเฉˆเจ•เจธเจก เจซเฉ€เจฒเจก เจฆเฉเจ†เจฐเจพ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ€ เจ•เฉเจธเจผเจฒ เจ›เจพเจ‚เจŸเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€:

เจคเฉเจนเจพเจกเฉ€ เจŸเฉ€เจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจผเจพเจฐเจก เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเจพ เจ•เฉฐเจฎ เจธเฉŒเจ‚เจชเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เฉฑเจ• เจ†เจฎ เจ•เฉฐเจฎ เจฆเจพ เจฌเฉ‹เจ M (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ N <100 << M) เจ†เจ•เจพเจฐ เจฆเฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจ†เจฐเจฌเจฟเจŸเจฐเจฐเฉ€ (เจ—เฉˆเจฐ-เจ‡เฉฐเจกเฉˆเจ•เจธเจก) เจธเฉฐเจ–เจฟเจ†เจคเจฎเจ• เจ–เฉ‡เจคเจฐ เจฆเฉเจ†เจฐเจพ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจšเฉ‹เจŸเฉ€ เจฆเฉ‡ N เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉเจฃเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เฉฑเจ• เจฅเฉ‹เฉœเฉเจนเจพ เจ˜เฉฑเจŸ เจ†เจฎ เจตเจฐเจ•เจฒเฉ‹เจก เจšเฉ‹เจŸเฉ€ เจฆเฉ‡ S เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ (S ~ N) เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจšเฉ‹เจŸเฉ€ เจฆเฉ‡ N เจจเฉ‚เฉฐ เจšเฉเจฃเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจ…เจœเจฟเจนเฉ‡ เจธเจตเจพเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจ•เจฐเฉ‹เฅค เจ”เจธเจค เจ•เฉ‡เจธ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเจพเฉœเฉ‡ เจนเจพเจฒเจพเจคเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฑเจกเฉ‡ O เจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจธเจฆเฉ€ เจ—เจฃเจจเจพเจคเจฎเจ• เจ—เฉเฉฐเจเจฒเจคเจพ เจฆเจพ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพเจ“เฅค

เจนเฉฑเจฒ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ (เจตเฉ€เจกเฉ€เจ“)

34:50 เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ, เจธเจฟเจฐเจซเจผ 6 เจฎเจฟเฉฐเจŸ:


เจนเฉฑเจฒ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ (เจŸเฉˆเจ•เจธเจŸ)

เจธเจฐเจซเฉ‡เจธ เจนเฉฑเจฒ: เจธเจพเจฐเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจ•เจฐเฉ‹ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจจเจพเจฒ เจ•เฉเจ‡เฉฑเจ•เฉ‹เจฐเจŸ), เจซเจฟเจฐ N+S เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฒเจ“เฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ›เจพเจ‚เจŸเฉ€ เจฆเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ เจ”เจธเจคเจจ O(M lg M), เจธเจญ เจคเฉ‹เจ‚ เจ–เจฐเจพเจฌ O(M2) 'เจคเฉ‡ เจนเฉˆเฅค

เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจธเจพเจฐเฉ‡ เจเจฎ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ›เจพเจ‚เจŸเจฃเจพ เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจนเจฟเฉฑเจธเจพ เจฒเฉˆเจฃเจพ เจ…เจฏเฉ‹เจ— เจนเฉˆเฅค เจธเจพเจฐเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจจเจพ เจ•เจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆ เจœเจฒเจฆเฉ€ เจšเฉเจฃเฉ‹, เจœเฉ‹ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ N + S เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเฉ‡เจ—เจพ (เจ‰เจน เจ•เจฟเจธเฉ‡ เจตเฉ€ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉเจ†เจฐเจพ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ)เฅค เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ”เจธเจคเจจ เจ”เจธเจคเจจ เจ”เจธเจคเจจ เจ”เจธเจคเจจ เจ”เจธเจคเจจ เจ”เจธเจคเจจ (M) เจคเฉฑเจ• เจ˜เจŸ เจœเจพเจตเฉ‡เจ—เจพ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจธเจญ เจคเฉ‹เจ‚ เจฎเจพเฉœเจพ เจ•เฉ‡เจธ เจ‰เจนเฉ€ เจฐเจนเฉ‡เจ—เจพเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจตเฉ€ เจ•เฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ - เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ เจฌเจพเจˆเจจเจฐเฉ€ เจนเฉ€เจช เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ—. เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจชเจนเจฟเจฒเฉ‡ N+S เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจœเจพเจ‚ เจ…เจงเจฟเจ•เจคเจฎ-เจนเฉ€เจช (เจ›เจพเจ‚เจŸเจฃ เจฆเฉ€ เจฆเจฟเจธเจผเจพ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ) เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจนเจฐเฉ‡เจ• เจ…เจ—เจฒเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจฐเฉเฉฑเจ– เจฆเฉ‡ เจฎเฉ‚เจฒ เจจเจพเจฒ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆเจพ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจœเจพเจ‚ เจ…เจงเจฟเจ•เจคเจฎ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ เจฐเฉเฉฑเจ– เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ. . เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเจญ เจคเฉ‹เจ‚ เจฎเจพเฉœเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจœเจฆเฉ‹เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเจ—เจพเจคเจพเจฐ เจฐเฉเฉฑเจ– เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃเจพ เจชเฉˆเจ‚เจฆเจพ เจนเฉˆ, O(M lg M) เจนเฉˆ, เจ”เจธเจคเจจ เจ”เจธเจคเจจ เจ—เฉเฉฐเจเจฒเจคเจพ O(M) เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เฉเจ‡เฉฑเจ•เจธเจฟเจฒเฉˆเจ•เจŸ เจจเจพเจฒเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจนเฉ€เจช เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ— เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจตเจงเฉ‡เจฐเฉ‡ เจ•เฉเจธเจผเจฒ เจธเจพเจฌเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจฎเฉ‚เจฒ เจคเฉฑเจค เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจคเฉเจฒเจจเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉ€เจช เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ เจฌเจฟเจจเจพเจ‚ เจฐเฉฑเจฆ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเฉ€ เจ›เจพเจ‚เจŸเฉ€ เจจเฉ‚เฉฐ เจ•เฉ‹เจจเจŸเฉ‚เจฐ เจตเจฟเฉฑเจš เจตเจฟเจ•เจธเจค เจ…เจคเฉ‡ เจตเจฐเจคเฉ‡ เจ—เจ เจœเจผเฉˆเจฌเจฐเจพ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจŸเจพเจธเจ• 3. เจธเจŸเฉ‡เจŸ เจธเจตเฉˆเจช

เจฐเจพเจœเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจ•เฉเจธเจผเจฒ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€:

เจคเฉเจนเจพเจกเฉ€ เจŸเฉ€เจฎ เจจเฉ‚เฉฐ N เจจเฉ‹เจกเจพเจ‚ เจฆเฉ‡ เจตเฉฐเจกเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฒเจˆ เจ‡เฉฑเจ• เจซเฉˆเจ‚เจธเฉ€ เจธเจŸเฉ‡เจŸ เจเจ•เจธเจšเฉ‡เจ‚เจœ เจตเจฟเจงเฉ€ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเจพ เจ•เฉฐเจฎ เจธเฉŒเจ‚เจชเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค i-th เจจเฉ‹เจก เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ (i+1)-เจตเฉ‡เจ‚ เจจเฉ‹เจก เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, N-เจตเฉ‡เจ‚ เจจเฉ‹เจก เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเฉ‡ เจจเฉ‹เจก เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจธเจฟเจฐเจซ เจธเจฎเจฐเจฅเจฟเจค เจ“เจชเจฐเฉ‡เจธเจผเจจ เจธเจŸเฉ‡เจŸ เจธเจตเฉˆเจช เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจฆเฉ‹ เจจเฉ‹เจก เจ†เจชเจฃเฉ‡ เจฐเจพเจœเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฎเจพเจฃเฉ‚ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเฉ‡ เจนเจจเฅค เจ‡เจน เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจธเจŸเฉ‡เจŸ เจธเจตเฉˆเจช เจตเจฟเฉฑเจš M เจฎเจฟเจฒเฉ€เจธเจ•เจฟเฉฐเจŸ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจเฅค เจนเจฐ เจจเฉ‹เจก เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจธเจŸเฉ‡เจŸ เจธเจตเฉˆเจช เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆเจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจจเฉ‹เจกเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ…เจตเจธเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ?

เจนเฉฑเจฒ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ (เจŸเฉˆเจ•เจธเจŸ)

เจธเจคเจน เจนเฉฑเจฒ: เจชเจนเจฟเจฒเฉ‡ เจ…เจคเฉ‡ เจฆเฉ‚เจœเฉ‡ เจคเฉฑเจค, เจซเจฟเจฐ เจชเจนเจฟเจฒเฉ‡ เจ…เจคเฉ‡ เจคเฉ€เจœเฉ‡, เจซเจฟเจฐ เจชเจนเจฟเจฒเฉ‡ เจ…เจคเฉ‡ เจšเฉŒเจฅเฉ‡, เจ†เจฆเจฟ เจฆเฉ€เจ†เจ‚ เจ…เจตเจธเจฅเจพเจตเจพเจ‚ เจฆเจพ เจตเจŸเจพเจ‚เจฆเจฐเจพ เจ•เจฐเฉ‹เฅค เจนเจฐเฉ‡เจ• เจเจ•เจธเจšเฉ‡เจ‚เจœ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เฉฑเจ• เจคเฉฑเจค เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ O(N) เจ•เฉเจฐเจฎเจตเจพเจฐ เจฌเจฃเจพเจ‰เจฃเจพ เจชเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ O(N M) เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจฃเจพ เจชเจตเฉ‡เจ—เจพเฅค

เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจฐเฉ‡เจ–เจฟเจ• เจธเจฎเจพเจ‚ เจฒเฉฐเจฌเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจคเฉฑเจคเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ…เจตเจธเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹: เจชเจนเจฟเจฒเฉ€ เจฆเฉ‚เจœเฉ€ เจจเจพเจฒ, เจคเฉ€เจœเฉ€ เจšเฉŒเจฅเฉ€ เจจเจพเจฒ, เจ…เจคเฉ‡ เจนเฉ‹เจฐเฅค เจนเจฐเฉ‡เจ• เจธเจŸเฉ‡เจŸ เจเจ•เจธเจšเฉ‡เจ‚เจœ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจนเจฐ เจฆเฉ‚เจœเจพ เจคเฉฑเจค เจธเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ O(lg N) เจ•เฉเจฐเจฎเจตเจพเจฐ เจฌเจฃเจพเจ‰เจฃเจพ เจชเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ O(M lg N) เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจฃเจพ เจชเจตเฉ‡เจ—เจพเฅค

เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจผเจฟเจซเจŸ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจตเฉ€ เจ•เฉเจธเจผเจฒ เจฌเจฃเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉˆ - เจฐเฉ‡เจ–เจฟเจ• เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚, เจชเจฐ เจจเจฟเจฐเฉฐเจคเจฐ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจšเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจชเจนเจฟเจฒเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเฉ‡ เจคเฉฑเจค เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจ†เจ–เจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ, เจฆเฉ‚เจœเฉ‡ เจจเฉ‚เฉฐ เจ…เฉฐเจคเจฎ เจคเฉฑเจค เจฆเฉ‡ เจจเจพเจฒ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจนเฉ‹เจฐ. เจ†เจ–เจฐเฉ€ เจคเฉฑเจค เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจธเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ…เจคเฉ‡ เจนเฉเจฃ เจธเจพเจจเฉ‚เฉฐ เจฆเฉ‚เจœเฉ‡ เจเจฒเฉ€เจฎเฉˆเจ‚เจŸ เจฆเฉ€ เจ…เจตเจธเจฅเจพ เจจเฉ‚เฉฐ เจ†เจ–เจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉ€เจœเฉ‡ เจจเฉ‚เฉฐ เจ…เฉฐเจคเจฎ เจคเฉฑเจค เจจเจพเจฒ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจนเฉ€เฅค เจเจ•เจธเจšเฉ‡เจ‚เจœ เจฆเฉ‡ เจ‡เจธ เจฆเฉŒเจฐ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจพเจฐเฉ‡ เจคเฉฑเจคเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจธเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚เฅค เจ•เฉเฉฑเจฒ เจฎเจฟเจฒเจพ เจ•เฉ‡ O(2M) ~ O(1) เจ•เฉเจฐเจฎเจตเจพเจฐ เจนเฉ‹เจฃเจ—เฉ‡เฅค

เจนเจพเจˆเจกเจฐเจพ เจ•เจพเจจเจซเจฐเฉฐเจธ เจคเฉ‹เจ‚ เจ•เจพเจฐเจœเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ - เจฒเฉ‹เจก เจธเฉฐเจคเฉเจฒเจจ เจ…เจคเฉ‡ เจ‡เจจ-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ

เจ…เจœเจฟเจนเจพ เจนเฉฑเจฒ เจ‡เฉฑเจ• เจ—เจฃเจฟเจค-เจธเจผเจพเจธเจคเจฐเฉ€ เจจเฉ‚เฉฐ เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉ€ เจนเฉˆเจฐเจพเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ เจœเฉ‹ เจ…เจœเฉ‡ เจตเฉ€ เจฏเจพเจฆ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจฐเฉ‹เจŸเฉ‡เจธเจผเจจ เจฆเฉ‹ เจงเฉเจฐเฉ€ เจธเจฎเจฐเฉ‚เจชเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจฐเจšเจจเจพ เจนเฉˆเฅค เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจ‡เจน เจ‡เฉฑเจ• เจธเจผเจฟเจซเจŸ เจฒเจˆ เจจเจนเฉ€เจ‚, เจฌเจฒเจ•เจฟ K < N เจชเฉ‹เจœเฉ€เจธเจผเจจเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจงเจพเจฐเจฃ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค (เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‹ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจธเจนเฉ€ เจนเฉˆเฅค)

เจ•เฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเฉ‡เจฒเฉ€เจ†เจ‚ เจชเจธเฉฐเจฆ เจธเจจ? เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจนเฉ‹เจฐ เจนเฉฑเจฒ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹? เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจพเจ‚เจเจพ เจ•เจฐเฉ‹.

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจฒเจฟเฉฐเจ• เจนเจจ:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹