เด•เตผเดคเตเดคเดพเดตเต เด•เตฝเดชเตเดชเดฟเดšเตเดšเต: "เด’เดฐเต เด…เดญเดฟเดฎเตเด–เด‚ เดจเดŸเดคเตเดคเตเด•, เด“เดซเดฑเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด•"

เดธเดพเด™เตเด•เตฝเดชเตเดชเดฟเด• เดธเด‚เดญเดตเด™เตเด™เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด’เดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เด•เดฅ.
เดŽเดฒเตเดฒเดพ เดฏเดพเดฆเตƒเดถเตเดšเดฟเด•เดคเด•เดณเตเด‚ เด†เด•เดธเตเดฎเดฟเด•เดฎเดฒเตเดฒ.
เดŽเดฒเตเดฒเดพ เดคเดฎเดพเดถเด•เดณเตเด‚ เดคเดฎเดพเดถเดฏเดฒเตเดฒ.

- เดธเต†เตผเดœเดฟ, เดนเดฒเต‹. เดŽเดจเตเดฑเต† เดชเต‡เดฐเต เดฌเดฟเดฌเดฟ, เดŽเดจเตเดฑเต† เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเด•เตป เดฌเต‹เดฌเต, เดžเด™เตเด™เตพ เดฐเดฃเตเดŸเตเดชเต‡เดฐเดพเดฃเต... เดŸเต€เด‚ เดฒเต€เดกเตผเดฎเดพเดฐเดพเดฃเต, เดžเด™เตเด™เตพ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเดพเดฃเต, เดŽเดฒเตเดฒเดพ เดŸเต‹เดกเต‹เด•เดณเตเด‚ เดžเด™เตเด™เตพ เดนเตƒเดฆเตเดฏเดฎเดพเดฏเดฟ เด…เดฑเดฟเดฏเตเดจเตเดจเต, เด‡เดจเตเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดฑเดฟเดตเดฟเดจเต†เดฏเตเด‚ เด•เดดเดฟเดตเตเด•เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เดจเดŸเดคเตเดคเตเด‚.
เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดธเต€เดจเดฟเดฏเดฑเดพเดฃเต, เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ .NET-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•, เด…เดธเดฟเตปเด•เตเดฐเดฃเดธเต, เดฎเตพเดŸเตเดŸเดฟ-เดคเตเดฐเต†เดกเดกเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•, เด…เตฝเด—เต‹เดฐเดฟเดคเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจเด•เดณเตเดŸเต†เดฏเตเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจเด•เดพเดฐเตเดฏเด™เตเด™เตพ เด†เดคเตเดฎเดตเดฟเดถเตเดตเดพเดธเดคเตเดคเต‹เดŸเต† เดชเด เดฟเด•เตเด•เตเด•, เดตเดฒเดฟเดฏ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เดฑเต€เดซเดพเด•เตโ€ŒเดŸเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเตเด‚ เดกเดฟเดธเตˆเตป เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเตเด‚ เดชเดฐเดฟเดšเดฏเดฎเตเดฃเตเดŸเต†เดจเตเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเดฟเดตเดฟ เดชเดฑเดฏเตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดŸเตเดŸเตเด‚, เดˆ เดฎเดฃเตเดŸเตป เดšเต‹เดฆเตเดฏเด‚ เดšเต‹เดฆเดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เด’เดฐเดพเตพเด•เตเด•เต เด•เดดเดฟเดฏเดฟเดฒเตเดฒ: เดจเดฟเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเตเดฐเตเด•เตเด•เดฎเดพเดฏเดฟ เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?
- เดนเดฒเต‹, เดฌเดฟเดฌเดฟเดฏเตเด‚ เดฌเต‹เดฌเดฏเตเด‚. เดžเดพเตป เดชเตเดฐเดพเดฅเดฎเดฟเด•เดฎเดพเดฏเดฟ .NET-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดธเดฟเตปเด•เตเดฐเดฃเดธเต, เดฎเตพเดŸเตเดŸเดฟเดคเตเดฐเต†เดกเดกเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดžเดพเตป เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เด…เตฝโ€Œเด—เต‹เดฐเดฟเดคเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจเด•เดณเตเดŸเต†เดฏเตเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจเด•เดพเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ เดŽเดจเดฟเด•เตเด•เต เด†เดคเตเดฎเดตเดฟเดถเตเดตเดพเดธเดฎเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต† เดตเดฒเดฟเดฏ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดฑเต€เดซเดพเด•เตโ€ŒเดŸเดฑเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเตเด‚ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเตเด‚ เดŽเดจเดฟเด•เตเด•เต เด…เดจเตเดญเดตเดฎเตเดฃเตเดŸเต. เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ เด…เดคเตเดฐเดฎเดพเดคเตเดฐเด‚.
- เดจเดจเตเดฆเดฟ. เดถเดฐเดฟ, เดจเดฎเตเด•เตเด•เต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚! เดšเต‚เดŸเดพเด•เตเด•เดพเตป, เดฒเดณเดฟเดคเดฎเดพเดฏ เด’เดจเตเดจเต: เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเต เดฎเดฐเด™เตเด™เตพ เด…เดฑเดฟเดฏเดพเด‚, เด…เดตเดฏเต† เดŽเด™เตเด™เดจเต† เดšเตเดฑเตเดฑเดฟเด•เตเด•เดฑเด™เตเด™เดพเด‚?
- เด“เด•เตเด•เต, เด…เด•เตเด•เต‡เดทเตเดฏ, เดฎเต‡เดชเตเดชเดฟเตพ, เดšเต†เดฑเดฟ ... เด…เดคเดฟเดจเดพเตฝ เด‰เดŸเตป เดฎเดฑเตเดฑเตŠเดจเตเดจเตเด‚ เดฎเดจเดธเตเดธเดฟเตฝ เดตเดฐเตเดจเตเดจเดฟเดฒเตเดฒ. เดตเตƒเด•เตเดทเดคเตเดคเต† เดฎเดฑเดฟเด•เดŸเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดฟเดตเดฟเดง เดตเดถเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดฐเด‚ เด•เดŸเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚: เด‡เดŸเดคเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเดฒเดคเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดฐเดคเตเดคเดฟเตฝ เด•เดฏเดฑเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเตเด‚ เดšเดฟเดฒเดชเตเดชเต‹เตพ เด…เดฃเตเดฃเดพเตป เดคเดพเดฎเดธเดฟเด•เตเด•เตเดจเตเดจ เดฎเดฐเด™เตเด™เดณเดฟเตฝ เดชเตŠเดณเตเดณเดฏเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เดŽเดจเดฟเด•เตเด•เดฑเดฟเดฏเดพเด‚.
- เดจเดจเตเดจเดพเดฏเดฟ. เด…เดชเตเดชเต‹เตพ เดšเต‹เดฆเตเดฏเด‚ เด‡เดคเดพเดฃเต - เด’เดฐเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดฑเดซเดฑเตปเดธเต เดตเดดเดฟ เด•เดŸเดคเตเดคเดฟเดตเดฟเดŸเตเดจเตเดจเดคเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดชเด•เตผเดคเตเดคเตเดจเตเดจเดคเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เดŽเดจเตเดคเดพเดฃเต?
- เดตเตเดฏเดคเตเดฏเดพเดธเด‚, เด†เดฆเตเดฏ เด•เต‡เดธเดฟเตฝ เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดฑเดซเดฑเตปเดธเต เดตเดดเดฟ เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเตฝ เด…เดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดชเด•เตผเดคเตเดคเตเดจเตเดจเต.
- เด—เตเดฐเดพเดซเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเดฑเดฟเดฏเดพเด‚?
- เด•เต—เดฃเตเดŸเต เดฒเต†เดตเต เดจเดฟเด•เตเด•เต‹เดณเดพเดตเดฟเดšเตเดšเต เดŸเต‹เตพเดธเตเดฑเตเดฑเต‹เดฏเดฟเดฏเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเต† เดžเดพเตป เด†เดดเดคเตเดคเดฟเตฝ เดฌเดนเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต; เด•เตเดŸเตเดŸเดฟเด•เตเด•เดพเดฒเดคเตเดคเต เดžเดพเตป "เดฆเดฟ เด•เต—เดฃเตเดŸเต เด“เดซเต เดฎเต‹เดฃเตเดŸเต† เด•เตเดฐเดฟเดธเตเดฑเตเดฑเต‹" เดŽเดจเตเดจ เดชเตเดธเตเดคเด•เด‚ เดตเดพเดฏเดฟเดšเตเดšเต. เด•เต—เดฃเตเดŸเต เดกเตเดฐเดพเด•เตเด•เตเดณเดฏเต† เด†เตผเด•เตเด•เดพเดฃเต เด…เดฑเดฟเดฏเดพเดคเตเดคเดคเต?!
โ€” เดŽเดจเตเดคเดพเดฃเต "เดธเต‹เดณเดฟเดกเต"?
- "เด–เดฐ", เด•เตเดฑเดตเต เดชเดฒเดชเตเดชเต‹เดดเตเด‚ - "เด–เดฐ". เดธเดจเตเดฆเตผเดญเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚.
- เด’เดฐเต เดฎเดพเดฒเดฟเดจเตเดฏ เดถเต‡เด–เดฐเดฃเด•เตเด•เดพเดฐเตป เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต?
- เด…เดคเต เดŽเดจเดฟเด•เตเด•เตเด‚ เด…เดฑเดฟเดฏเดพเด‚. เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด—เดพเตผเดฌเต‡เดœเต เด•เดณเด•เตเดŸเตผ เดถเต‹เดญเดฏเตเดณเตเดณ เด“เดฑเดžเตเดšเต เด“เดตเดฑเต‹เดณเตเด•เดณเตเด‚ เดธเตเดฐเด•เตเดทเดพ เดทเต‚เด•เดณเตเด‚ เดงเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดตเตป เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เดฐเดพเดคเตเดฐเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต - เด’เดฐเต เดฎเดพเดฒเดฟเดจเตเดฏ เดŸเตเดฐเด•เตเด•เดฟเตฝ. เดฆเตเตผเด—เดจเตเดงเด‚ เดตเดฎเดฟเด•เตเด•เตเดจเตเดจ เดฎเดพเดฒเดฟเดจเตเดฏเด‚ เดฑเต‹เดกเดฟเตฝ เดชเดฐเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เดชเตเดฐเดคเตเดฏเต‡เด•เด‚ เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดšเดตเดฑเตเดฑเตเด•เตŠเดŸเตเดŸเด•เดณเดฟเดฒเต† เด‰เดณเตเดณเดŸเด•เตเด•เด‚ เดฎเดพเดฒเดฟเดจเตเดฏ เดตเดฃเตเดŸเดฟเดฏเตเดŸเต† เดชเตเดฑเด•เดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•เดฏเดพเดฃเต เดฎเดพเดฒเดฟเดจเตเดฏเด‚ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดตเดฐเตเดŸเต† เดชเตเดฐเดงเดพเดจ เดฆเต—เดคเตเดฏเด‚. เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ, เดฎเดพเดฒเดฟเดจเตเดฏ เดถเต‡เด–เดฐเดฃเด•เตเด•เดพเดฐเตเดŸเต† เดชเตเดฐเดพเดงเดพเดจเตเดฏเด‚ เดจเดฎเตเดฎเตเดŸเต† เดธเดฎเต‚เดนเด‚ เด•เตเดฑเดšเตเดšเตเด•เดพเดฃเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดชเดฑเดฏเดพเด‚, เดชเด•เตเดทเต‡ เด…เดตเดฐเตเดŸเต† เดœเต‹เดฒเดฟ เด…เดงเตเดฏเดพเดชเด•เดฐเตเดŸเต†เดฏเตเด‚ เดฌเต‡เด•เตเด•เตผเดฎเดพเดฐเตเดŸเต†เดฏเตเด‚ เดœเต‹เดฒเดฟ เดชเต‹เดฒเต† เดตเดฟเดฒเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต!
- เด‡เดจเตเดจเดคเตเดคเต† เด…เดตเดธเดพเดจเดคเตเดคเต† เดฎเดฃเตเดŸเตป เดšเต‹เดฆเตเดฏเด‚: เดจเดฎเตเด•เตเด•เต เด’เดฐเต เด—เต‹เดณเดพเด•เตƒเดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เด•เตเดคเดฟเดฐเดฏเตเดฃเตเดŸเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•, เด…เดคเต เด’เดฐเต เดฎเดจเตเดทเตเดฏเดจเต†เดชเตเดชเต‹เดฒเต† เดชเดฟเตปเด•เดพเดฒเดฟเตฝ เดจเดŸเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดจเดฟเดฒเดตเดฟเดฒเต† เดธเตเดฅเดฒ-เดธเดฎเดฏ เดคเตเดŸเตผเดšเตเดšเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณ เด’เดฐเต เดจเดฟเตผเดตเตเดตเดนเดฃ เดธเดจเตเดฆเตผเดญเด‚ เดจเตˆเดฑเตเดฑเดฟเดจเตเดฃเตเดŸเต. เดฎเดฟเดกเดฟเตฝ เดˆเดธเตเดฑเตเดฑเดฟเตฝ เดธเตˆเดจเดฟเด• เดธเด‚เด˜เดŸเตเดŸเดจเด™เตเด™เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเตเดณเตเดณ เด…เดคเตเดคเดฐเด‚ เด•เตเดคเดฟเดฐเด•เดณเตเดŸเต† เด’เดฐเต เด•เตเดณเด‚ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. O( n * log(n) ) เตฝ เดจเดฟเด™เตเด™เตพ เด‡เดคเต เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดฏเตเด‚?
- เดนเตเด‚... เดคเตเดŸเด•เตเด•เด•เตเด•เดพเตผเด•เตเด•เต, เดžเดพเตป เดฎเต‚เดฒเตเดฏเดจเดฟเตผเดฃเตเดฃเดฏเด™เตเด™เตพ เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตเด‚. เด—เต‹เดณเดพเด•เตƒเดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เด•เตเดคเดฟเดฐเด•เดณเตเดŸเต† เด•เตเดณเด‚ เด‡เดฒเตเดฒเต†เดจเตเดจเต เดžเดพเตป เด’เดŸเตเดตเดฟเตฝ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด‚ - เดšเต‹เดฆเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดฐเต‚เดชเดตเดคเตเด•เดฐเดฃเดคเตเดคเดฟเดจเต เดคเดจเตเดจเต† เดŽเดฒเตเดฒเดพ เด…เตผเดคเตเดฅเดตเตเด‚ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเด‚. เดžเดพเตป เด’เดฐเต‡ เดธเดฎเดฏเด‚ เดˆ เด•เตเดคเดฟเดฐเดฏเตเด‚ เด…เดคเตเดคเดฐเด‚ เด•เตเดคเดฟเดฐเด•เดณเตเดŸเต† เด’เดฐเต เด•เตเดณเดตเตเด‚ เดฎเดฟเดกเดฟเตฝ เดˆเดธเตเดฑเตเดฑเตเด‚ เด†เดฏเดฟเดคเตเดคเต€เดฐเตเด‚. เดŽเดฑเตเดฑเต‡เดฃเดฒเตเดฎเดพเดฏเดฟ เดฒเดฏเดฟเดชเตเดชเดฟเดšเตเดšเดคเดฟเดจเต, O( n * log(n) ) O ( n ^ n ) เตฝ เดจเดฟเดจเตเดจเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.
- เดจเดจเตเดฆเดฟ, เดธเต†เตผเดœเดฟ. เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต† เดคเดฟเดฐเดฟเด•เต† เดตเดฟเดณเดฟเด•เตเด•เตเด‚.
- เด…เดคเต เดถเดฐเดฟเด•เตเด•เตเด‚ เด‡เดคเดพเดฃเต: เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดพเด—เดคเด‚. เดคเดฟเดฐเดฟเด•เต† เดตเดฟเดณเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•