ืืขืฉืขื ืืื ืขืืืขืืข ืืขื ืฆืืจืืง
ืืึธืก ืืื ืึท ืคึผืึธืกืื ืืื ืึทื ืึทื ืึทืืืกืืก ืคืื ืืึทืกืงืก ืืื ืื ืงืึธื ืืืจ ืฉืืืื ืคึฟืื ืืขืจ ืืืืจ ืคืื ืืืืขืจ ืืขืงืกื. ืืืขืจ ืืื ืืขืืืขื ืืืืฃ ืื ืืืืจืึท - ืืึธืก ืืื ืืืื ืกืืื ืฆื ืืขืืขื ืงืขื ืื ืึธื ืืขื ืขื ืืขืจืคืึทืจืื ื, ืืืึธืก ืืื ื ืืฉื - ืึท ืืขืืขืื ืืืื ืฆื ืืืืกืฉืืจืขืงื ืืืื ืืึทืจื ืืจืืืก ืึธ-ื ืึธืืึทืฆืืข.
ืขืก ืืขื ืขื ืืคืืื ืคึผืึทืจืืืกืึทืคึผืึทื ืฅ ืืืึธืก ืืืกืืึทื ืืึทืื ืื ืคืืืคึผืืฉืึทืจื ืืื ืกืืืืื ืฆื ืฉืจืืึทืื ืืืืขืจ ืืึทืฉืืืก. ืืื ืืื ื ืืฉื ืืืืฅ - ืืื ืืึธืื ืืืืขืจืืขืืขืื ืืขื ืึธื ืืืืื ืคืื ืคึผืึทืคึผืืจ ืคึฟืึทืจ ืืืขืจืึทืคืึทืงืืืฉืึทื:
ืขืก ืืขื ืขื ืืขืืืขื ืืจืื ืืึทืกืงืก ืืื ืืึทื ืฅ:
- ืืืขืื ืกืึทืืขืงืืื ื ืจืขืคึผืืึทืงืึทื ืืืจื ืืืืืฅ ืคึฟืึทืจ ืืึทืกืข ืืึทืืึทื ืกืื ื
- ืืืขืื ืกืึธืจืืื ื ืึธื ืคึฟืจืขื ืจืขืืืืืึทืื ืงืขืื ืึทื ืืื-ืืืงืึธืจื ืืึทืืึทืืืืก
- ืืืืฃ ืฉืืึทื ืึทืจืืืขืจืคืืจื ืืื ืึท ืคืื ืื ืืขืจืืขืืืืื ืกืืกืืขื ืืื ืึท ืจืื ื ืืึทืคึผืึทืืึทืืืฉื
ืึทืจืืขื 1. ืงืืึทืกืืขืจืงืืืขื ื
ืขืก ืืื ืืขืืืขื ื ืืืืืง ืฆื ืคืึธืจืฉืืึธืื ืึทื ืึทืืืขืจืืืึทื ืคึฟืึทืจ ืื ืขืคืขืงืืืื ืกืขืืขืงืฆืืข ืคืื โโืง ืคืื N ืืืืืืื ืจืขืคึผืืึทืงืึทื ืคืื ืึท ืคืื ืื ืืขืจืืขืืืืื ืกืืกืืขื:
ืืืื ืืึทื ืฉืึทืคึฟื ืืื ืืึทืกืงื ืฆื ืึทื ืืืืืงืืขื ืึท ืงืืืขื ื ืืืืืืึธืืขืง ืคึฟืึทืจ ืึท ืืึทืกืืื ืคืื ืื ืืขืจืืขืืืืื ืงื ืืื ืคืื N ื ืึธืืื. ืื ืืืืืืึธืืขืง ืืืึธืื ืืึทืืื ืฉืคึผืืจ ืคืื ืคืึทืจืฉืืื ืืขืืึทืืึทืืึท ืคึฟืึทืจืืื ืื ืืื ื ืึธืืื (ืืืฉื, ืืืืขืจ ืืืืืึทื ืกืื, 4xx/5xx ืขื ืืคืขืจ ืจืืืฅ, ืืื"ื ื) ืืื ืืึทืฉืืืืขื ืคืืึธืืืื ื ืคืื ื ืืืืืฅ W1..WN ืฆื ืืื. ืืื ืกืืจ ืฆื ืฉืืืฆื ืื ืงืึทื ืงืขืจืึทื ื ืืืจืืคืืจืื ื ืกืืจืึทืืขืืืข, ืื ืืืืืืึธืืขืง ืืึธื ืืืื ืืืืืืช ืฆื ืงืืืึทืื K ืคืื N ื ืึธืืื ืจืึทื ืืึทืืื - ืึท ืืขืืขืื ืืืื ืฆื ืืืื ืืืืกืืขืงืืืื ืืึธื ืืืื ืคึผืจืึทืคึผืึธืจืฉืึทื ืึทื ืฆื ืื ืืืึธื ืคืื ืึท ื ืึธืืข.
ืคืึธืจืฉืืึธืื ืึท ืึทืืืขืจืืืึทื ืฆื ืืืืกืงืืืึทืื ื ืึธืืื ืืคืืฉืึทื ืืื. ืึธืคึผืฉืึทืฆื ืืืึทื ืงืึทืืคึผืืืืืืฉืึทื ืึทื ืงืึทืืคึผืืขืงืกืืื ื ืืฆื ืืจืืืก ืึธ ื ืึธืืืืืฉืึทื.
ืคืืจืืืืก ืืื ืึทืืฅ ืืื ืขื ืืืืฉ?
ืืืืึทื ืืื ืืขื ืคืึธืจืขื ืื ืงืึธื ืคึฟืขืจืขื ืฅ ืคึผืึทืจืืืกืึทืคึผืึทื ืฅ ืืขืงืขืืคื ืืื ืืื ืืื ืืืืึทื ืขื ืืืืฉ ืืื ืืขืืืขื ืื ืืึทืึทืืืขืจ ืฉืคึผืจืึทื ืคืื ืืืืจืึท. ืื ืืึทืกืงืก ืืขืงืืงื ืืื ืืึธืก:
ื ืขืืขื ืคึผืึทืคึผืืจ ืืื ืืืืึทืขืจ, ืืจืึทืืื, ืืึธื ื ืื ืงืึทืืืฉ ืฆื ืขืคึฟืขื ืขื ืกืคึผืืืืขืจื ืืืืื ๐
ืึทื ืึทืืืกืืก ืคืื ืื ืืืืืื ื (ืืืืืขื)
ืกืืึทืจืืื ื ืืืึท 5:53, ืืืืื 4 ืืื ืื:
ืืื ืืึธ ืืื ืืื ืื ืืืื ืืื ืื ืคืืืคึผืืฉืึทืจื ืคึผืืืฉื ืืืืขืจ ืืืืืื ื:
ืึทื ืึทืืืกืืก ืคืื ืื ืืืืืื ื (ืืขืงืกื)
ืื ืคืืืืขื ืืข ืืืืืื ื ืืืื ืืืืฃ ืื ืืืืขืจืคืืึทื: ืกืึทืืึทืงื ืื ืืืืืฅ ืคืื ืึทืืข ืจืขืคึผืืึทืงืึทื, ืืืฉืขื ืขืจืืื ืึท ืืจืึทืค - ื ืืืขืจ ืคืื 0 ืฆื ืื ืกืึทืืึทืงื ืคืื ืึทืืข ืืืืืฅ, ืืื ืงืืืึทืื ืึทื i-ืจืขืคึผืืืงืข ืึทืืื ืึทื ืื ืกืึทืืึทืงื ืคืื ืจืขืคึผืืืงืข ืืืืืฅ ืคืื 0 ืฆื (ืืื-1) ืืื ืืืืื ืืงืขืจ ืืื ืึท ืืจืึทืค - ื ืืืขืจ, ืืื ืื ืกืึทืืึทืงื ืคืื ืจืขืคึผืืืงืข ืืืืืฅ ืคืื 0 ืฆื i-th - ืืขืจ ืืื ืขืก. ืึทืืื ืขืก ืืืขื ืืืื ืืขืืืขื ืฆื ืืืืกืงืืืึทืื ืืืื ืจืขืคึผืืืงืข, ืืื ืฆื ืืืืกืงืืืึทืื ืืขื ืืืืึทืืขืจ ืืืื ืขืจ, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืขืจืืืจื ืื ืืื ืฆืข ืคึผืจืึธืฆืขืืืจ ืึธื ืืึทืืจืึทืืื ืื ืืืืกืืขืงืืืื ืจืขืคึผืืืงืข. ืืื ืึทืืึท ืึท ืึทืืืขืจืืืึทื, ืื ืงืึทืืคึผืืขืงืกืืื ืคืื ืืฉืืืื ื ืืืื ืจืขืคึผืืืงืข ืืื O(N), ืื ืงืึทืืคึผืืขืงืกืืื ืคืื ืืฉืืืื ื K ืจืขืคึผืืึทืงืึทื ืืื O(N K) ~ O(N2).
ืงืืืึทืืจืึทืืืง ืงืึทืืคึผืืขืงืกืืื ืืื ืฉืืขืื, ืึธืืขืจ ืขืก ืงืขื ืขื ืืืื ืืืคึผืจืืืื. ืฆื ืืึธื ืืึธืก, ืืืจ ืืืขืื ืืืืขื
ืืื ืขืึทืจ-ืืึธื ืงืึทืืคึผืืขืงืกืืื ืืื ื ืืกืขืจ ืืื ืงืืืึทืืจืึทืืืง ืงืึทืืคึผืืขืงืกืืื, ืกืคึผืขืฆืืขื ืคึฟืึทืจ ืืจืืืก ืง.
ืขืก ืืื ืืขื ืึทืืืขืจืืืึทื
ืึทืจืืขื 2. ืืขืืจืึท
ืขืก ืืื ื ืืืืืง ืฆื ืคืึธืจืฉืืึธืื ืึทื ืึทืืืขืจืืืึทื ืคึฟืึทืจ ืขืคืขืงืืืื ืกืึธืจืืื ื ืคืื ืืึธืงืืืขื ืื ืืื ืืึผืจืื ืืืจื ืึท ืึทืจืืืืจืึทืจืืฉ ื ืื-ืื ืืขืงืกื ืคืขืื:
ืืืื ืืึทื ืฉืึทืคึฟื ืืื ืืึทืกืงื ืืื ืืขืืืขืืึธืคึผืื ื ืึท ืฉืขืจื ืืื-ืืืงืึธืจื ืืึธืงืืืขื ื ืืึทืืึทืืืืก. ื ืคึผืจืึธืกื ืืืขืจืงืืึธืื ืืืึธืื ืืืื ืฆื ืืืืกืงืืืึทืื ืฉืคึผืืฅ N ืืึธืงืืืขื ืื ืืืืกืืขืฉืืขืื ืืืจื ืึท ืึทืจืืืืจืึทืจืืฉ (ื ืื-ืื ืืขืงืกื) ื ืืืขืจืืง ืคืขืื ืคืื ืึท ืืึทืืืื ื ืคืื ืืจืืืก ื (ืืืืฉืึทืืืึทืื N <100 << ื). ื ืืืกื ืืืืื ืืงืขืจ ืคึผืจืึธืกื ืืืขืจืงืืึธืื ืืืึธืื ืืืื ืฆื ืืืืกืงืืืึทืื ืฉืคึผืืฅ N ื ืึธื ืกืงืืคึผืื ื ืฉืคึผืืฅ S ืืึธืงืืืขื ืื (S ~ N).
ืคืึธืจืฉืืึธืื ืึทื ืึทืืืขืจืืืึทื ืฆื ืืืกืคืืจื ืึทืืึท ืคึฟืจืืื ืืคืืฉืึทื ืืื. ืึธืคึผืฉืึทืฆื ืืืึทื ืงืึทืืคึผืืืืืืฉืึทื ืึทื ืงืึทืืคึผืืขืงืกืืื ื ืืฆื ืืจืืืก ืึธ ื ืึธืืืืืฉืึทื ืืื ืื ืืืจืืฉื ืืืืขื ืคืึทื ืืื ืื ืขืจืืกื ืคืึทื ืกืื ืขืจืืึธืื.
ืึทื ืึทืืืกืืก ืคืื ืื ืืืืืื ื (ืืืืืขื)
ืกืืึทืจืืื ื ืืืึท 34:50, ืืืืื 6 ืืื ืื:
ืึทื ืึทืืืกืืก ืคืื ืื ืืืืืื ื (ืืขืงืกื)
ืืืืขืจืคืืึทื ืืืืืื ื: ืกืึธืจื ืึทืืข ืืึธืงืืืขื ืื (ืืืฉื ืืื
ืขืก ืืื ืงืืึธืจ ืืื ืืขืจ ืืึธื ืึทื ืกืึธืจืืื ื ืึทืืข M ืืึธืงืืืขื ืื ืืื ืืึทื ื ืขืืขื ืืืืื ืึท ืงืืืื ืืืื ืคืื ืืื ืืื ื ืืฉื ืขืคืขืงืืืื. ืืื ืกืืจ ื ืืฉื ืฆื ืกืึธืจื ืึทืืข ืืึธืงืืืขื ืื, ืึท ืึทืืืขืจืืืึทื ืืื ืคึผืึทืกืืง
ืึธืืขืจ, ืืืจ ืงืขื ืขื ืืึธื ืืึธืก ืืคืืื ืืขืจ ืืคืืฉืึทื ืืื - ื ืืฆื ืื ืึทืืืขืจืืืึทื
ืึธืืขืจ, ืงืืคึผืข ืกืืจืืืื ื ืืืจื ืก ืืืืก ืฆื ืืืื ืืขืจ ืขืคืขืงืืืื ืจืขืื ืฆื ืืขื ืคืึทืงื ืึทื ืืื ืคืืจ ืจืืึฟ ืคืื ืื ืืึธืงืืืขื ืื ืงืขื ืขื ืืืื ืึทืืืขืงืืขื ืืืขื ืึธื ืจืืืืืืื ื ืื ืงืืคึผืข ื ืึธื ืึท ืืืื ืคืึทืจืืืืึทื ืืื ืืืื ืืืึธืจืฆื ืขืืขืืขื ื. ืึทืืึท ืกืึธืจืืื ื ืืื ืืืคึผืืึทืืขื ืึทื ืืื ืื ืืขืืจืึท ืืื-ืืืงืึธืจื ืืึธืงืืืขื ื ืืึทืืึทืืืืก ืืขืืืขืืึธืคึผืขื ืืื ืืขืืืืื ื ืืื ืงืึธื ืืืจ.
ืึทืจืืขื 3. ืฉืืึทื ืกืืืึทืคึผืก
ืขืก ืืื ื ืืืืืง ืฆื ืคืึธืจืฉืืึธืื ืื ืืขืจืกื ืขืคืขืงืืืื ืึทืืืขืจืืืึทื ืคึฟืึทืจ ืฉืืคืืื ื ืฉืืึทืื:
ืืืื ืืึทื ืฉืึทืคึฟื ืืื ืืึทืกืงื ืฆื ืึทื ืืืืืงืืขื ืึท ืคืึทื ืืึทืืืข ืฉืืึทื ืืืขืงืกื ืืขืงืึทื ืืืึทื ืคึฟืึทืจ ืึท ืคืื ืื ืืขืจืืขืืืืื ืงื ืืื ืคืื N ื ืึธืืื. ืื ืฉืืึทื ืคืื ืื i-th ื ืึธืืข ืืึธื ืืืื ืืจืึทื ืกืคืขืจื ืฆื ืื (i+1)-ืื ื ืึธืืข, ืื N-th ื ืึธืืข ืก ืฉืืึทื ืืึธื ืืืื ืืจืึทื ืกืคืขืจื ืฆื ืืขืจ ืขืจืฉืืขืจ ื ืึธืืข. ืื ืืืืื ืืขืฉืืืฆื ืึธืคึผืขืจืึทืฆืืข ืืื ืื ืฉืืึทื ืืืกืืืึทืื ืืืขื ืฆืืืื ื ืึธืืื ืืืขืงืกื ืืืืขืจ ืฉืืึทืื ืึทืืึธืืืฉืข. ืขืก ืืื ืืืงืื ื ืึทื ืึท ืฉืืึทื ืืืกืืืึทืื ื ืขืื M ืืืืืกืขืงืึทื ืื. ืืขืืขืจ ื ืึธืืข ืืื ืืืืืืช ืฆื ืึธื ืืืื ื ืขืืขื ืืื ืึท ืืืื ืฉืืึทื ืืืกืืืึทืื ืืื ืงืืื ืืขืืขืื ืืึธืืขื ื.
ืืื ืืึทื ื ืืื ืขืก ื ืขืืขื ืฆื ืึทืจืืืขืจืคืืจื ืื ืฉืืึทืื ืคืื ืึทืืข ื ืึธืืื ืืื ืึท ืงื ืืื?
ืึทื ืึทืืืกืืก ืคืื ืื ืืืืืื ื (ืืขืงืกื)
ืืืืขืจืคืืึทื ืืืืืื ื: ืืืขืงืกื ืื ืฉืืึทืื ืคืื ืืขืจ ืขืจืฉืืขืจ ืืื ืจืืข ืขืืขืืขื ื, ืืขืืึธืื ืืขืจ ืขืจืฉืืขืจ ืืื ืืจืื, ืืขืืึธืื ืืขืจ ืขืจืฉืืขืจ ืืื ืคืขืจื, ืืื ืึทืืื ืืืืฃ. ื ืึธื ืืขืืขืจ ืืืขืงืกื, ืื ืฉืืึทื ืคืื ืืืื ืขืืขืืขื ื ืืืขื ืืืื ืืื ืืขืจ ืืขืืืืื ืฉืืขืืข. ืืืจ ืืึธืื ืฆื ืืึทืื O (N) ืคึผืขืจืืืืืืืฉืึทื ื ืืื ืคืึทืจืืจืขื ืืขื O (N M) ืฆืืื.
ืืื ืขืึทืจ ืฆืืื ืืื ืืึทื ื, ืึทืืื ืืืจ ืงืขื ืขื ืืืึทืื ืื ืฉืืึทืื ืคืื ืขืืขืืขื ืื ืืื ืคึผืขืจื: ืืขืจ ืขืจืฉืืขืจ ืืื ืื ืจืืข, ืื ืืจืื ืืื ืืขืจ ืคืขืจื, ืืื ืึทืืื ืืืืฃ. ื ืึธื ืืขืืขืจ ืฉืืึทื ืืืขืงืกื, ืืขืืขืจ ืจืืข ืขืืขืืขื ื ืืืขื ืืืื ืืื ืื ืจืขืื ืฉืืขืืข. ืืืจ ืืึธืื ืฆื ืืึทืื ืึธ(ืื ืขื) ืคึผืขืจืืืืืืืฉืึทื ื ืืื ืคืึทืจืืจืขื ืืขื ืึธ(ื ืื ืขื) ืฆืืื.
ืึธืืขืจ, ืขืก ืืื ืืขืืืขื ืฆื ืืึทืื ืื ืืืขืจืจืืง ืืคืืื ืืขืจ ืขืคืขืงืืืื - ื ืื ืืื ืืื ืขืึทืจ, ืึธืืขืจ ืืื ืงืขืกืืืืขืจืืืง ืฆืืื. ืฆื ืืึธื ืืึธืก, ืืื ืืขืจ ืขืจืฉืืขืจ ืฉืจืื, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืฉื ืื ืฉืืึทื ืคืื ืืขืจ ืขืจืฉืืขืจ ืขืืขืืขื ื ืืื ืื ืืขืฆืืข, ืื ืจืืข ืืื ืื ืคึผืขื ืึทืืืึทืืึทื, ืืื ืึทืืื ืืืืฃ. ืื ืฉืืึทื ืคืื ืื ืืขืฆืืข ืขืืขืืขื ื ืืืขื ืืืื ืืื ืื ืจืืืืืง ืฉืืขืืข. ืืื ืืืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืืืึทืื ืื ืฉืืึทื ืคืื ืื ืจืืข ืขืืขืืขื ื ืืื ืื ืืขืฆืืข, ืื ืืจืื ืืื ืื ืคึผืขื ืึทืืืึทืืึทื ืืืื ืขืจ, ืืื ืึทืืื ืืืืฃ. ื ืึธื ืืขื ืงืืึทืืขืืืง ืคืื ืืงืกืืฉืืื ืืืฉืื, ืื ืฉืืึทืื ืคืื ืึทืืข ืขืืขืืขื ืื ืืืขื ืืืื ืืื ืื ืจืขืื ืฉืืขืืข. ืขืก ืืืขื ืืืื ืึธ (2M) ~ ืึธ (1) ืคึผืขืจืืืืืืืฉืึทื ื ืืื ืืึทื ืฅ.
ืึทืืึท ืืืืืื ื ืืืขื ืืึธืจ ื ืื ืืืขืจืจืึทืฉื ืึท ืืึทืืขืืึทืืืงืขืจ, ืืืึธืก ืืขืืขื ืงื ื ืึธื ืึทื ืึท ืจืึธืืืืืฉืึทื ืืื ืึท ืืึทืฅ ืคืื ืฆืืืื ืึทืงืกืืึทื ืกืืืขืืจืืขืก. ืืืจื ืืขื ืืืขื, ืขืก ืืื ืืจืืืืืึทืื ืืขื ืขืจืึทืืืืขื ืคึฟืึทืจ ืึท ืืืขืจืจืืง ื ืืฉื ืืืจื ืืืื, ืึธืืขืจ ืืืจื ืง < ื ืฉืืขืืขืก. (ืฉืจืืื ืืื ืื ืืึทืืขืจืงืื ืืขื ืืื ืคึผืื ืงื.)
ืืึธื ืืืจ ืืื ืจืขืืขื ืืฉื? ืฆื ืืืจ ืืืืกื ืื ืืขืจืข ืกืึทืืืฉืึทื ื? ืืึทื ืืืืื ืืื ืื ืืึทืืขืจืงืื ืืขื.
ืืื ืืึธ ืืขื ืขื ืขืืืขืืข ื ืืฆืืง ืืื ืงืก ืืื ืื ืกืืฃ:
- ืืขืจื ืขื ืืขืจ ืืืขืื
ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืึทื ืืืืืงืืื ื ืืื ืงืึทื ืืืจ - ืืขื ืจืขืงืึธืจืืก ืคืื ืื ืขืจืืขื
ืคืืืขืจ ืืื ืจืืคึผืึธืจืฅ ืืืขืื ืคืื ืื ืืขืจืืขืืืืื ืกืืกืืขืืขื - ืืืื ืื ืกืขืจืืข ืคืื โโืืืืืขื ืจืขืคึฟืขืจืึทืื
ืืืืขืืืืื ืืืขื ืึทืืืขืจืืืึทืื ืคึฟืึทืจ ืคึผืจืึธืกื ืืขื ืืฉื ยป - ืึทืืึธื ืืจื ืฆื ืืื ืืืขืจ
ืงืึทื ืึทื ืืื ืืขืืขืืจืึทื
ืืงืืจ: www.habr.com