เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เชนเซ‡ เชนเชฌเชฐ! เชนเซเช‚ เชคเชฎเชพเชฐเชพ เชงเซเชฏเชพเชจ เชชเชฐ เชฒเซ‡เช–เชจเซ‹ เช…เชจเซเชตเชพเชฆ เชฐเชœเซ‚ เช•เชฐเซเช‚ เช›เซเช‚
"เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡".

เชœเซเชฏเชพเชฐเซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชตเชพเชค เช†เชตเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เชฎเชฆเชฆ เช•เชฐเซ€ เชถเช•เชคเซ‹ เชจเชฅเซ€ เชชเชฐเช‚เชคเซ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช•เช‚เชˆเช• เช–เซ‚เชŸเซ‡ เช›เซ‡. เชคเซ‡เช“ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เชตเชชเชฐเชพเชฏ เช›เซ‡. เชจเชพเชจเชพ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ SQLite เชฅเซ€ เชฒเชˆเชจเซ‡ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชŸเซ‡เชฐเชพเชกเซ‡เชŸเชพ เชธเซเชงเซ€ เช˜เชฃเชพ เชตเชฟเชตเชฟเชง เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช‰เชชเชฒเชฌเซเชง เช›เซ‡. เชชเชฐเช‚เชคเซ เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชพเชตเชคเชพ เชฎเชพเชคเซเชฐ เชฅเซ‹เชกเชพ เชœ เชฒเซ‡เช–เซ‹ เช›เซ‡. เช•เซ‡เชŸเชฒเชพ เช“เช›เชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เช›เซ‡ เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเซ‡ "howdoesarelationaldatabasework" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹. เชตเชงเซเชฎเชพเช‚, เช† เชฒเซ‡เช–เซ‹ เชŸเซ‚เช‚เช•เชพ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชจเชตเซ€เชจเชคเชฎ เชฌเชเซ€ เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€เช“ (BigData, NoSQL เช…เชฅเชตเชพ JavaScript) เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹, เชคเซ‹ เชคเชฎเชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชพเชตเชคเชพ เชตเชงเซ เช—เชนเชจ เชฒเซ‡เช–เซ‹ เชฎเชณเชถเซ‡.

เชถเซเช‚ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฏเซเชจเชฟเชตเชฐเซเชธเชฟเชŸเซ€เชจเชพ เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎเซ‹, เชธเช‚เชถเซ‹เชงเชจ เชชเชคเซเชฐเซ‹ เช…เชจเซ‡ เชชเซเชธเซเชคเช•เซ‹เชจเซ€ เชฌเชนเชพเชฐ เชธเชฎเชœเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœเซ‚เชจเชพ เช…เชจเซ‡ เช–เซ‚เชฌ เช•เช‚เชŸเชพเชณเชพเชœเชจเช• เช›เซ‡?

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เชเช• เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เชคเชฐเซ€เช•เซ‡, เชฎเชจเซ‡ เชจ เชธเชฎเชœเชพเชฏ เชคเซ‡เชตเซ€ เช•เซ‹เชˆ เชตเชธเซเชคเซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฅเซ€ เชฎเชจเซ‡ เชงเชฟเช•เซเช•เชพเชฐ เช›เซ‡. เช…เชจเซ‡ เชœเซ‹ เชกเซ‡เชŸเชพเชฌเซ‡เช 40 เชตเชฐเซเชทเชฅเซ€ เชตเชงเซ เชธเชฎเชฏเชฅเซ€ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡, เชคเซ‹ เชคเซ‡เชจเซเช‚ เช•เชพเชฐเชฃ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช. เชตเชฐเซเชทเซ‹เชฅเซ€, เชฎเซ‡เช‚ เช† เชตเชฟเชšเชฟเชคเซเชฐ เชฌเซเชฒเซ‡เช• เชฌเซ‹เช•เซเชธเชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชธเซ‡เช‚เช•เชกเซ‹ เช•เชฒเชพเช•เซ‹ เชตเชฟเชคเชพเชตเซเชฏเชพ เช›เซ‡ เชœเซ‡เชจเซ‹ เชนเซเช‚ เชฆเชฐเชฐเซ‹เชœ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚. เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช–เซ‚เชฌ เชœ เชฐเชธเชชเซเชฐเชฆ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เช‰เชชเชฏเซ‹เช—เซ€ เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช–เซเชฏเชพเชฒเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค. เชœเซ‹ เชคเชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เชฐเชธ เชงเชฐเชพเชตเซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เช† เชตเซเชฏเชพเชชเช• เชตเชฟเชทเชฏเชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชธเชฎเชฏ เช…เชฅเชตเชพ เชเซ‹เช• เชจเชฅเซ€, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เช† เชฒเซ‡เช–เชจเซ‹ เช†เชจเช‚เชฆ เชฎเชพเชฃเชตเซ‹ เชœเซ‹เชˆเช.

เช† เชฒเซ‡เช–เชจเซเช‚ เชถเซ€เชฐเซเชทเช• เชธเซเชชเชทเซเชŸ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เช† เชฒเซ‡เช–เชจเซ‹ เชนเซ‡เชคเซ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹ เชคเซ‡ เชธเชฎเชœเชตเชพเชจเซ‹ เชจเชฅเซ€. เช†เชฅเซ€, เชคเชฎเชจเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช–เชฌเชฐ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเชฐเชณ เช•เชจเซ‡เช•เซเชถเชจ เชตเชฟเชจเช‚เชคเซ€ เช…เชจเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชชเซเชฐเชถเซเชจเซ‹ เชฒเช–เชตเชพ เชธเซ€เช†เชฐเชฏเซเชกเซ€; เช…เชจเซเชฏเชฅเชพ เชคเชฎเซ‡ เช† เชฒเซ‡เช– เชธเชฎเชœเซ€ เชถเช•เชถเซ‹ เชจเชนเซ€เช‚. เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค เช† เชœ เชตเชธเซเชคเซ เชœเชพเชฃเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชนเซเช‚ เชฌเชพเช•เซ€เชจเซเช‚ เชธเชฎเชœเชพเชตเซ€เชถ.

เชนเซเช‚ เช…เชฎเซเช• เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเชฐ เชธเชพเชฏเชจเซเชธ เชฌเซ‡เชเชฟเช•เซเชธ เชธเชพเชฅเซ‡ เชถเชฐเซ‚ เช•เชฐเซ€เชถ, เชœเซ‡เชฎ เช•เซ‡ เชเชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธเชจเซ€ เชธเชฎเชฏ เชœเชŸเชฟเชฒเชคเชพ (BigO). เชนเซเช‚ เชœเชพเชฃเซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเชพเชฐเชพเชฎเชพเช‚เชฅเซ€ เช•เซ‡เชŸเชฒเชพเช• เช† เช–เซเชฏเชพเชฒเชจเซ‡ เชจเชซเชฐเชค เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเชพ เชตเชฟเชจเชพ เชคเชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เช…เช‚เชฆเชฐเชจเซ€ เชœเชŸเชฟเชฒเชคเชพเช“เชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชถเซ‹ เชจเชนเซ€เช‚. เช† เชเช• เชตเชฟเชถเชพเชณ เชตเชฟเชทเชฏ เชนเซ‹เชตเชพเชฅเซ€, เชนเซเช‚ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ€เชถ เชฎเชจเซ‡ เชœเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เชคเซ‡ เชฎเชนเชคเซเชตเชจเซเช‚ เช›เซ‡: เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡ เชเชธเช•เซเชฏเซเชเชฒ เชคเชชเชพเชธ. เชนเซเช‚ เชนเชฎเชฃเชพเช‚ เชœ เชชเชฐเชฟเชšเชฏ เช†เชชเซ€เชถ เชฎเซ‚เชณเชญเซ‚เชค เชกเซ‡เชŸเชพเชฌเซ‡เช เช–เซเชฏเชพเชฒเซ‹เชœเซ‡เชฅเซ€ เชฒเซ‡เช–เชจเชพ เช…เช‚เชคเซ‡ เชคเชฎเชจเซ‡ เช–เซเชฏเชพเชฒ เช†เชตเซ‡ เช•เซ‡ เชนเซ‚เชก เชนเซ‡เช เชณ เชถเซเช‚ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡.

เช•เชพเชฐเชฃ เช•เซ‡ เช† เชเช• เชฒเชพเช‚เชฌเซ‹ เช…เชจเซ‡ เชคเช•เชจเซ€เช•เซ€ เชฒเซ‡เช– เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช˜เชฃเชพ เชฌเชงเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชคเซ‡ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‹ เชธเชฎเชฏ เช•เชพเชขเซ‹. เช•เซ‡เชŸเชฒเซ€เช• เชตเชฟเชญเชพเชตเชจเชพเช“ เชธเชฎเชœเชตเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡; เชคเชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เช›เซ‹เชกเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชนเชœเซ เชชเชฃ เชธเชพเชฎเชพเชจเซเชฏ เชตเชฟเชšเชพเชฐ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹.

เชคเชฎเชพเชฐเชพเชฎเชพเช‚เชฅเซ€ เชตเชงเซ เชœเชพเชฃเช•เชพเชฐ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡, เช† เชฒเซ‡เช– 3 เชญเชพเช—เซ‹เชฎเชพเช‚ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒเซ‹ เช›เซ‡:

  • เชจเชฟเชฎเซเชจ-เชธเซเชคเชฐ เช…เชจเซ‡ เช‰เชšเซเชš-เชธเซเชคเชฐเชจเชพ เชกเซ‡เชŸเชพเชฌเซ‡เช เช˜เชŸเช•เซ‹เชจเซ€ เชเชพเช‚เช–เซ€
  • เช•เซเชตเซ‡เชฐเซ€ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ€ เชเชพเช‚เช–เซ€
  • เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจ เช…เชจเซ‡ เชฌเชซเชฐ เชชเซ‚เชฒ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸเชจเซ€ เชเชพเช‚เช–เซ€

เชฎเซ‚เชณเชญเซ‚เชค เชชเชฐ เชชเชพเช›เชพ

เชตเชฐเซเชทเซ‹ เชชเชนเซ‡เชฒเชพ (เชเช• เช†เช•เชพเชถเช—เช‚เช—เชพเชฎเชพเช‚, เช–เซ‚เชฌ เชฆเซ‚เชฐ...), เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ‡ เชคเซ‡เช“ เช•เซ‹เชกเชฟเช‚เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เชนเชคเชพ เชคเซ‡ เช‘เชชเชฐเซ‡เชถเชจเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฌเชฐเชพเชฌเชฐ เชœเชพเชฃเชตเซ€ เชนเชคเซ€. เชคเซ‡เช“ เชคเซ‡เชฎเชจเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซ‡ เชนเซƒเชฆเชฏเชฅเซ€ เชœเชพเชฃเชคเชพ เชนเชคเชพ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เชคเซ‡เชฎเชจเชพ เชงเซ€เชฎเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเซเชธเชจเซ€ CPU เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€เชจเซ‡ เชฌเช—เชพเชกเชตเชพเชจเซเช‚ เชชเชฐเชตเชกเซ‡ เชจเชนเซ€เช‚.

เช† เชญเชพเช—เชฎเชพเช‚, เชนเซเช‚ เชคเชฎเชจเซ‡ เช†เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เช–เซเชฏเชพเชฒเซ‹เชจเซ€ เชฏเชพเชฆ เช…เชชเชพเชตเซ€เชถ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชนเซเช‚ เช–เซเชฏเชพเชฒ เชชเชฃ เชฐเชœเซ‚ เช•เชฐเซ€เชถ เชกเซ‡เชŸเชพเชฌเซ‡เช เช‡เชจเซเชกเซ‡เช•เซเชธ.

O(1) เชตเชฟ O(n2)

เช†เชœเช•เชพเชฒ, เช˜เชฃเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชเชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธเชจเซ€ เชธเชฎเชฏ เชœเชŸเชฟเชฒเชคเชพ เชตเชฟเชถเซ‡ เชงเซเชฏเชพเชจ เช†เชชเชคเชพ เชจเชฅเซ€... เช…เชจเซ‡ เชคเซ‡เช“ เชธเชพเชšเชพ เช›เซ‡!

เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เช˜เชฃเชพ เชฌเชงเชพ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เชนเซ‹เชต (เชนเซเช‚ เชนเชœเชพเชฐเซ‹ เชตเชพเชค เชจเชฅเซ€ เช•เชฐเชคเซ‹) เช…เชฅเชตเชพ เชœเซ‹ เชคเชฎเซ‡ เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเซเชธเชฎเชพเช‚ เชธเช‚เช˜เชฐเซเชท เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เชนเซ‹เชต, เชคเซ‹ เช† เช–เซเชฏเชพเชฒเชจเซ‡ เชธเชฎเชœเชตเซ‹ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡. เช…เชจเซ‡ เชœเซ‡เชฎ เชคเชฎเซ‡ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชจเซ‡ เชฌเช‚เชจเซ‡ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡! เชนเซเช‚ เชคเชฎเชจเซ‡ เชฎเซเชฆเซเชฆเชพเชจเซ‡ เชชเชพเชฐ เชชเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเชฎเชฏ เชซเชพเชณเชตเซ€เชถ เชจเชนเซ€เช‚. เช† เช…เชฎเชจเซ‡ เช–เชฐเซเชš-เช†เชงเชพเชฐเชฟเชค เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเชพ เช–เซเชฏเชพเชฒเชจเซ‡ เชชเช›เซ€เชฅเซ€ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชถเซ‡ (เช–เชฐเซเชš เช†เชงเชพเชฐเชฟเชค เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ).

เช•เชจเซเชธเซ‡เชชเซเชŸ

เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‹ เชธเชฎเชฏ เชœเชŸเชฟเชฒเชคเชพ เชกเซ‡เชŸเชพเชจเซ€ เช†เชชเซ‡เชฒ เชฐเช•เชฎ เชฎเชพเชŸเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‹ เช…เชฎเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ‹ เชธเชฎเชฏ เชฒเชพเช—เชถเซ‡ เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡. เช† เชœเชŸเชฟเชฒเชคเชพเชจเซ‡ เชตเชฐเซเชฃเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชฎเซ‹เชŸเชพ O เช—เชพเชฃเชฟเชคเชฟเช• เชธเช‚เช•เซ‡เชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เช† เชธเช‚เช•เซ‡เชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชซเช‚เช•เซเชถเชจ เชธเชพเชฅเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช†เชชเซ‡เชฒ เชธเช‚เช–เซเชฏเชพเชจเชพ เช‡เชจเชชเซเชŸเซเชธ เชฎเชพเชŸเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‡ เช•เซ‡เชŸเชฒเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เช•เชนเซเช‚ เช›เซเช‚ เช•เซ‡ "เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชฎเชพเช‚ เชœเชŸเชฟเชฒเชคเชพ O(some_function()) เช›เซ‡", เชคเซ‹ เชคเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‡ เช…เชฎเซเช• เชšเซ‹เช•เซเช•เชธ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ some_function(a_certain_amount_of_data) เช‘เชชเชฐเซ‡เชถเชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช†เชฎ เชคเซ‡ เชกเซ‡เชŸเชพเชจเซ€ เชฎเชพเชคเซเชฐเชพ เชฎเชนเชคเซเชตเชจเซ€ เชจเชฅเซ€**, เช…เชจเซเชฏเชฅเชพ ** เชกเซ‡เชŸเชพ เชตเซ‹เชฒเซเชฏเซเชฎ เชตเชงเชตเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชธเช‚เช–เซเชฏเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเชงเซ‡ เช›เซ‡. เชธเชฎเชฏเชจเซ€ เชœเชŸเชฟเชฒเชคเชพ เช‘เชชเชฐเซ‡เชถเชจเชจเซ€ เชšเซ‹เช•เซเช•เชธ เชธเช‚เช–เซเชฏเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเชคเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชธเชฎเชฏเชจเซ‹ เช…เช‚เชฆเชพเชœ เช•เชพเชขเชตเชพเชจเซ€ เชเช• เชธเชพเชฐเซ€ เชฐเซ€เชค เช›เซ‡.

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เช† เช—เซเชฐเชพเชซเชฎเชพเช‚ เชคเชฎเซ‡ เช…เชฒเช—-เช…เชฒเช— เชชเซเชฐเช•เชพเชฐเชจเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชธเชฎเชฏเชจเซ€ เชœเชŸเชฟเชฒเชคเชพเช“ เชฎเชพเชŸเซ‡ เช‡เชจเชชเซเชŸ เชกเซ‡เชŸเชพเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชตเชฟเชฐเซเชฆเซเชง เช‘เชชเชฐเซ‡เชถเชจเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹. เชฎเซ‡เช‚ เชคเซ‡เชฎเชจเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฒเช˜เซเช—เชฃเช• เชธเซเช•เซ‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹. เชฌเซ€เชœเชพ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, เชกเซ‡เชŸเชพเชจเซ€ เชฎเชพเชคเซเชฐเชพ เชเชกเชชเชฅเซ€ 1 เชฅเซ€ 1 เชฌเชฟเชฒเชฟเชฏเชจ เชธเซเชงเซ€ เชตเชงเซ‡ เช›เซ‡. เช†เชชเชฃเซ‡ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡:

  • O(1) เช…เชฅเชตเชพ เชธเชคเชค เชœเชŸเชฟเชฒเชคเชพ เชธเซเชฅเชฟเชฐ เชฐเชนเซ‡ เช›เซ‡ (เช…เชจเซเชฏเชฅเชพ เชคเซ‡เชจเซ‡ เชธเชคเชค เชœเชŸเชฟเชฒเชคเชพ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚).
  • O(เชฒเซ‹เช—(n)) เช…เชฌเชœเซ‹ เชกเซ‡เชŸเชพ เชนเซ‹เชตเชพ เช›เชคเชพเช‚ เชชเชฃ เชจเซ€เชšเซเช‚ เชฐเชนเซ‡ เช›เซ‡.
  • เชธเซŒเชฅเซ€ เช–เชฐเชพเชฌ เชฎเซเชถเซเช•เซ‡เชฒเซ€ - O(n2), เชœเซเชฏเชพเช‚ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชเชกเชชเชฅเซ€ เชตเชงเซ‡ เช›เซ‡.
  • เช…เชจเซเชฏ เชฌเซ‡ เช—เซ‚เช‚เชšเชตเชฃเซ‹ เชเชŸเชฒเซ€ เชœ เชเชกเชชเชฅเซ€ เชตเชงเซ‡ เช›เซ‡.

เช‰เชฆเชพเชนเชฐเชฃเซ‹

เชกเซ‡เชŸเชพเชจเซ€ เชฅเซ‹เชกเซ€ เชฎเชพเชคเซเชฐเชพ เชธเชพเชฅเซ‡, O(1) เช…เชจเซ‡ O(n2) เชตเชšเซเชšเซ‡เชจเซ‹ เชคเชซเชพเชตเชค เชจเชนเชฟเชตเชค เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เช›เซ‡ เชœเซ‡เชจเซ‡ 2000 เชคเชคเซเชตเซ‹ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

  • O(1) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 1 เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(log(n)) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 7 เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(n) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 2 เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(n*log(n)) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 14 เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(n2) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 4 เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡

O(1) เช…เชจเซ‡ O(n2) เชตเชšเซเชšเซ‡เชจเซ‹ เชคเชซเชพเชตเชค เชฎเซ‹เชŸเซ‹ เชฒเชพเช—เซ‡ เช›เซ‡ (4 เชฎเชฟเชฒเชฟเชฏเชจ เช‘เชชเชฐเซ‡เชถเชจเซเชธ) เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชตเชงเซเชฎเชพเช‚ เชตเชงเซ 2 ms เช—เซเชฎเชพเชตเชถเซ‹, เชฎเชพเชคเซเชฐ เชคเชฎเชพเชฐเซ€ เช†เช‚เช–เซ‹ เชเชฌเช•เชพเชตเชตเชพเชจเซ‹ เชธเชฎเชฏ เช›เซ‡. เช–เชฐเซ‡เช–เชฐ, เช†เชงเซเชจเชฟเช• เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชธเซ‡เช•เชจเซเชก เชฆเซ€เช  เชฒเชพเช–เซ‹ เช•เชพเชฎเช—เซ€เชฐเซ€. เชคเซ‡เชฅเซ€ เชœ เช˜เชฃเชพ เช†เช‡เชŸเซ€ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เช…เชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจเชฅเซ€.

เชฎเซ‡เช‚ เช•เชนเซเชฏเซเช‚ เชคเซ‡เชฎ, เชตเชฟเชถเชพเชณ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช† เช–เซเชฏเชพเชฒ เชœเชพเชฃเชตเซ‹ เชนเชœเซ เชชเชฃ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡. เชœเซ‹ เช† เชตเช–เชคเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‡ 1 เชคเชคเซเชตเซ‹ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชจเซ€ เชนเซ‹เชฏ (เชœเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฎเชพเชŸเซ‡ เชเชŸเชฒเซเช‚ เชตเชงเชพเชฐเซ‡ เชจเชฅเซ€):

  • O(1) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 1 เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(log(n)) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 14 เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(n) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 1 เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(n*log(n)) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 14 เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡
  • O(n2) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฎเชจเซ‡ 1 เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡

เชฎเซ‡เช‚ เช—เชฃเชฟเชค เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชนเซเช‚ เช•เชนเซ€เชถ เช•เซ‡ O(n2) เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชธเชพเชฅเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซ‹เชซเซ€ เชชเซ€เชตเชพเชจเซ‹ เชธเชฎเชฏ เช›เซ‡ (เชฌเซ‡ เชชเชฃ!). เชœเซ‹ เชคเชฎเซ‡ เชกเซ‡เชŸเชพ เชตเซ‹เชฒเซเชฏเซเชฎเชฎเชพเช‚ เชฌเซ€เชœเซเช‚ 0 เช‰เชฎเซ‡เชฐเชถเซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชจเชฟเชฆเซเชฐเชพ เชฒเซ‡เชตเชพเชจเซ‹ เชธเชฎเชฏ เชนเชถเซ‡.

เชšเชพเชฒเซ‹ เชŠเช‚เชกเชพ เชœเชˆเช

เชธเช‚เชฆเชฐเซเชญ เชฎเชพเชŸเซ‡:

  • เชธเชพเชฐเชพ เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เชฒเซเช•เช…เชช O(1) เชฎเชพเช‚ เชเช• เชคเชคเซเชต เชถเซ‹เชงเซ‡ เช›เซ‡.
  • เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเช‚เชคเซเชฒเชฟเชค เชตเซƒเช•เซเชทเชจเซ€ เชถเซ‹เชง เช•เชฐเชตเชพเชฅเซ€ O(log(n)) เชฎเชพเช‚ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เช†เชตเซ‡ เช›เซ‡.
  • เชเชฐเซ‡ เชถเซ‹เชงเชตเชพเชฅเซ€ O(n) เชฎเชพเช‚ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เช†เชตเซ‡ เช›เซ‡.
  • เชถเซเชฐเซ‡เชทเซเช  เชธเซ‰เชฐเซเชŸเชฟเช‚เช— เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธเชฎเชพเช‚ เชœเชŸเชฟเชฒเชคเชพ O(n*log(n)) เชนเซ‹เชฏ เช›เซ‡.
  • เช–เชฐเชพเชฌ เชธเซ‹เชฐเซเชŸเชฟเช‚เช— เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชฎเชพเช‚ เชœเชŸเชฟเชฒเชคเชพ O(n2) เชนเซ‹เชฏ เช›เซ‡.

เชจเซ‹เช‚เชง: เชจเซ€เชšเซ‡เชจเชพ เชญเชพเช—เซ‹เชฎเชพเช‚ เช†เชชเชฃเซ‡ เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ เชœเซ‹เชˆเชถเซเช‚.

เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชธเชฎเชฏ เชœเชŸเชฟเชฒเชคเชพเชจเชพ เช˜เชฃเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เช›เซ‡:

  • เชธเชฐเซ‡เชฐเชพเชถ เช•เซ‡เชธ เชฆเซƒเชถเซเชฏ
  • เชถเซเชฐเซ‡เชทเซเช  เช•เซ‡เชธ เชฆเซƒเชถเซเชฏ
  • เช…เชจเซ‡ เชธเซŒเชฅเซ€ เช–เชฐเชพเชฌ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ

เชธเชฎเชฏเชจเซ€ เชœเชŸเชฟเชฒเชคเชพ เช˜เชฃเซ€เชตเชพเชฐ เชธเซŒเชฅเซ€ เช–เชฐเชพเชฌ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชนเซ‹เชฏ เช›เซ‡.

เชนเซเช‚ เชซเช•เซเชค เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเชพ เชธเชฎเชฏเชจเซ€ เชœเชŸเชฟเชฒเชคเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชœเชŸเชฟเชฒเชคเชพ เช†เชจเชพ เชชเชฐ เชชเชฃ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡:

  • เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‹ เชฎเซ‡เชฎเชฐเซ€ เชตเชชเชฐเชพเชถ
  • เชกเชฟเชธเซเช• I/O เชตเชชเชฐเชพเชถ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ

เช…เชฒเชฌเชคเซเชค, n2 เช•เชฐเชคเชพเช‚ เชตเชงเซ เช–เชฐเชพเชฌ เช—เซ‚เช‚เชšเชตเชฃเซ‹ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡:

  • n4: เช† เชญเชฏเช‚เช•เชฐ เช›เซ‡! เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช•เซ‡เชŸเชฒเชพเช• เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธเชฎเชพเช‚ เช† เชœเชŸเชฟเชฒเชคเชพ เช›เซ‡.
  • 3n: เช† เชตเชงเซ เช–เชฐเชพเชฌ เช›เซ‡! เช† เชฒเซ‡เช–เชจเซ€ เชฎเชงเซเชฏเชฎเชพเช‚ เช†เชชเชฃเซ‡ เชœเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เชœเซ‹เชถเซเช‚ เชคเซ‡เชฎเชพเช‚เชจเซ€ เชเช• เช† เชœเชŸเชฟเชฒเชคเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡ (เช…เชจเซ‡ เชคเซ‡ เช–เชฐเซ‡เช–เชฐ เช˜เชฃเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชตเชชเชฐเชพเชฏ เช›เซ‡).
  • เชซเซ‡เช•เซเชŸเซ‹เชฐเชฟเชฏเชฒ n: เชคเชฎเชจเซ‡ เชฅเซ‹เชกเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เชชเชฃ เชคเชฎเชพเชฐเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เช•เซเชฏเชพเชฐเซ‡เชฏ เชฎเชณเชถเซ‡ เชจเชนเซ€เช‚.
  • nn: เชœเซ‹ เชคเชฎเซ‡ เช† เชœเชŸเชฟเชฒเชคเชพเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชชเซ‚เช›เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชถเซเช‚ เช† เช–เชฐเซ‡เช–เชฐ เชคเชฎเชพเชฐเซ€ เชชเซเชฐเชตเซƒเชคเซเชคเชฟเชจเซเช‚ เช•เซเชทเซ‡เชคเซเชฐ เช›เซ‡...

เชจเซ‹เช‚เชง: เชฎเซ‡เช‚ เชคเชฎเชจเซ‡ เชฎเซ‹เชŸเชพ O เชนเซ‹เชฆเซเชฆเชพเชจเซ€ เชตเชพเชธเซเชคเชตเชฟเช• เชตเซเชฏเชพเช–เซเชฏเชพ เช†เชชเซ€ เชจเชฅเซ€, เชฎเชพเชคเซเชฐ เชเช• เชตเชฟเชšเชพเชฐ. เชคเชฎเซ‡ เช† เชฒเซ‡เช– เชชเชฐ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เชตเชฟเช•เชฟเชชเซ€เชกเชฟเชฏเชพ เชตเชพเชธเซเชคเชตเชฟเช• (เช…เชธเชฟเชฎเซเชชเซเชŸเซ‹เชŸเชฟเช•) เชตเซเชฏเชพเช–เซเชฏเชพ เชฎเชพเชŸเซ‡.

เชฎเชฐเซเชœ เชธเซ‹เชฐเซเชŸ

เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ เชธเช‚เช—เซเชฐเชนเชจเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชถเซเช‚ เช•เชฐเซ‹ เช›เซ‹? เชถเซเช‚? เชคเชฎเซ‡ sort() เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹ เช›เซ‹... เช“เช•เซ‡, เชธเชพเชฐเซ‹ เชœเชตเชพเชฌ... เชชเชฐเช‚เชคเซ เชกเซ‡เชŸเชพเชฌเซ‡เช เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชธเชฎเชœเชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เช† sort() เชซเช‚เช•เซเชถเชจ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡.

เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เชธเชพเชฐเชพ เชธเซ‰เชฐเซเชŸเชฟเช‚เช— เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เช›เซ‡, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ€เชถ: เชฎเชฐเซเชœ เชธเซ‰เชฐเซเชŸ. เชคเชฎเซ‡ เช•เชฆเชพเชš เชธเชฎเชœเซ€ เชถเช•เชคเชพ เชจเชฅเซ€ เช•เซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพเชจเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเซเช‚ เช…เชคเซเชฏเชพเชฐเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฐเซ‡ เช•เซเชตเซ‡เชฐเซ€ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชญเชพเช— เชชเช›เซ€ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชฎเชฐเซเชœ เชธเซ‰เชฐเซเชŸ เชธเชฎเชœเชตเชพเชฅเซ€ เช…เชฎเชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชกเซ‡เชŸเชพเชฌเซ‡เช เชœเซ‹เช‡เชจ เช“เชชเชฐเซ‡เชถเชจ เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เชฎเชณเชถเซ‡ เชฎเชฐเซเชœ เช•เชฐเซ‹ เชœเซ‹เชกเชพเชตเชพ (เชฎเชฐเซเชœเชฐ เชเชธเซ‹เชธเชฟเชเชถเชจ).

เชฎเชฐเซเชœ เช•เชฐเซ‹

เช˜เชฃเชพ เช‰เชชเชฏเซ‹เช—เซ€ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธเชจเซ€ เชœเซ‡เชฎ, เชฎเชฐเซเชœ เชธเซ‰เชฐเซเชŸ เชเช• เชฏเซเช•เซเชคเชฟ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡: N/2 เช•เชฆเชจเชพ 2 เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒเชพ เชเชฐเซ‡เชจเซ‡ N-เชคเชคเซเชต เชธเซ‰เชฐเซเชŸเซ‡เชก เชเชฐเซ‡เชฎเชพเช‚ เชœเซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชพเชคเซเชฐ N เช‘เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เชฅเชพเชฏ เช›เซ‡. เช† เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชฎเชฐเซเชœเชฟเช‚เช— เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชšเชพเชฒเซ‹ เชเช• เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ‡ เช†เชจเซ‹ เช…เชฐเซเชฅ เชถเซเช‚ เช›เซ‡ เชคเซ‡ เชœเซ‹เชˆเช:

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เช† เช†เช‚เช•เชกเซ‹ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช…เช‚เชคเชฟเชฎ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒ 8-เชคเชคเซเชต เชเชฐเซ‡ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ 2 4-เชคเชคเซเชต เชเชฐเซ‡ เชชเชฐ เชฎเชพเชคเซเชฐ เชเช• เชœ เชตเชพเชฐ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฌเช‚เชจเซ‡ 4-เชคเชคเซเชต เชเชฐเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒ เชนเซ‹เชตเชพเชฅเซ€:

  • 1) เชคเชฎเซ‡ เชฌเซ‡ เชเชฐเซ‡เชฎเชพเช‚ เชฌเช‚เชจเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เช˜เชŸเช•เซ‹เชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเซ‹ เช›เซ‹ (เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชตเชฐเซเชคเชฎเชพเชจ = เชชเซเชฐเชฅเชฎ)
  • 2) เชชเช›เซ€ เชคเซ‡เชจเซ‡ 8 เชเชฒเชฟเชฎเซ‡เชจเซเชŸ เชเชฐเซ‡เชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชจเชพเชจเซ‹ เชฒเซ‹
  • 3) เช…เชจเซ‡ เชเชฐเซ‡เชจเชพ เช†เช—เชฒเชพ เช˜เชŸเช• เชชเชฐ เชœเชพเช“ เชœเซเชฏเชพเช‚ เชคเชฎเซ‡ เชธเซŒเชฅเซ€ เชจเชพเชจเซเช‚ เชคเชคเซเชต เชฒเซ€เชงเซเช‚ เช›เซ‡
  • เช…เชจเซ‡ 1,2,3เชจเซเช‚ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช•เชฐเซ‹ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเชฎเซ‡ เชเชฐเซ‡เชฎเชพเช‚เชจเชพ เชเช•เชจเชพ เช›เซ‡เชฒเซเชฒเชพ เชคเชคเซเชต เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเซ‹ เชจเชนเซ€เช‚.
  • เชชเช›เซ€ เชคเชฎเซ‡ เช…เชจเซเชฏ เชเชฐเซ‡เชจเชพ เชฌเชพเช•เซ€เชจเชพ เช˜เชŸเช•เซ‹เชจเซ‡ 8 เชเชฒเชฟเชฎเซ‡เชจเซเชŸ เชเชฐเซ‡เชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เชฒเซ‹.

เช† เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชฌเช‚เชจเซ‡ 4-เชคเชคเซเชต เชเชฐเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชคเชฎเชพเชฐเซ‡ เชคเซ‡ เชเชฐเซ‡เชฎเชพเช‚ "เชชเชพเช›เชพ เชœเชตเซเช‚" เชจเชฅเซ€.

เชนเชตเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชฏเซเช•เซเชคเชฟ เชธเชฎเชœเซ€ เช—เชฏเชพ เช›เซ€เช, เชฎเชฐเซเชœ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เชฎเชพเชฐเซ‹ เชธเซเชฏเซเชกเซ‹เช•เซ‹เชก เช…เชนเซ€เช‚ เช›เซ‡:

array mergeSort(array a)
   if(length(a)==1)
      return a[0];
   end if

   //recursive calls
   [left_array right_array] := split_into_2_equally_sized_arrays(a);
   array new_left_array := mergeSort(left_array);
   array new_right_array := mergeSort(right_array);

   //merging the 2 small ordered arrays into a big one
   array result := merge(new_left_array,new_right_array);
   return result;

เชฎเชฐเซเชœ เชธเซ‰เชฐเซเชŸ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชจเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“เชฎเชพเช‚ เชคเซ‹เชกเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เชฎเซ‚เชณ เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชจเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชถเซ‹เชงเซ‡ เช›เซ‡ (เชจเซ‹เช‚เชง: เช† เชชเซเชฐเช•เชพเชฐเชจเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‡ เชกเชฟเชตเชพเชˆเชก เชเชจเซเชก เช•เซ‹เชจเซเช•เชฐ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡). เชœเซ‹ เชคเชฎเซ‡ เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชธเชฎเชœเซ€ เชถเช•เชคเชพ เชจเชฅเซ€, เชคเซ‹ เชšเชฟเช‚เชคเชพ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚; เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชชเชนเซ‡เชฒเซ€เชตเชพเชฐ เชœเซ‹เชฏเซเช‚ เชคเซเชฏเชพเชฐเซ‡ เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เชจเชนเซ€เช‚. เชœเซ‹ เชคเซ‡ เชคเชฎเชจเซ‡ เชฎเชฆเชฆ เช•เชฐเซ€ เชถเช•เซ‡, เชคเซ‹ เชนเซเช‚ เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‡ เชฌเซ‡ เชคเชฌเช•เซเช•เชพเชจเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชคเชฐเซ€เช•เซ‡ เชœเซ‹เช‰เช‚ เช›เซเช‚:

  • เชตเชฟเชญเชพเช—เชจเซ‹ เชคเชฌเช•เซเช•เซ‹, เชœเซเชฏเชพเช‚ เชเชฐเซ‡ เชจเชพเชจเชพ เชเชฐเซ‡เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เชฅเชพเชฏ เช›เซ‡
  • เชธเซ‰เชฐเซเชŸเชฟเช‚เช—เชจเซ‹ เชคเชฌเช•เซเช•เซ‹ เช เช›เซ‡ เชœเซเชฏเชพเช‚ เชจเชพเชจเชพ เชเชฐเซ‡เชจเซ‡ เชœเซ‹เชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชฏเซเชจเชฟเชฏเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡) เชฎเซ‹เชŸเซ€ เชเชฐเซ‡ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡.

เชตเชฟเชญเชพเชœเชจ เชคเชฌเช•เซเช•เซ‹

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เชตเชฟเชญเชพเชœเชจ เชคเชฌเช•เซเช•เชพเชฎเชพเช‚, เชเชฐเซ‡เชจเซ‡ 3 เชชเช—เชฒเชพเช‚เช“เชฎเชพเช‚ เชเช•เชพเชคเซเชฎเช• เชเชฐเซ‡เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเช—เชฒเชพเช‚เช“เชจเซ€ เช”เชชเชšเชพเชฐเชฟเช• เชธเช‚เช–เซเชฏเชพ log(N) เช›เซ‡ ( N=8 เชฅเซ€, log(N) = 3).

เชนเซเช‚ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชพเชฃเซ€ เชถเช•เซเช‚?

เชนเซเช‚ เชชเซเชฐเชคเชฟเชญเชพเชถเชพเชณเซ€ เช›เซเช‚! เชเช• เชถเชฌเซเชฆเชฎเชพเช‚ - เช—เชฃเชฟเชค. เชตเชฟเชšเชพเชฐ เช เช›เซ‡ เช•เซ‡ เชฆเชฐเซ‡เช• เชชเช—เชฒเซเช‚ เชฎเซ‚เชณ เชเชฐเซ‡เชจเชพ เช•เชฆเชจเซ‡ 2 เชตเชกเซ‡ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชชเช—เชฒเชพเช‚เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เช เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชฎเซ‚เชณ เชเชฐเซ‡เชจเซ‡ เชฌเซ‡ เชญเชพเช—เชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ€ เชตเช–เชค เชตเชฟเชญเชพเชœเซ€เชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช† เชฒเช˜เซเช—เชฃเช• (เช†เชงเชพเชฐ 2) เชจเซ€ เชšเซ‹เช•เซเช•เชธ เชตเซเชฏเชพเช–เซเชฏเชพ เช›เซ‡.

เชตเชฐเซเช—เซ€เช•เชฐเชฃ เชคเชฌเช•เซเช•เซ‹

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เชธเซ‰เชฐเซเชŸเชฟเช‚เช— เชคเชฌเช•เซเช•เชพเชฎเชพเช‚, เชคเชฎเซ‡ เชเช•เชพเชคเซเชฎเช• (เชธเชฟเช‚เช—เชฒ-เชเชฒเชฟเชฎเซ‡เชจเซเชŸ) เชเชฐเซ‡เชฅเซ€ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ‹ เช›เซ‹. เชฆเชฐเซ‡เช• เชชเช—เชฒเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชคเชฎเซ‡ เชฌเชนเซเชตเชฟเชง เชฎเชฐเซเชœ เช‘เชชเชฐเซ‡เชถเชจเซเชธ เชฒเชพเช—เซ เช•เชฐเซ‹ เช›เซ‹ เช…เชจเซ‡ เช•เซเชฒ เช•เชฟเช‚เชฎเชค N = 8 เช‘เชชเชฐเซ‡เชถเชจเซเชธ เช›เซ‡:

  • เชชเซเชฐเชฅเชฎ เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 4 เชฎเชฐเซเชœ เช›เซ‡ เชœเซ‡เชจเซ€ เช•เชฟเช‚เชฎเชค 2 เช“เชชเชฐเซ‡เชถเชจเซเชธ เช›เซ‡
  • เชฌเซ€เชœเชพ เชชเช—เชฒเชพเชฎเชพเช‚ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 2 เชฎเชฐเซเชœ เช›เซ‡ เชœเซ‡เชจเซ€ เช•เชฟเช‚เชฎเชค 4 เช“เชชเชฐเซ‡เชถเชจเซเชธ เช›เซ‡
  • เชคเซเชฐเซ€เชœเชพ เชชเช—เชฒเชพเชฎเชพเช‚ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 1 เชฎเชฐเซเชœ เช›เซ‡ เชœเซ‡เชจเซ€ เช•เชฟเช‚เชฎเชค 8 เช“เชชเชฐเซ‡เชถเชจเซเชธ เช›เซ‡

เชฒเซ‹เช—(เชเชจ) เชธเซเชŸเซ‡เชชเซเชธ เชนเซ‹เชตเชพเชฅเซ€, เช•เซเชฒ เช–เชฐเซเชš เชเชจ * log(N) เช•เชพเชฎเช—เซ€เชฐเซ€.

เชฎเชฐเซเชœ เชธเซ‰เชฐเซเชŸเชจเชพ เชซเชพเชฏเชฆเชพ

เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชถเชพ เชฎเชพเชŸเซ‡ เช†เชŸเชฒเซเช‚ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เช›เซ‡?

เช•เชพเชฐเชฃ เช•เซ‡:

  • เชคเชฎเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชซเซ‚เชŸเชชเซเชฐเชฟเชจเซเชŸเชจเซ‡ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชคเชฎเซ‡ เชจเชตเชพ เชเชฐเซ‡ เชจ เชฌเชจเชพเชตเซ‹ เชชเชฐเช‚เชคเซ เช‡เชจเชชเซเชŸ เชเชฐเซ‡เชฎเชพเช‚ เชธเซ€เชงเชพ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‹.

เชจเซ‹เช‚เชง: เช† เชชเซเชฐเช•เชพเชฐเชจเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‡ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ in-เชธเซเชฅเชณ (เชตเชงเชพเชฐเชพเชจเซ€ เชฎเซ‡เชฎเชฐเซ€ เชตเชฟเชจเชพ เชตเชฐเซเช—เซ€เช•เชฐเชฃ).

  • เชคเชฎเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชกเชฟเชธเซเช• I/O เช“เชตเชฐเชนเซ‡เชกเชจเซ‹ เช–เชฐเซเชš เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชเช• เชœ เชธเชฎเชฏเซ‡ เชกเชฟเชธเซเช• เชœเช—เซเชฏเชพ เช…เชจเซ‡ เชฅเซ‹เชกเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹. เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชซเช•เซเชค เชคเซ‡ เชœ เชญเชพเช—เซ‹ เชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ‹ เชตเชฟเชšเชพเชฐ เช›เซ‡ เชœเซ‡ เชนเชพเชฒเชฎเชพเช‚ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ€ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ เชฎเชพเชคเซเชฐ 100-เชฎเซ‡เช—เชพเชฌเชพเช‡เชŸ เชฎเซ‡เชฎเชฐเซ€ เชฌเชซเชฐ เชธเชพเชฅเซ‡ เชฎเชฒเซเชŸเชฟ-เช—เซ€เช—เชพเชฌเชพเช‡เชŸ เชŸเซ‡เชฌเชฒเชจเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เช† เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡.

เชจเซ‹เช‚เชง: เช† เชชเซเชฐเช•เชพเชฐเชจเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‡ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชฌเชพเชนเซเชฏ เชชเซเชฐเช•เชพเชฐ.

  • เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชฌเชนเซเชตเชฟเชง เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“/เชฅเซเชฐเซ‡เชกเซ‹/เชธเชฐเซเชตเชฐ เชชเชฐ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชตเชฟเชคเชฐเชฟเชค เชฎเชฐเซเชœ เชธเซ‰เชฐเซเชŸ เช เชฎเซเช–เซเชฏ เช˜เชŸเช•เซ‹เชฎเชพเช‚เชจเซเช‚ เชเช• เช›เซ‡ Hadoop (เชœเซ‡ เชฎเซ‹เชŸเชพ เชกเซ‡เชŸเชพเชฎเชพเช‚ เชเช• เชฎเชพเชณเช–เซเช‚ เช›เซ‡).

  • เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชฒเซ€เชกเชจเซ‡ เชธเซ‹เชจเชพเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชถเช•เซ‡ เช›เซ‡ (เช–เชฐเซ‡เช–เชฐ!).

เช† เชธเซ‹เชฐเซเชŸเชฟเช‚เช— เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ (เชœเซ‹ เชฌเชงเชพ เชจเชนเซ€เช‚) เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธเชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชเช•เชฎเชพเชคเซเชฐ เชจเชฅเซ€. เชœเซ‹ เชคเชฎเซ‡ เชตเชงเซ เชœเชพเชฃเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชคเชฎเซ‡ เช† เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เชธเช‚เชถเซ‹เชงเชจ เช•เชพเชฐเซเชฏ, เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเซ‹เชฐเซเชŸเชฟเช‚เช— เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธเชจเชพ เช—เซเชฃเชฆเซ‹เชทเชจเซ€ เชšเชฐเซเชšเชพ เช•เชฐเซ‡ เช›เซ‡.

เช…เชฐเซ‡, เชตเซƒเช•เซเชท เช…เชจเซ‡ เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ

เชนเชตเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชธเชฎเชฏเชจเซ€ เชœเชŸเชฟเชฒเชคเชพ เช…เชจเซ‡ เชตเชฐเซเช—เซ€เช•เชฐเชฃเชจเซ‹ เชตเชฟเชšเชพเชฐ เชธเชฎเชœเซ€เช เช›เซ€เช, เชคเซ‹ เชฎเชพเชฐเซ‡ เชคเชฎเชจเซ‡ 3 เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ เชตเชฟเชถเซ‡ เชœเชฃเชพเชตเชตเซเช‚ เชœเซ‹เชˆเช. เช† เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เช†เชงเซเชจเชฟเช• เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‹ เช†เชงเชพเชฐ เช›เซ‡. เชนเซเช‚ เช–เซเชฏเชพเชฒ เชชเชฃ เชฐเชœเซ‚ เช•เชฐเซ€เชถ เชกเซ‡เชŸเชพเชฌเซ‡เช เช‡เชจเซเชกเซ‡เช•เซเชธ.

เช…เชฐเซ‡

เชฆเซเชตเชฟ-เชชเชฐเชฟเชฎเชพเชฃเซ€เชฏ เชเชฐเซ‡ เช เชธเซŒเชฅเซ€ เชธเชฐเชณ เชกเซ‡เชŸเชพ เชฎเชพเชณเช–เซเช‚ เช›เซ‡. เช•เซ‹เชทเซเชŸเช•เชจเซ‡ เชเชฐเซ‡ เชคเชฐเซ€เช•เซ‡ เชตเชฟเชšเชพเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชฆเชพเช–เซเชฒเชพ เชคเชฐเซ€เช•เซ‡:

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เช† 2-เชชเชฐเชฟเชฎเชพเชฃเซ€เชฏ เชเชฐเซ‡ เชชเช‚เช•เซเชคเชฟเช“ เช…เชจเซ‡ เช•เซ‰เชฒเชฎเซเชธ เชธเชพเชฅเซ‡เชจเซเช‚ เช•เซ‹เชทเซเชŸเช• เช›เซ‡:

  • เชฆเชฐเซ‡เช• เชฐเซ‡เช–เชพ เชเช• เชเชจเซเชŸเชฟเชŸเซ€ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡
  • เช•เซ‰เชฒเชฎ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เช เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชเชจเซเชŸเชฟเชŸเซ€เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡.
  • เชฆเชฐเซ‡เช• เช•เซ‰เชฒเชฎ เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเช•เชพเชฐเชจเซ‹ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‡ เช›เซ‡ (เชชเซ‚เชฐเซเชฃเชพเช‚เช•, เชถเชฌเซเชฆเชฎเชพเชณเชพ, เชคเชพเชฐเซ€เช–...).

เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เช…เชจเซ‡ เชตเชฟเชเซเชฏเซเช…เชฒเชพเชˆเช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช† เช…เชจเซเช•เซ‚เชณ เช›เซ‡, เชœเซ‹ เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เชฎเซ‚เชฒเซเชฏ เชถเซ‹เชงเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เช† เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชคเชฎเซ‡ เชฏเซเช•เซ‡เชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเชคเชพ เชคเชฎเชพเชฎ เชฒเซ‹เช•เซ‹เชจเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชคเซ‡ เชชเช‚เช•เซเชคเชฟ เชฏเซเช•เซ‡เชจเซ€ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฆเชฐเซ‡เช• เชชเช‚เช•เซเชคเชฟ เชœเซ‹เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เชคเซ‡ เชคเชฎเชจเซ‡ N เชตเซเชฏเชตเชนเชพเชฐเซ‹เชจเซ‹ เช–เชฐเซเชš เช•เชฐเชถเซ‡เชœเซเชฏเชพเช‚ N - เชฒเซ€เชŸเซ€เช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ, เชœเซ‡ เช–เชฐเชพเชฌ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชถเซเช‚ เช•เซ‹เชˆ เชเชกเชชเซ€ เชฐเซ€เชค เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡? เชนเชตเซ‡ เช†เชชเชฃเซ‡ เชตเซƒเช•เซเชทเซ‹เชฅเซ€ เชชเชฐเชฟเชšเชฟเชค เชฅเชตเชพเชจเซ‹ เชธเชฎเชฏ เช›เซ‡.

เชจเซ‹เช‚เชง: เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เช†เชงเซเชจเชฟเช• เชกเซ‡เชŸเชพเชฌเซ‡เช เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชฐเซ€เชคเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชธเซเชคเซƒเชค เชเชฐเซ‡ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡: heap-organized เช•เซ‹เชทเซเชŸเช•เซ‹ เช…เชจเซ‡ index-organized เช•เซ‹เชทเซเชŸเช•เซ‹. เชชเชฐเช‚เชคเซ เช† เช•เซ‰เชฒเชฎเชจเชพ เชœเซ‚เชฅเชฎเชพเช‚ เชเชกเชชเชฅเซ€ เชšเซ‹เช•เซเช•เชธ เชธเซเชฅเชฟเชคเชฟ เชถเซ‹เชงเชตเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชฌเชฆเชฒเชคเซเช‚ เชจเชฅเซ€.

เชกเซ‡เชŸเชพเชฌเซ‡เช เชตเซƒเช•เซเชท เช…เชจเซ‡ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ

เชฆเซเชตเชฟเชธเช‚เช—เซ€ เชถเซ‹เชง เชตเซƒเช•เซเชท เช เชตเชฟเชถเชฟเชทเซเชŸ เช—เซเชฃเชงเชฐเซเชฎ เชงเชฐเชพเชตเชคเซเช‚ เชฆเซเชตเชฟเชธเช‚เช—เซ€ เชตเซƒเช•เซเชท เช›เซ‡, เชฆเชฐเซ‡เช• เชจเซ‹เชก เชชเชฐเชจเซ€ เช•เซ€ เช† เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช:

  • เชกเชพเชฌเซ€ เชธเชฌเชŸเซเชฐเซ€เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฌเชงเซ€ เช•เซ€เช“ เช•เชฐเชคเชพเช‚ เชฎเซ‹เชŸเซ€
  • เชœเชฎเชฃเซ€ เชธเชฌเชŸเซเชฐเซ€เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฌเชงเซ€ เช•เซ€ เช•เชฐเชคเชพเช‚ เช“เช›เซ€

เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เช†เชจเซ‹ เช…เชฐเซเชฅ เชถเซเช‚ เชฅเชพเชฏ เช›เซ‡

เช†เชˆเชกเชฟเชฏเชพ

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เช† เชตเซƒเช•เซเชทเชฎเชพเช‚ N = 15 เชคเชคเซเชตเซ‹ เช›เซ‡. เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชนเซเช‚ 208 เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚:

  • เชนเซเช‚ เชฐเซ‚เชŸเชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซเช‚ เช›เซเช‚ เชœเซ‡เชจเซ€ เช•เซ€ 136 เช›เซ‡. 136<208 เชฅเซ€, เชนเซเช‚ เชจเซ‹เชก 136 เชจเชพ เชœเชฎเชฃเชพ เชธเชฌเชŸเซเชฐเซ€ เชคเชฐเชซ เชœเซ‹เช‰เช‚ เช›เซเช‚.
  • 398>208 เชคเซ‡เชฅเซ€ เชนเซเช‚ เชจเซ‹เชก 398 เชจเซ€ เชกเชพเชฌเซ€ เชธเชฌเชŸเซเชฐเซ€ เชœเซ‹เชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚
  • 250>208 เชคเซ‡เชฅเซ€ เชนเซเช‚ เชจเซ‹เชก 250 เชจเซ€ เชกเชพเชฌเซ€ เชธเชฌเชŸเซเชฐเซ€ เชœเซ‹เชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚
  • 200<208, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชจเซ‹เชก 200 เชจเซ€ เชœเชฎเชฃเซ€ เชธเชฌเชŸเซเชฐเซ€ เชœเซ‹เชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚. เชชเชฐเช‚เชคเซ 200 เชชเชพเชธเซ‡ เช•เซ‹เชˆ เชœเชฎเชฃเซเช‚ เชธเชฌเชŸเซเชฐเซ€ เชจเชฅเซ€, เชฎเซ‚เชฒเซเชฏ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจเชฅเซ€ (เช•เชพเชฐเชฃ เช•เซ‡ เชœเซ‹ เชคเซ‡ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡, เชคเซ‹ เชคเซ‡ เชฏเซ‹เช—เซเชฏ เชธเชฌเชŸเซเชฐเซ€ 200 เชฎเชพเช‚ เชนเชถเซ‡).

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชนเซเช‚ 40 เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚

  • เชนเซเช‚ เชฐเซ‚เชŸเชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซเช‚ เช›เซเช‚ เชœเซ‡เชจเซ€ เช•เซ€ 136 เช›เซ‡. 136 > 40 เชฅเซ€, เชนเซเช‚ เชจเซ‹เชก 136 เชจเชพ เชกเชพเชฌเชพ เชธเชฌเชŸเซเชฐเซ€ เชคเชฐเชซ เชœเซ‹เช‰เช‚ เช›เซเช‚.
  • 80 > 40, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชจเซ‹เชก 80 เชจเซ€ เชกเชพเชฌเซ€ เชธเชฌเชŸเซเชฐเซ€ เชœเซ‹เชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚
  • 40= 40, เชจเซ‹เชก เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡. เชนเซเช‚ เชจเซ‹เชกเชจเซ€ เช…เช‚เชฆเชฐเชจเซ€ เชชเช‚เช•เซเชคเชฟ ID เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเซเช‚ เช›เซเช‚ (เชšเชฟเชคเซเชฐเชฎเชพเช‚ เชฌเชคเชพเชตเซ‡เชฒ เชจเชฅเซ€) เช…เชจเซ‡ เช†เชชเซ‡เชฒ เชชเช‚เช•เซเชคเชฟ ID เชฎเชพเชŸเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชœเซเช“.
  • เชชเช‚เช•เซเชคเชฟ ID เชจเซ‡ เชœเชพเชฃเชตเชพเชฅเซ€ เชฎเชจเซ‡ เช–เชฌเชฐ เชชเชกเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชกเซ‡เชŸเชพ เช•เซเชฏเชพเช‚ เช›เซ‡, เชœเซ‡เชฅเซ€ เชนเซเช‚ เชคเซ‡เชจเซ‡ เชคเชฐเชค เชœ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€ เชถเช•เซเช‚.

เช…เช‚เชคเซ‡, เชฌเช‚เชจเซ‡ เชถเซ‹เชงเซ‹ เชฎเชจเซ‡ เชตเซƒเช•เซเชทเชจเซ€ เช…เช‚เชฆเชฐเชจเชพ เชธเซเชคเชฐเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ เช–เชฐเซเชš เช•เชฐเชถเซ‡. เชœเซ‹ เชคเชฎเซ‡ เชฎเชฐเซเชœ เชธเซ‰เชฐเซเชŸ เชตเชฟเชถเซ‡เชจเซ‹ เชญเชพเช— เช•เชพเชณเชœเซ€เชชเซ‚เชฐเซเชตเช• เชตเชพเช‚เชšเซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชœเซ‹เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชคเซเชฏเชพเช‚ เชฒเซ‹เช—(เชเชจ) เชธเซเชคเชฐเซ‹ เช›เซ‡. เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡, เชถเซ‹เชง เช–เชฐเซเชš เชฒเซ‹เช—(N), เช–เชฐเชพเชฌ เชจเชฅเซ€!

เชšเชพเชฒเซ‹ เช†เชชเชฃเซ€ เชธเชฎเชธเซเชฏเชพ เชชเชฐ เชชเชพเช›เชพ เชซเชฐเซ€เช

เชชเชฐเช‚เชคเซ เช† เช–เซ‚เชฌ เชœ เช…เชฎเซ‚เชฐเซเชค เช›เซ‡, เชคเซ‹ เชšเชพเชฒเซ‹ เช†เชชเชฃเซ€ เชธเชฎเชธเซเชฏเชพ เชชเชฐ เชชเชพเช›เชพ เช†เชตเซ€เช. เชธเชพเชฆเชพ เชชเซ‚เชฐเซเชฃเชพเช‚เช•เชจเซ‡ เชฌเชฆเชฒเซ‡, เชชเชพเช›เชฒเชพ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เช•เซ‹เชˆเชจเชพ เชฆเซ‡เชถเชจเซ‡ เชฐเชœเซ‚ เช•เชฐเชคเซ€ เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเซ€ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ‹. เชงเชพเชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชตเซƒเช•เซเชท เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช•เซ‹เชทเซเชŸเช•เชจเซเช‚ "เชฆเซ‡เชถ" เชซเซ€เชฒเซเชก (เช•เซ‰เชฒเชฎ 3) เช›เซ‡:

  • เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เชœเชพเชฃเชตเซเช‚ เชนเซ‹เชฏ เช•เซ‡ เชฏเซเช•เซ‡เชฎเชพเช‚ เช•เซ‹เชฃ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡
  • เช—เซเชฐเซ‡เชŸ เชฌเซเชฐเชฟเชŸเชจเชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เช•เชฐเชคเซ€ เชจเซ‹เชก เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเซ‡ เชตเซƒเช•เซเชทเชจเซ‡ เชœเซเช“
  • "UKnode" เชจเซ€ เช…เช‚เชฆเชฐ เชคเชฎเชจเซ‡ UK เชตเชฐเซเช•เชฐ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธเชจเซเช‚ เชธเซเชฅเชพเชจ เชฎเชณเชถเซ‡.

เชœเซ‹ เชคเชฎเซ‡ เชเชฐเซ‡เชจเซ‹ เชธเซ€เชงเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹ เชคเซ‹ เช† เชถเซ‹เชงเชฎเชพเช‚ N เช‘เชชเชฐเซ‡เชถเชจเชจเซ‡ เชฌเชฆเชฒเซ‡ เชฒเซ‰เช—(N) เช‘เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เชฅเชถเซ‡. เชคเชฎเซ‡ เชนเชฎเชฃเชพเช‚ เชœ เชฐเชœเซ‚ เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚ เชกเซ‡เชŸเชพเชฌเซ‡เช เช‡เชจเซเชกเซ‡เช•เซเชธ.

เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซ€ (เชเชŸเชฒเซ‡ โ€‹โ€‹เช•เซ‡ เชซเซ€เชฒเซเชก เชœเซ‚เชฅเซ‹) เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เช•เชพเชฐเซเชฏ เชนเซ‹เชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเชฎเซ‡ เชซเซ€เชฒเซเชกเชจเชพ เช•เซ‹เชˆเชชเชฃ เชœเซ‚เชฅ (เชธเซเชŸเซเชฐเชฟเช‚เช—, เชจเช‚เชฌเชฐ, 2 เชฒเซ€เชŸเซ€เช“, เชจเช‚เชฌเชฐ เช…เชจเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช—, เชคเชพเชฐเซ€เช–...) เชฎเชพเชŸเซ‡ เช‡เชจเซเชกเซ‡เช•เซเชธ เชŸเซเชฐเซ€ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡เชฅเซ€ เชคเชฎเซ‡ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹. เช•เซ€เช“ เชตเชšเซเชšเซ‡ เช“เชฐเซเชกเชฐ (เชœเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เช•เซ‹เชˆเชชเชฃ เชฎเซ‚เชณเชญเซ‚เชค เชชเซเชฐเช•เชพเชฐเซ‹ เชฎเชพเชŸเซ‡เชจเซ‹ เช•เซ‡เชธ เช›เซ‡).

B+TreeIndex

เชœเซเชฏเชพเชฐเซ‡ เช† เชตเซƒเช•เซเชท เชšเซ‹เช•เซเช•เชธ เชฎเซ‚เชฒเซเชฏ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชจเซ‡ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชเช• เชฎเซ‹เชŸเซ€ เชธเชฎเชธเซเชฏเชพ เชนเซ‹เชฏ เช›เซ‡ เชฌเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ เชตเชšเซเชšเซ‡ เชฌเชนเซเชตเชฟเชง เช˜เชŸเช•เซ‹ เชฎเซ‡เชณเชตเซ‹. เช†เชจเชพ เชฎเชพเชŸเซ‡ O(N) เชจเซ‹ เช–เชฐเซเชš เชฅเชถเซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชตเซƒเช•เซเชทเชจเชพ เชฆเชฐเซ‡เช• เชจเซ‹เชกเชจเซ‡ เชœเซ‹เชตเซเช‚ เชชเชกเชถเซ‡ เช…เชจเซ‡ เชคเซ‡ เช† เชฌเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ เชตเชšเซเชšเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชคเชชเชพเชธเชตเซเช‚ เชชเชกเชถเซ‡ (เชฆเชพ.เชค. เชตเซƒเช•เซเชทเชจเชพ เช“เชฐเซเชกเชฐ เช•เชฐเซ‡เชฒ เชŸเซเชฐเชพเชตเชฐเซเชธเชฒ เชธเชพเชฅเซ‡). เชตเชงเซเชฎเชพเช‚, เช† เช‘เชชเชฐเซ‡เชถเชจ เชกเชฟเชธเซเช• I/O เชฎเซˆเชคเซเชฐเซ€เชชเซ‚เชฐเซเชฃ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เช†เช–เซเช‚ เชตเซƒเช•เซเชท เชตเชพเช‚เชšเชตเซเช‚ เชชเชกเชถเซ‡. เช†เชชเชฃเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชฐเซ€เชคเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชจเซ‹ เชฐเชธเซเชคเซ‹ เชถเซ‹เชงเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชถเซเชฐเซ‡เชฃเซ€ เชตเชฟเชจเช‚เชคเซ€. เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡, เช†เชงเซเชจเชฟเช• เชกเซ‡เชŸเชพเชฌเซ‡เช B+Tree เชจเชพเชฎเชจเชพ เช…เช—เชพเช‰เชจเชพ เชตเซƒเช•เซเชทเชจเชพ เชธเช‚เชถเซ‹เชงเชฟเชค เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชฌเซ€+เชŸเซเชฐเซ€ เชตเซƒเช•เซเชทเชฎเชพเช‚:

  • เชฎเชพเชคเซเชฐ เชธเซŒเชฅเซ€ เชจเซ€เชšเชฒเชพ เช—เชพเช‚เช เซ‹ (เชชเชพเช‚เชฆเชกเชพ) เชธเซเชŸเซ‹เชฐ เชฎเชพเชนเชฟเชคเซ€ (เชธเช‚เชฌเช‚เชงเชฟเชค เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชชเช‚เช•เซเชคเชฟเช“เชจเซเช‚ เชธเซเชฅเชพเชจ)
  • เชฌเชพเช•เซ€เชจเชพ เช—เชพเช‚เช เซ‹ เช…เชนเซ€เช‚ เช›เซ‡ เชฐเซ‚เชŸเซ€เช‚เช— เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเซ‹เชก เชชเชฐ เชถเซ‹เชง เชฆเชฐเชฎเชฟเชฏเชพเชจ.

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เชœเซ‡เชฎ เชคเชฎเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เช…เชนเซ€เช‚ เชตเชงเซ เช—เชพเช‚เช เซ‹ เช›เซ‡ (เชฌเซ‡ เชตเชพเชฐ). เช–เชฐเซ‡เช–เชฐ, เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชจเซ‹เชกเซเชธ เช›เซ‡, "เชจเชฟเชฐเซเชฃเชฏ เช—เชพเช‚เช เซ‹", เชœเซ‡ เชคเชฎเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชจเซ‹เชก (เชœเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชชเช‚เช•เซเชคเชฟเช“เชจเซเช‚ เชธเซเชฅเชพเชจ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡) เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชถเซ‡. เชชเชฐเช‚เชคเซ เชถเซ‹เชง เชœเชŸเชฟเชฒเชคเชพ เชนเชœเซ เชชเชฃ O(log(N)) เช›เซ‡ (เชคเซเชฏเชพเช‚ เชฎเชพเชคเซเชฐ เชเช• เชตเชงเซ เชธเซเชคเชฐ เช›เซ‡). เชฎเซ‹เชŸเซ‹ เชคเชซเชพเชตเชค เช เช›เซ‡ เชจเซ€เชšเชฒเชพ เชธเซเชคเชฐเซ‡ เช—เชพเช‚เช เซ‹ เชคเซ‡เชฎเชจเชพ เช…เชจเซเช—เชพเชฎเซ€เช“ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡.

เช† B+Tree เชธเชพเชฅเซ‡, เชœเซ‹ เชคเชฎเซ‡ 40 เช…เชจเซ‡ 100 เชจเซ€ เชตเชšเซเชšเซ‡เชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹:

  • เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค 40 (เช…เชฅเชตเชพ 40 เชชเช›เซ€เชจเซเช‚ เชธเซŒเชฅเซ€ เชจเชœเซ€เช•เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชœเซ‹ 40 เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจ เชนเซ‹เชฏ เชคเซ‹) เชถเซ‹เชงเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡เชฎ เชคเชฎเซ‡ เช…เช—เชพเช‰เชจเชพ เชตเซƒเช•เซเชท เชธเชพเชฅเซ‡ เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚.
  • เชชเช›เซ€ เชคเชฎเซ‡ 40 เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเซ‹ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชธเซ€เชงเซ€ เชตเชพเชฐเชธเชฆเชพเชฐ เชฒเชฟเช‚เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ 100 เชตเชพเชฐเชธเชฆเชพเชฐเซ‹ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‹.

เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชคเชฎเชจเซ‡ M เช…เชจเซเช—เชพเชฎเซ€เช“ เชฎเชณเซ‡ เช›เซ‡ เช…เชจเซ‡ เชตเซƒเช•เซเชทเชฎเชพเช‚ N เชจเซ‹เชกเซเชธ เช›เซ‡. เชšเซ‹เช•เซเช•เชธ เชจเซ‹เชก เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เช…เช—เชพเช‰เชจเชพ เชตเซƒเช•เซเชทเชจเซ€ เชœเซ‡เชฎ เชฒเซ‹เช—(เชเชจ) เช–เชฐเซเชš เชฅเชพเชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เชเช•เชตเชพเชฐ เชคเชฎเซ‡ เช† เชจเซ‹เชก เชฎเซ‡เชณเชตเซ€ เชฒเซ‹, เชชเช›เซ€ เชคเชฎเชจเซ‡ M เช“เชชเชฐเซ‡เชถเชจเซเชธเชฎเชพเช‚ เชคเซ‡เชฎเชจเชพ เช…เชจเซเช—เชพเชฎเซ€เช“เชจเชพ เชธเช‚เชฆเชฐเซเชญเซ‹ เชธเชพเชฅเซ‡ M เช…เชจเซเช—เชพเชฎเซ€เช“ เชฎเชณเชถเซ‡. เช† เชถเซ‹เชงเชจเซ€ เช•เชฟเช‚เชฎเชค เชฎเชพเชคเซเชฐ M+log(N) เช›เซ‡ เช…เช—เชพเช‰เชจเชพ เชตเซƒเช•เซเชท เชชเชฐ N เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ เช•เชพเชฎเช—เซ€เชฐเซ€. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชคเชฎเชพเชฐเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชตเซƒเช•เซเชท (เชซเช•เซเชค M+log(N) เชจเซ‹เชกเซเชธ) เชตเชพเช‚เชšเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เชฅเชพเชฏ เช›เซ‡ เช“เช›เซ€ เชกเชฟเชธเซเช• เชตเชชเชฐเชพเชถ. เชœเซ‹ M เชจเชพเชจเซ€ เช›เซ‡ (เชฆเชพ.เชค. 200 เชชเช‚เช•เซเชคเชฟเช“) เช…เชจเซ‡ N เชฎเซ‹เชŸเซ€ เช›เซ‡ (1 เชชเช‚เช•เซเชคเชฟเช“), เชคเซ‹ เชคเซเชฏเชพเช‚ เชฎเซ‹เชŸเซ‹ เชคเชซเชพเชตเชค เชนเชถเซ‡.

เชชเชฐเช‚เชคเซ เช…เชนเซ€เช‚ เชจเชตเซ€ เชธเชฎเชธเซเชฏเชพเช“ เช›เซ‡ (เชซเชฐเซ€เชฅเซ€!). เชœเซ‹ เชคเชฎเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชชเช‚เช•เซเชคเชฟ เช‰เชฎเซ‡เชฐเซ‹ เช…เชฅเชตเชพ เช•เชพเชขเซ€ เชจเชพเช–เซ‹ (เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ B+Tree เช‡เชจเซเชกเซ‡เช•เซเชธเชฎเชพเช‚):

  • เชคเชฎเชพเชฐเซ‡ B+Tree เชจเซ€ เช…เช‚เชฆเชฐ เช—เชพเช‚เช เซ‹ เชตเชšเซเชšเซ‡ เช•เซเชฐเชฎ เชœเชพเชณเชตเชตเซ‹ เชœเซ‹เชˆเช, เช…เชจเซเชฏเชฅเชพ เชคเชฎเซ‡ เช•เซเชฐเชฎเชพเช‚เช•เชฟเชค เชตเซƒเช•เซเชทเชจเซ€ เช…เช‚เชฆเชฐ เช—เชพเช‚เช เซ‹ เชถเซ‹เชงเซ€ เชถเช•เชถเซ‹ เชจเชนเซ€เช‚.
  • เชคเชฎเชพเชฐเซ‡ B+Tree เชฎเชพเช‚ เชฒเซ‡เชตเชฒเชจเซ€ เชจเซเชฏเซ‚เชจเชคเชฎ เชธเช‚เชญเชตเชฟเชค เชธเช‚เช–เซเชฏเชพ เชฐเชพเช–เชตเซ€ เชœเซ‹เชˆเช, เช…เชจเซเชฏเชฅเชพ O(log(N)) เชธเชฎเชฏ เชœเชŸเชฟเชฒเชคเชพ O(N) เชฌเชจเซ€ เชœเชถเซ‡.

เชฌเซ€เชœเชพ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, B+Tree เชธเซเชต-เช•เซเชฐเชฎเชพเช‚เช•เชฟเชค เช…เชจเซ‡ เชธเช‚เชคเซเชฒเชฟเชค เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช. เชธเชฆเชญเชพเช—เซเชฏเซ‡, เชธเซเชฎเชพเชฐเซเชŸ เชกเชฟเชฒเซ€เชŸ เช…เชจเซ‡ เช‡เชจเซเชธเชฐเซเชŸ เช“เชชเชฐเซ‡เชถเชจเซเชธเชฅเซ€ เช† เชถเช•เซเชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เช† เช•เชฟเช‚เชฎเชค เชชเชฐ เช†เชตเซ‡ เช›เซ‡: B+ เชŸเซเชฐเซ€เชฎเชพเช‚ เชจเชฟเชตเซ‡เชถ เช…เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชจเซ€ เช•เชฟเช‚เชฎเชค O(log(N)). เชเชŸเชฒเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเชพเชฎเชพเช‚เชฅเซ€ เช•เซ‡เชŸเชฒเชพเช•เซ‡ เชคเซ‡ เชธเชพเช‚เชญเชณเซเชฏเซเช‚ เช›เซ‡ เช˜เชฃเชพ เชฌเชงเชพ เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช เชธเชพเชฐเซ‹ เชตเชฟเชšเชพเชฐ เชจเชฅเซ€. เช–เชฐเซ‡เช–เชฐ, เชคเชฎเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชเช• เชชเช‚เช•เซเชคเชฟเชจเซ‡ เชเชกเชชเชฅเซ€ เชฆเชพเช–เชฒ/เช…เชชเชกเซ‡เชŸ/เชกเชฟเชฒเซ€เชŸ เช•เชฐเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชงเซ€เชฎเซ€ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹เช•เชพเชฐเชฃ เช•เซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชฆเชฐเซ‡เช• เช‡เชจเซเชกเซ‡เช•เซเชธ เชฎเชพเชŸเซ‡ เช–เชฐเซเชšเชพเชณ O(log(N)) เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‹เชทเซเชŸเช•เชจเชพ เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เชฎเชพเชŸเซ‡ เชตเชงเซ เชตเชฐเซเช•เชฒเซ‹เชก เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจ เชฎเซ‡เชจเซ‡เชœเชฐ (เชฒเซ‡เช–เชจเชพ เช…เช‚เชคเซ‡ เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡).

เชตเชงเซ เชตเชฟเช—เชคเซ‹ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชตเชฟเช•เชฟเชชเซ€เชกเชฟเชฏเชพ เชชเชฐเชจเซ‹ เชฒเซ‡เช– เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ B+เชตเซƒเช•เซเชท. เชœเซ‹ เชคเชฎเชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ B+Tree เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชœเซ‹เชˆเช เช›เซ‡, เชคเซ‹ เชเช• เชจเชœเชฐ เชจเชพเช–เซ‹ เช† เชฒเซ‡เช– ะธ เช† เชฒเซ‡เช– เช…เช—เซเชฐเชฃเซ€ MySQL เชกเซ‡เชตเชฒเชชเชฐ เชคเชฐเชซเชฅเซ€. เชคเซ‡เช“ เชฌเช‚เชจเซ‡ InnoDB (MySQL เชเชจเซเชœเชฟเชจ) เช‡เชจเซเชกเซ‡เช•เซเชธเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡.

เชจเซ‹เช‚เชง: เชเช• เชตเชพเชšเช•เซ‡ เชฎเชจเซ‡ เช•เชนเซเชฏเซเช‚ เช•เซ‡, เชจเซ€เชšเชพ-เชธเซเชคเชฐเชจเชพ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เชฒเซ€เชงเซ‡, B+ เชตเซƒเช•เซเชท เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเช‚เชคเซเชฒเชฟเชค เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช.

เชนเซ‡เชถเชŸเซ‡เชฌเชฒ

เช†เชชเชฃเซเช‚ เช›เซ‡เชฒเซเชฒเซเช‚ เชฎเชนเชคเซเชตเชจเซเช‚ เชกเซ‡เชŸเชพ เชฎเชพเชณเช–เซเช‚ เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชเชกเชชเชฅเซ€ เชฎเซ‚เชฒเซเชฏเซ‹ เชถเซ‹เชงเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹ เชคเซเชฏเชพเชฐเซ‡ เช† เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชนเซ‡เชถ เชŸเซ‡เชฌเชฒเชจเซ‡ เชธเชฎเชœเชตเชพเชฅเซ€ เช…เชฎเชจเซ‡ เชชเช›เซ€เชฅเซ€ เชนเซ‡เชถ เชœเซ‹เช‡เชจ เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชคเชพ เชธเชพเชฎเชพเชจเซเชฏ เชกเซ‡เชŸเชพเชฌเซ‡เช เชœเซ‹เช‡เชจ เช“เชชเชฐเซ‡เชถเชจเชจเซ‡ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เชฎเชณเชถเซ‡. เชนเซ‡เชถ เชœเซ‹เชกเชพเช“). เช† เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชกเซ‡เชŸเชพเชฌเซ‡เช เชฆเซเชตเชพเชฐเชพ เช•เซ‡เชŸเชฒเซ€เช• เช†เช‚เชคเชฐเชฟเช• เชตเชธเซเชคเซเช“ (เชฆเชพ.เชค. เชคเชพเชณเซเช‚ เชŸเซ‡เชฌเชฒ เช…เชฅเชตเชพ เชฌเชซเชฐ เชชเซ‚เชฒ, เช†เชชเชฃเซ‡ เช† เชฌเช‚เชจเซ‡ เช–เซเชฏเชพเชฒเซ‹ เชชเช›เซ€เชฅเซ€ เชœเซ‹เชˆเชถเซเช‚).

เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เช เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เช›เซ‡ เชœเซ‡ เชคเซ‡เชจเซ€ เช•เซ€ เชฆเซเชตเชพเชฐเชพ เชคเชคเซเชตเชจเซ‡ เชเชกเชชเชฅเซ€ เชถเซ‹เชงเซ‡ เช›เซ‡. เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

  • เช•เซ€ เชคเชฎเชพเชฐเชพ เชคเชคเซเชตเซ‹ เชฎเชพเชŸเซ‡
  • เชนเซ‡เชถ เช•เชพเชฐเซเชฏ เช•เซ€เช“ เชฎเชพเชŸเซ‡. เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡เชฒ เช•เซ€ เชนเซ‡เชถ เชคเชคเซเชตเซ‹เชจเซเช‚ เชธเซเชฅเชพเชจ เช†เชชเซ‡ เช›เซ‡ (เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเซเชธ ).
  • เช•เซ€เช“เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เช•เชพเชฐเซเชฏ. เชเช•เชตเชพเชฐ เชคเชฎเชจเซ‡ เชธเชพเชšเซ‹ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ เชฎเชณเซ€ เชœเชพเชฏ, เชชเช›เซ€ เชคเชฎเชพเชฐเซ‡ เช† เชธเชฐเช–เชพเชฎเชฃเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชคเชฎเซ‡ เชœเซ‡ เชคเชคเซเชต เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹ เชคเซ‡ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชฐเชนเซ‡เชถเซ‡.

เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃ

เชšเชพเชฒเซ‹ เชเช• เชธเซเชชเชทเซเชŸ เช‰เชฆเชพเชนเชฐเชฃ เชฒเชˆเช:

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ (เชญเชพเช— 1)

เช† เชนเซ‡เชถ เชŸเซ‡เชฌเชฒเชฎเชพเช‚ 10 เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ เช›เซ‡. เช•เชพเชฐเชฃ เช•เซ‡ เชนเซเช‚ เช†เชณเชธเซ เช›เซเช‚, เชฎเซ‡เช‚ เชซเช•เซเชค 5 เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเซเชธเชจเซเช‚ เชšเชฟเชคเซเชฐเชฃ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเซเช‚ เชœเชพเชฃเซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเซ‡ เชธเซเชฎเชพเชฐเซเชŸ เช›เซ‹, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชคเชฎเชจเซ‡ เช…เชจเซเชฏ 5 เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชชเชฐ เชšเชฟเชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เช†เชชเซ€เชถ. เชฎเซ‡เช‚ เช•เซ€เชจเชพ เชนเซ‡เชถ เชซเช‚เช•เซเชถเชจ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ 10 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹. เชฌเซ€เชœเชพ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, เชนเซเช‚ เชคเซ‡เชจเชพ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเชจเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชคเชคเซเชตเชจเซ€ เช•เซ€เชจเซ‹ เชฎเชพเชคเซเชฐ เช›เซ‡เชฒเซเชฒเซ‹ เช…เช‚เช• เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซเช‚ เช›เซเช‚:

  • เชœเซ‹ เช›เซ‡เชฒเซเชฒเซ‹ เช…เช‚เช• 0 เช›เซ‡, เชคเซ‹ เชคเชคเซเชต เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ 0 เชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡,
  • เชœเซ‹ เช›เซ‡เชฒเซเชฒเซ‹ เช…เช‚เช• 1 เช›เซ‡, เชคเซ‹ เชคเชคเซเชต เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ 1 เชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡,
  • เชœเซ‹ เช›เซ‡เชฒเซเชฒเซ‹ เช…เช‚เช• 2 เช›เซ‡, เชคเซ‹ เชคเชคเซเชต เชตเชฟเชธเซเชคเชพเชฐ 2 เชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡,
  • ...

เชฎเซ‡เช‚ เชœเซ‡ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชพเชฐเซเชฏเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชคเซ‡ เชซเช•เซเชค เชฌเซ‡ เชชเซ‚เชฐเซเชฃเชพเช‚เช•เซ‹ เชตเชšเซเชšเซ‡ เชธเชฎเชพเชจเชคเชพ เช›เซ‡.

เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชคเชฎเซ‡ เชคเชคเซเชต 78 เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹:

  • เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ 78 เชฎเชพเชŸเซ‡ เชนเซ‡เชถ เช•เซ‹เชกเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ 8 เช›เซ‡.
  • เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ 8 เชชเชฐ เชœเซเช เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เชœเซ‡ เชชเซเชฐเชฅเชฎ เชคเชคเซเชต เชถเซ‹เชงเซ‡ เช›เซ‡ เชคเซ‡ 78 เช›เซ‡.
  • เชคเซ‡เชฃเซ€ เชคเชฎเชจเซ‡ เช†เช‡เชŸเชฎ 78 เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡
  • เชถเซ‹เชง เช–เชฐเซเชš เชฎเชพเชคเซเชฐ 2 เช•เชพเชฎเช—เซ€เชฐเซ€ (เชเช• เชนเซ‡เชถ เชฎเซ‚เชฒเซเชฏเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เชฌเซ€เชœเซเช‚ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชคเชคเซเชต เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡).

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชคเชฎเซ‡ เชคเชคเซเชต 59 เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹:

  • เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ 59 เชฎเชพเชŸเซ‡ เชนเซ‡เชถ เช•เซ‹เชกเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ 9 เช›เซ‡.
  • เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ 9 เชฎเชพเช‚ เชถเซ‹เชงเซ‡ เช›เซ‡, เชชเซเชฐเชฅเชฎ เชคเชคเซเชต 99 เชฎเชณเซเชฏเซเช‚ เช›เซ‡. 99!=59 เชฅเซ€, เชคเชคเซเชต 99 เช เชฎเชพเชจเซเชฏ เชคเชคเซเชต เชจเชฅเซ€.
  • เชธเชฎเชพเชจ เชคเชฐเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชฌเซ€เชœเซเช‚ เชคเชคเซเชต (9), เชคเซเชฐเซ€เชœเซเช‚ (79), ..., เช›เซ‡เชฒเซเชฒเซเช‚ (29) เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เชคเชคเซเชต เชฎเชณเซเชฏเซเช‚ เชจเชฅเซ€.
  • เชถเซ‹เชงเชฎเชพเช‚ 7 เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เชฅเชฏเซ‹.

เชธเชพเชฐเซเช‚ เชนเซ‡เชถ เช•เชพเชฐเซเชฏ

เชœเซ‡เชฎ เชคเชฎเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เชคเชฎเซ‡ เชœเซ‡ เชฎเซ‚เชฒเซเชฏ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡, เช•เชฟเช‚เชฎเชค เชธเชฎเชพเชจ เชจเชฅเซ€!

เชœเซ‹ เชนเซเช‚ เชนเชตเซ‡ เช•เซ€เชจเชพ เชนเซ‡เชถ เชซเช‚เช•เซเชถเชจ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ 1 (เชเชŸเชฒเซ‡ โ€‹โ€‹โ€‹โ€‹เช•เซ‡, เช›เซ‡เชฒเซเชฒเชพ 000 เช…เช‚เช•เซ‹ เชฒเซ‡เชตเซเช‚) เชฌเชฆเชฒเซเช‚ เช›เซเช‚, เชคเซ‹ เชฌเซ€เชœเชพ เชฒเซเช•เช…เชช เชฎเชพเชŸเซ‡ เชซเช•เซเชค 000 เช“เชชเชฐเซ‡เชถเชจเชจเซ‹ เช–เชฐเซเชš เชฅเชถเซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ 6 เชฎเชพเช‚ เช•เซ‹เชˆ เช˜เชŸเช•เซ‹ เชจเชฅเซ€. เชตเชพเชธเซเชคเชตเชฟเช• เชชเชกเช•เชพเชฐ เช เชเช• เชธเชพเชฐเชพ เชนเซ‡เชถ เชซเช‚เช•เซเชถเชจเชจเซ‡ เชถเซ‹เชงเชตเชพเชจเซ‹ เช›เซ‡ เชœเซ‡ เช–เซ‚เชฌ เช“เช›เซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช˜เชŸเช•เซ‹ เชงเชฐเชพเชตเชคเซ€ เชฌเช•เซ‡เชŸเซเชธ เชฌเชจเชพเชตเชถเซ‡.

เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เชธเชพเชฐเชพ เชนเซ‡เชถ เชซเช‚เช•เซเชถเชจ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชธเชฐเชณ เช›เซ‡. เชชเชฐเช‚เชคเซ เช† เชเช• เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชšเชพเชตเซ€ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชธเชพเชฐเชพ เชนเซ‡เชถ เชซเช‚เช•เซเชถเชจ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชตเชงเซ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡:

  • เชถเชฌเซเชฆเชฎเชพเชณเชพ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ - เช›เซ‡เชฒเซเชฒเซเช‚ เชจเชพเชฎ)
  • 2 เชฒเซ€เชŸเซ€เช“ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ - เช›เซ‡เชฒเซเชฒเซเช‚ เชจเชพเชฎ เช…เชจเซ‡ เชชเซเชฐเชฅเชฎ เชจเชพเชฎ)
  • 2 เชฒเซ€เชŸเซ€เช“ เช…เชจเซ‡ เชคเชพเชฐเซ€เช– (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ - เช›เซ‡เชฒเซเชฒเซเช‚ เชจเชพเชฎ, เชชเซเชฐเชฅเชฎ เชจเชพเชฎ เช…เชจเซ‡ เชœเชจเซเชฎ เชคเชพเชฐเซ€เช–)
  • ...

เชธเชพเชฐเชพ เชนเซ‡เชถ เชซเช‚เช•เซเชถเชจ เชธเชพเชฅเซ‡, เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เชฒเซเช•เช…เชชเชจเซ€ เช•เชฟเช‚เชฎเชค O(1).

เชเชฐเซ‡ เชตเชฟ เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ

เชถเชพ เชฎเชพเชŸเซ‡ เชเชฐเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚?

เชนเชฎเซเชฎ, เชธเชพเชฐเซ‹ เชชเซเชฐเชถเซเชจ.

  • เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชฒเซ‹เชก, เช…เชจเซ‡ เชฌเชพเช•เซ€เชจเชพ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเซเชธ เชกเชฟเชธเซเช• เชชเชฐ เชฐเชนเซ€ เชถเช•เซ‡ เช›เซ‡.
  • เชเชฐเซ‡ เชธเชพเชฅเซ‡ เชคเชฎเชพเชฐเซ‡ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชธเช‚เชฒเช—เซเชจ เชœเช—เซเชฏเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชฎเซ‹เชŸเซเช‚ เชŸเซ‡เชฌเชฒ เชฒเซ‹เชก เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹ เชชเซ‚เชฐเชคเซ€ เชธเชคเชค เชœเช—เซเชฏเชพ เชถเซ‹เชงเชตเซ€ เช–เซ‚เชฌ เชœ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡.
  • เชนเซ‡เชถ เชŸเซ‡เชฌเชฒ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชคเชฎเชจเซ‡ เชœเซ‹เชˆเชคเซ€ เช•เซ€ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฆเซ‡เชถ เช…เชจเซ‡ เชตเซเชฏเช•เซเชคเชฟเชจเซเช‚ เช›เซ‡เชฒเซเชฒเซเช‚ เชจเชพเชฎ).

เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชตเชฟเชถเซ‡ เชฒเซ‡เช– เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเชพเชตเชพเชนเซ‡เชถเชฎเซ‡เชช, เชœเซ‡ เชนเซ‡เชถ เชŸเซ‡เชฌเชฒเชจเซเช‚ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช…เชฎเชฒเซ€เช•เชฐเชฃ เช›เซ‡; เช† เชฒเซ‡เช–เชฎเชพเช‚ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช–เซเชฏเชพเชฒเซ‹เชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชœเชพเชตเชพ เชธเชฎเชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹