แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แˆƒแ‹ญ แˆ€แ‰ฅแˆญ! แ‹จแŒฝแˆแ‰แŠ• แ‰ตแˆญแŒ‰แˆ แˆˆแŠฅแˆญแˆตแ‹Ž แ‰ตแŠฉแˆจแ‰ต แŠ แ‰€แˆญแ‰ฃแˆˆแˆแข
"แ‰ฐแ‹›แˆ›แŒ… แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆฐแˆซ".

แ‹ˆแ‹ฐ แ‰ฐแ‹›แˆ›แŒ… แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹Žแ‰ฝ แˆตแŠ•แˆ˜แŒฃ แ‹จแˆ†แА แАแŒˆแˆญ แ‹ญแŒŽแ‹ตแˆ‹แˆ โ€‹โ€‹แ‰ฅแ‹ฌ แŠจแˆ›แˆฐแ‰ฅ แŠ แˆแ‰ฝแˆแˆแข แ‰ แˆแˆ‰แˆ แ‰ฆแ‰ณ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹ญแ‹แˆ‹แˆ‰. แŠจแ‰ตแŠ•แˆฝ แŠฅแŠ“ แŒ แ‰ƒแˆš SQLite แŠฅแˆตแŠจ แŠƒแ‹ญแˆˆแŠ› แ‰ดแˆซแ‹ณแ‰ณ แ‹ตแˆจแˆต แ‰ฅแ‹™ แ‹จแ‰ฐแˆˆแ‹ซแ‹ฉ แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠ แˆ‰แข แŒแŠ• แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ฑ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆฐแˆซ แ‹จแˆšแ‹ซแ‰ฅแˆซแˆฉ แŒฅแ‰‚แ‰ต แŒฝแˆ‘แŽแ‰ฝ แ‰ฅแ‰ป แŠ แˆ‰แข แˆแŠ• แ‹ซแˆ…แˆ แŒฅแ‰‚แ‰ต แ‹แŒคแ‰ถแ‰ฝ แŠฅแŠ•แ‹ณแˆ‰ แˆˆแˆ›แ‹จแ‰ต "howdoesarelationaldatabasework" แ‰ แˆ˜แŒ แ‰€แˆ แŠฅแˆซแˆตแ‹ŽแŠ• แˆ˜แˆแˆˆแŒ แ‹ญแ‰ฝแˆ‹แˆ‰แข แŠจแ‹šแˆ…แˆ แ‰ แˆ‹แ‹ญ แŠฅแАแ‹šแˆ… แŒฝแˆ‘แŽแ‰ฝ แŠ แŒญแˆญ แŠ“แ‰ธแ‹. แ‹จแ‰…แˆญแ‰ฅ แŒŠแ‹œแ‹Žแ‰น แ‰ แ‹แ‰… แ‰ดแŠญแŠ–แˆŽแŒ‚แ‹Žแ‰ฝ (BigDataแฃ NoSQL แ‹ˆแ‹ญแˆ JavaScript) แŠฅแ‹จแˆแˆˆแŒ‰ แŠจแˆ†แА แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ แ‹จแˆšแŒˆแˆแŒน แ‰ฐแŒจแˆ›แˆช แŒฅแˆแ‰… แŒฝแˆ‘แŽแ‰ฝแŠ• แ‹ซแŒˆแŠ›แˆ‰แข

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แ‰ แŒฃแˆ แ‹ซแˆจแŒ แŠฅแŠ“ แ‰ แŒฃแˆ แŠ แˆฐแˆแ‰บ แŠ“แ‰ธแ‹ แŠจแ‹ฉแŠ’แ‰จแˆญแˆฒแ‰ฒ แŠฎแˆญแˆถแ‰ฝแฃ แ‹จแˆแˆญแˆแˆญ แ‹ˆแˆจแ‰€แ‰ถแ‰ฝ แŠฅแŠ“ แˆ˜แŒฝแˆƒแŽแ‰ฝ แ‹แŒญ แˆˆแˆ˜แ‰ฅแˆซแˆซแ‰ต?

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แŠฅแŠ•แ‹ฐ แŒˆแŠ•แ‰ขแฃ แ‹ซแˆแŒˆแ‰ฃแŠแŠ• แАแŒˆแˆญ แˆ˜แŒ แ‰€แˆ แŠฅแŒ แˆ‹แˆˆแˆแข แŠฅแŠ“ แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹Žแ‰ฝ แŠจ 40 แ‹“แˆ˜แ‰ณแ‰ต แ‰ แˆ‹แ‹ญ แŒฅแ‰…แˆ แˆ‹แ‹ญ แŠจแ‹‹แˆ‰, แˆแŠญแŠ•แ‹ซแ‰ต แˆŠแŠ–แˆญ แ‹ญแŒˆแ‰ฃแˆ. แ‰ แ‹จแŠฅแˆˆแ‰ฑ แ‹จแˆแŒ แ‰€แˆแ‰ฃแ‰ธแ‹แŠ• แŠฅแАแ‹šแˆ…แŠ• แŠฅแŠ•แŒแ‹ณ แŒฅแ‰แˆญ แˆณแŒฅแŠ–แ‰ฝ แ‰ แ‰ตแŠญแŠญแˆ แˆˆแˆ˜แˆจแ‹ณแ‰ต แ‰ฃแˆˆแ‰แ‰ต แŠ แˆ˜แ‰ณแ‰ต แ‰ แˆ˜แ‰ถแ‹Žแ‰ฝ แ‹จแˆšแ‰†แŒ แˆฉ แˆฐแ‹“แ‰ณแ‰ต แŠ แˆณแˆแŒแ‹ซแˆˆแˆแข แ‰ฐแ‹›แˆ›แŒ… แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹Žแ‰ฝ แŠฅแАแˆฑ แˆแŠญแŠ•แ‹ซแ‰ฑแˆ แ‰ แŒฃแˆ แŠ แˆตแ‹ฐแˆณแ‰ฝ แŒ แ‰ƒแˆš แŠฅแŠ“ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‰ แˆšแ‹แˆ‰ แŒฝแŠ•แˆฐ-แˆแˆณแ‰ฆแ‰ฝ แˆ‹แ‹ญ แ‹จแ‰ฐแˆ˜แˆฐแˆจแ‰ฐ. แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹แŠ• แˆˆแˆ˜แˆจแ‹ณแ‰ต แแˆ‹แŒŽแ‰ต แŠซแˆŽแ‰ตแฃ แАแŒˆแˆญ แŒแŠ• แ‹ˆแ‹ฐแ‹šแˆ… แˆฐแŠ แˆญแ‹•แˆต แ‹แˆตแŒฅ แˆˆแˆ˜แŒแ‰ฃแ‰ต แŒŠแ‹œ แ‹ˆแ‹ญแˆ แ‹แŠ•แ‰ฃแˆŒ แŠจแˆŒแˆˆแ‹Žแ‰ตแฃ แ‰ แ‹šแˆ… แŒฝแˆ‘แ แˆ˜แ‹ฐแˆฐแ‰ต แŠ แˆˆแ‰ฅแ‹Žแ‰ตแข

แ‹จแ‹šแˆ… แŒฝแˆ‘แ แˆญแ‹•แˆต แŒแˆแŒฝ แ‰ขแˆ†แŠ•แˆแฃ แ‹จแ‹šแˆ… แŒฝแˆ‘แ แ‹“แˆ‹แˆ› แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹แŠ• แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแŒ แ‰€แˆ™ แˆ˜แˆจแ‹ณแ‰ต แŠ แ‹ญแ‹ฐแˆˆแˆ. แˆตแˆˆแ‹šแˆ…แˆ แŠฅ.แŠค.แŠ . แ‰€แˆ‹แˆ แ‹จแŒแŠ•แŠ™แАแ‰ต แŒฅแ‹ซแ‰„ แŠฅแŠ“ แˆ˜แˆฐแˆจแ‰ณแ‹Š แŒฅแ‹ซแ‰„แ‹Žแ‰ฝแŠ• แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแŒฝแ‰ แŠ แˆตแ‰€แ‹ตแˆ˜แ‹ แˆ›แ‹ˆแ‰… แŠ แˆˆแ‰ฅแ‹Žแ‰ต แŠญแˆฉแ‹ต; แŠ แˆˆแ‰ แˆˆแ‹šแ‹ซ แ‹ญแˆ…แŠ• แŒฝแˆ‘แ แˆ‹แ‹ญแˆจแ‹ฑแ‰ต แ‹ญแ‰ฝแˆ‹แˆ‰. แˆ›แ‹ˆแ‰… แ‹ซแˆˆแ‰ฅแ‹Žแ‰ต แ‰ฅแ‰ธแŠ›แ‹ แАแŒˆแˆญ แ‹ญแˆ… แАแ‹, แ‹จแ‰€แˆจแ‹แŠ• แŠฅแŒˆแˆแŒปแˆˆแˆ.

แŠฅแŠ•แ‹ฐ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝ แ‹จแŒŠแ‹œ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต (BigO) แ‰ฃแˆ‰ แŠ แŠ•แ‹ณแŠ•แ‹ต แ‹จแŠฎแˆแ’แ‹แ‰ฐแˆญ แˆณแ‹ญแŠ•แˆต แˆ˜แˆฐแˆจแ‰ณแ‹Š แˆ˜แˆญแˆ†แ‰ฝ แŠฅแŒ€แˆแˆซแˆˆแˆแข แŠ แŠ•แ‹ณแŠ•แ‹ถแ‰ปแ‰ฝแˆ แ‹ญแˆ…แŠ•แŠ• แ…แŠ•แˆฐ-แˆƒแˆณแ‰ฅ แŠฅแŠ•แ‹ฐแˆแ‰ตแŒ แˆ‰ แŠ แ‹แ‰ƒแˆˆแˆ แАแŒˆแˆญ แŒแŠ• แ‹ซแˆˆ แŠฅแˆฑ แ‰ แˆ˜แˆจแŒƒ แ‰‹แ‰ฑ แ‹แˆตแŒฅ แ‹ซแˆ‰แ‰ตแŠ• แ‹แˆตแ‰ฅแˆตแ‰ฅ แАแŒˆแˆฎแ‰ฝ แˆ˜แˆจแ‹ณแ‰ต แŠ แ‹ญแ‰ฝแˆ‰แˆแข แ‹ญแˆ… แ‰ตแˆแ‰… แˆญแ‹•แˆต แˆตแˆˆแˆ†แА แˆ‹แ‹ญ แŠ แ‰ฐแŠฉแˆซแˆˆแˆ แŠ แˆตแˆแˆ‹แŒŠ แАแ‹ แ‰ฅแ‹ฌ แ‹จแˆ›แˆตแ‰ แ‹: แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆฐแˆซ SQL แˆ˜แŒ แ‹ญแ‰…. แ‰ แ‰ƒ แŠ แˆตแ‰ฐแ‹‹แ‹แ‰ƒแˆˆแˆแข แˆ˜แˆ แˆจแ‰ณแ‹Š แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แŒฝแŠ•แˆฐ-แˆแˆณแ‰ฆแ‰ฝแˆตแˆˆแ‹šแˆ… แ‰ แŠ แŠ•แ‰€แŒน แˆ˜แŒจแˆจแˆป แˆ‹แ‹ญ แŠจแˆฝแ‹แŠ‘ แˆตแˆญ แˆแŠ• แŠฅแ‹จแ‰ฐแ‹ฐแˆจแŒˆ แŠฅแŠ•แ‹ณแˆˆ แˆ€แˆณแ‰ฅ แŠ แˆˆแ‹Žแ‰ต แข

แ‹ญแˆ… แ‰ฅแ‹™ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝแŠ• แŠฅแŠ“ แ‹จแ‹แˆ‚แ‰ฅ แŠ แ‹ˆแ‰ƒแ‰€แˆฎแ‰ฝแŠ• แ‹จแˆšแ‹ซแŠซแ‰ตแ‰ต แˆจแŒ…แˆ แŠฅแŠ“ แ‰ดแŠญแŠ’แŠซแˆ แŒฝแˆ‘แ แˆตแˆˆแˆ†แА แŠฅแˆฑแŠ• แˆˆแˆ›แŠ•แ‰ แ‰ฅ แŒŠแ‹œแ‹ŽแŠ• แ‹ญแ‹แˆฐแ‹ฑแข แŠ แŠ•แ‹ณแŠ•แ‹ต แŒฝแŠ•แˆฐ-แˆแˆณแ‰ฆแ‰ฝ แˆˆแˆ˜แˆจแ‹ณแ‰ต แŠ แˆตแ‰ธแŒ‹แˆช แˆŠแˆ†แŠ• แ‹ญแ‰ฝแˆ‹แˆ; แŠฅแАแˆฑแŠ• แˆ˜แ‹แˆˆแˆ แŠฅแŠ“ แŠ แˆแŠ•แˆ แŠ แŒ แ‰ƒแˆ‹แ‹ญ แˆ€แˆณแ‰กแŠ• แˆ›แŒแŠ˜แ‰ต แ‹ญแ‰ฝแˆ‹แˆ‰แข

แ‰ แˆ˜แŠซแŠจแˆ‹แ‰ฝแˆ แ‹จแ‰ แˆˆแŒ  แŠฅแ‹แ‰€แ‰ต แˆ‹แˆˆแ‹ แฃ แ‹ญแˆ… แŒฝแˆ‘แ แ‰  3 แŠญแแˆŽแ‰ฝ แ‰ฐแŠจแแˆแˆ แข

  • แ‹แ‰…แ‰ฐแŠ›-แ‹ฐแˆจแŒƒ แŠฅแŠ“ แŠจแแ‰ฐแŠ›-แ‹ฐแˆจแŒƒ แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แŠญแแˆŽแ‰ฝ แŠ แŒ แ‰ƒแˆ‹แ‹ญ แŠฅแ‹ญแ‰ณ
  • แ‹จแŒฅแ‹ซแ‰„ แˆ›แˆปแˆปแ‹ซ แˆ‚แ‹ฐแ‰ต แŠ แŒ แ‰ƒแˆ‹แ‹ญ แŠฅแ‹ญแ‰ณ
  • แ‹จแŒแ‰ฅแ‹ญแ‰ต แŠฅแŠ“ แ‹จแ‰‹แ‰ต แŒˆแŠ•แ‹ณ แŠ แˆตแ‰ฐแ‹ณแ‹ฐแˆญ แŠ แŒ แ‰ƒแˆ‹แ‹ญ แŠฅแ‹ญแ‰ณ

แ‹ˆแ‹ฐ แˆ˜แˆฐแˆจแ‰ณแ‹Š แАแŒˆแˆฎแ‰ฝ แ‰ฐแˆ˜แˆˆแˆต

แŠจแ‹“แˆ˜แ‰ณแ‰ต แ‰ แŠแ‰ต (แ‰ แŒ‹แˆ‹แŠญแˆฒ แ‰ แˆฉแ‰…แฃ แ‰ แˆฉแ‰…...)แฃ แŒˆแŠ•แ‰ขแ‹Žแ‰ฝ แŠฎแ‹ต แ‹จแˆšแ‹ซแ‹ฐแˆญแŒ‰แ‰ฃแ‰ธแ‹แŠ• แ‹จแŠญแ‹ˆแŠ“แ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ต แ‰ แ‰ตแŠญแŠญแˆ แˆ›แ‹ˆแ‰… แАแ‰ แˆจแ‰ฃแ‰ธแ‹แข แ‹จแ‹˜แŒˆแ‹จ แŠฎแˆแ’แ‹แ‰ฐแˆฎแ‰ปแ‰ธแ‹แŠ• แˆฒแ’แ‹ฉ แŠฅแŠ“ แˆšแˆžแˆช แˆ›แ‰ฃแŠจแŠ• แˆตแˆˆแˆ›แ‹ญแ‰ฝแˆ‰ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆซแ‰ธแ‹แŠ• แŠฅแŠ“ แ‹ณแ‰ณ แŠ แ‹ˆแ‰ƒแ‰€แˆซแ‰ธแ‹แŠ• แ‹ซแ‹แ‰ แАแ‰ แˆญแข

แ‰ แ‹šแˆ… แŠญแแˆ แ‹แˆตแŒฅแฃ แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹แŠ• แˆˆแˆ˜แˆจแ‹ณแ‰ต แŠ แˆตแˆแˆ‹แŒŠ แˆตแˆˆแˆ†แŠ‘ แŠจแŠฅแАแ‹šแˆ… แŒฝแŠ•แˆฐ-แˆ€แˆณแ‰ฆแ‰ฝ แ‹แˆตแŒฅ แŠ แŠ•แ‹ณแŠ•แ‹ถแ‰นแŠ• แŠ แˆตแ‰ณแ‹แˆณแ‰ฝแŠ‹แˆˆแˆแข แ…แŠ•แˆฐ-แˆ€แˆณแ‰กแŠ•แˆ แŠ แˆตแ‰ฐแ‹‹แ‹แ‰ƒแˆˆแˆแข แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แˆ˜แˆจแŒƒ แŒ แ‰‹แˆš.

แŠฆ(1) vs O(n2)

แ‰ แŠ แˆแŠ‘ แŒŠแ‹œแฃ แ‰ฅแ‹™ แŒˆแŠ•แ‰ขแ‹Žแ‰ฝ แˆตแˆˆ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝ แ‹จแŒŠแ‹œ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แŒแ‹ต แ‹จแˆ‹แ‰ธแ‹แˆ... แŠฅแŠ“ แ‰ตแŠญแŠญแˆ แŠ“แ‰ธแ‹!

แАแŒˆแˆญ แŒแŠ• แŠจแ‰ฅแ‹™ แ‹ณแ‰ณ แŒ‹แˆญ แˆตแ‰ตแŒˆแŠ“แŠ (แˆบแˆ… แŠ แˆ‹แ‹ˆแˆซแˆ) แ‹ˆแ‹ญแˆ แ‰ แˆšแˆŠแˆฐแŠจแŠ•แ‹ถแ‰ฝ แŠฅแ‹จแ‰ณแŒˆแˆแŠญ แŠจแˆ†แА แ‹ญแˆ…แŠ• แŒฝแŠ•แˆฐ แˆƒแˆณแ‰ฅ แˆ˜แˆจแ‹ณแ‰ต แ‰ แŒฃแˆ แŠ แˆตแˆแˆ‹แŒŠ แ‹ญแˆ†แŠ“แˆแข แŠฅแŠ“ แŠฅแˆญแˆตแ‹Ž แŠฅแŠ•แ‹ฐแˆšแŒˆแˆแ‰ฑแ‰ต, แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹Žแ‰ฝ แˆแˆˆแ‰ฑแŠ•แˆ แˆแŠ”แ‰ณแ‹Žแ‰ฝ แˆ˜แ‰‹แ‰‹แˆ แŠ แˆˆแ‰ฃแ‰ธแ‹! แАแŒฅแ‰กแŠ• แˆˆแˆ˜แˆจแ‹ณแ‰ต แŠจแˆšแ‹ซแˆตแˆแˆแŒˆแ‹ แ‰ แˆ‹แ‹ญ แŒŠแ‹œ แŠฅแŠ•แ‹ฒแ‹ซแˆณแˆแ‰ แŠ แˆ‹แ‹ฐแˆญแŒแˆแข แ‹ญแˆ… แ‰ แŠ‹แˆ‹ แˆ‹แ‹ญ แ‹ˆแŒชแŠ• แˆ˜แˆฐแˆจแ‰ต แ‹ซแ‹ฐแˆจแŒˆ แ‹จแˆ›แˆ˜แ‰ปแ‰ธแ‰ต แŒฝแŠ•แˆฐ-แˆ€แˆณแ‰ฅ แŠฅแŠ•แ‹ตแŠ•แˆจแ‹ณ แ‹ญแˆจแ‹ณแŠ“แˆ (แ‹‹แŒ‹ แˆ‹แ‹ญ แ‹จแ‰ฐแˆ˜แˆ แˆจแ‰ฐ แˆ›แˆ˜แ‰ปแ‰ธแ‰ต).

แŒฝแŠ•แˆฐ-แˆแˆณแ‰ฅ

แ‹จแŠ แˆแŒŽแˆชแ‹แˆ แ‹จแŒŠแ‹œ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แˆˆแ‰ฐแ‹ˆแˆฐแА แ‹จแ‹แˆ‚แ‰ฅ แˆ˜แŒ แŠ• แŠ แˆแŒŽแˆชแ‹แˆแŠ• แˆˆแˆ˜แ‰ฐแŒแ‰ แˆญ แˆแŠ• แ‹ซแˆ…แˆ แŒŠแ‹œ แŠฅแŠ•แ‹ฐแˆšแ‹ˆแˆตแ‹ต แˆˆแˆ›แ‹จแ‰ต แ‹ญแŒ แ‰…แˆ›แˆ. แ‹ญแˆ…แŠ•แŠ• แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แˆˆแˆ˜แŒแˆˆแ… แ‰ตแˆแ‰… O แ‹จแˆ‚แˆณแ‰ฅ แŠ–แ‰ต แŠฅแŠ•แŒ แ‰€แˆ›แˆˆแŠ• แ‹ญแˆ… แˆแˆแŠญแ‰ต แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹จแ‹‹แˆˆแ‹ แˆˆแŠ แŠ•แ‹ต แ‹จแ‰ฐแ‹ˆแˆฐแА แ‹จแŒแ‰ฅแŠ แ‰ต แ‰ฅแ‹›แ‰ต แˆแŠ• แ‹ซแˆ…แˆ แŠฆแ•แˆฌแˆฝแŠ–แ‰ฝ แŠฅแŠ•แ‹ฐแˆšแ‹ซแˆตแˆแˆแŒˆแ‹ แŠจแˆšแŒˆแˆแŒฝ แ‰ฐแŒแ‰ฃแˆญ แŒ‹แˆญ แАแ‹แข

แˆˆแˆแˆณแˆŒ "แ‹ญแˆ… แŠ แˆแŒŽแˆชแ‹แˆ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต O(แŠ แŠ•แ‹ณแŠ•แ‹ต_แ‰ฐแŒแ‰ฃแˆญ()) แŠ แˆˆแ‹" แ‰ฅแ‹ฌ แˆตแŠ“แŒˆแˆญ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แ‹จแ‰ฐแ‹ˆแˆฐแА แˆ˜แŒ แŠ• แ‹ซแˆˆแ‹ แ‹แˆ‚แ‰ฅ แˆˆแˆ˜แˆตแˆซแ‰ต แŠ แŠ•แ‹ณแŠ•แ‹ต_แ‰ฐแŒแ‰ฃแˆญ(a_certain_amount_of_data) แˆตแˆซแ‹Žแ‰ฝแŠ• แ‹ญแˆแˆแŒ‹แˆ แˆ›แˆˆแ‰ต แАแ‹แข

แˆตแˆˆแ‹šแˆ… แ‹ˆแˆณแŠ™ แ‹จแ‹แˆ‚แ‰ฅ แˆ˜แŒ แŠ• แŠ แ‹ญแ‹ฐแˆˆแˆ**แŠ แˆˆแ‰ แˆˆแ‹šแ‹ซ ** แ‹จแ‹แˆ‚แ‰ฅ แˆ˜แŒ แŠ• แ‰ แˆ˜แŒจแˆ˜แˆญ แ‹จแŠญแ‹ˆแŠ“แ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ต แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแŒจแˆแˆญ. แ‹จแŒŠแ‹œ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แ‰ตแŠญแŠญแˆˆแŠ› แ‹จแŠญแ‹‹แŠ”แ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ต แŠ แ‹ญแˆฐแŒฅแˆ, แАแŒˆแˆญ แŒแŠ• แ‹จแˆ›แˆตแˆแŒธแˆšแ‹ซ แŒŠแ‹œแŠ• แˆˆแˆ˜แŒˆแˆ˜แ‰ต แŒฅแˆฉ แˆ˜แŠ•แŒˆแ‹ต แАแ‹.

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แ‰ แ‹šแˆ… แŒแˆซแ แ‹แˆตแŒฅ แˆˆแ‰ฐแˆˆแ‹ซแ‹ฉ แ‹จแŠ แˆแŒŽแˆชแ‹แˆ แ‹จแŒŠแ‹œ แ‹แˆตแ‰ฅแˆตแ‰ฅ แ‹“แ‹ญแАแ‰ถแ‰ฝ แ‹จแŒแ‰ฅแŠ แ‰ต แ‹แˆ‚แ‰ฅ แˆ˜แŒ แŠ• แŒ‹แˆญ แˆฒแАแƒแ€แˆญ แ‹จแŠญแ‹‹แŠ”แ‹Žแ‰ฝแŠ• แ‰ฅแ‹›แ‰ต แˆ›แ‹จแ‰ต แ‹ญแ‰ฝแˆ‹แˆ‰แข แŠฅแАแˆฑแŠ• แˆˆแˆ›แˆณแ‹จแ‰ต แˆŽแŒ‹แˆชแ‹แˆ แˆšแ‹›แŠ• แ‰ฐแŒ แ‰€แˆแŠฉแข แ‰ แˆŒแˆ‹ แŠ แАแŒ‹แŒˆแˆญ แ‹จแ‹แˆ‚แ‰ฅ แˆ˜แŒ แŠ• แ‰ แแŒฅแАแ‰ต แŠจ 1 แ‹ˆแ‹ฐ 1 แ‰ขแˆŠแ‹ฎแŠ• แ‹ญแŒจแˆแˆซแˆ. แŠฅแŠ› แˆ›แ‹จแ‰ต แŠฅแŠ•แ‰ฝแˆ‹แˆˆแŠ•:

  • แŠฆ(1) แ‹ˆแ‹ญแˆ แ‹จแˆ›แ‹ซแ‰‹แˆญแŒฅ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แ‰‹แˆš แˆ†แŠ– แ‹ญแ‰†แ‹ซแˆ (แŠ แˆˆแ‰ แˆˆแ‹šแ‹ซ แ‰‹แˆš แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แ‰ฐแ‰ฅแˆŽ แŠ แ‹ญแŒ แˆซแˆ)แข
  • O(แˆ˜แ‹แŒˆแ‰ฅ(n)) แ‰ แ‰ขแˆŠแ‹ฎแŠ–แ‰ฝ แ‰ แˆšแ‰†แŒ แˆญ แˆ˜แˆจแŒƒแˆ แ‰ขแˆ†แŠ• แ‹แ‰…แ‰ฐแŠ› แАแ‹แข.
  • แ‰ แŒฃแˆ แŠ แˆตแ‰ธแŒ‹แˆชแ‹ แ‰ฝแŒแˆญ - แŠฆ(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 แˆšแˆด แ‰ณแŒฃแˆˆแˆ…แฃ แ‹ญแˆ…แˆ แŒŠแ‹œ แ‰ฅแ‰ป แАแ‹ แŠ แ‹ญแŠ•แˆ…แŠ• แ‰ฅแˆแŒญ แ‹ตแˆญแŒแˆ แ‹จแˆšแˆˆแ‹แข แ‰ แŠฅแˆญแŒแŒฅ, แ‹˜แˆ˜แŠ“แ‹Š แˆ›แ‰€แАแ‰ฃแ‰ แˆชแ‹ซแ‹Žแ‰ฝ แˆ›แ‰€แАแ‰ฃแ‰ แˆญ แ‹ญแ‰ฝแˆ‹แˆ‰ แ‰ แˆฐแŠจแŠ•แ‹ต แ‰ แˆ˜แ‰ถ แˆšแˆŠแ‹ฎแŠ–แ‰ฝ แ‹จแˆšแ‰†แŒ แˆฉ แˆตแˆซแ‹Žแ‰ฝ. แˆˆแ‹šแˆ…แˆ แАแ‹ แ‰ แ‰ฅแ‹™ แ‹จแŠ แ‹ญแ‰ฒ แ•แˆฎแŒ„แŠญแ‰ถแ‰ฝ แ‹แˆตแŒฅ แŠ แˆแŒปแŒธแˆ แŠฅแŠ“ แˆ›แˆ˜แ‰ปแ‰ธแ‰ต แŒ‰แ‹ณแ‹ญ แŠ แ‹ญแ‹ฐแˆ‰แˆแข

แŠฅแŠ•แ‹ฐแ‰ฐแŠ“แŒˆแˆญแŠฉแ‰ตแฃ แŠจแแ‰ฐแŠ› แˆ˜แŒ แŠ• แŠซแˆˆแ‹ แˆ˜แˆจแŒƒ แŒ‹แˆญ แˆฒแˆฐแˆซ แ‹ญแˆ…แŠ• แŒฝแŠ•แˆฐ แˆƒแˆณแ‰ฅ แˆ›แ‹ˆแ‰… แŠ แˆแŠ•แˆ แŠ แˆตแˆแˆ‹แŒŠ แАแ‹แข แ‰ แ‹šแˆ… แŒŠแ‹œ แŠ แˆแŒŽแˆชแ‹แˆ 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: แ‹ญแˆ… แ‹ฐแŒแˆž แ‹จแŠจแ‹ แАแ‹! แ‰ แ‹šแˆ… แŒฝแˆ‘แ แˆ˜แŠซแŠจแˆ แŠจแˆแŠ“แ‹ซแ‰ธแ‹ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝ แŠ แŠ•แ‹ฑ แ‹ญแˆ… แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แŠ แˆˆแ‹ (แŠฅแŠ“ แ‰ แŠฅแ‹แАแ‰ฑ แ‰ แ‰ฅแ‹™ แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹Žแ‰ฝ แ‹แˆตแŒฅ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹ญแ‹แˆ‹แˆ)แข
  • factorial n: แ‰ แ‰ตแŠ•แˆฝ แˆ˜แŒ แŠ• แ‹แˆ‚แ‰ฅ แŠฅแŠ•แŠณแŠ• แ‹แŒคแ‰ตแ‹ŽแŠ• แ‰ แŒญแˆซแˆฝ แŠ แ‹ซแŒˆแŠ™แˆแข
  • nn: แ‹ญแˆ… แ‹แˆตแ‰ฅแˆตแ‰ฅ แАแŒˆแˆญ แŠซแŒ‹แŒ แˆ˜แ‹Žแ‰ต, แ‹ญแˆ… แ‹จแŠฅแˆญแˆตแ‹Ž แ‹จแ‰ฐแŒแ‰ฃแˆญ แˆ˜แˆตแŠญ แˆ˜แˆ†แŠ‘แŠ• แŠฅแˆซแˆตแ‹ŽแŠ• แ‹ญแŒ แ‹ญแ‰ ...

แˆ›แˆณแˆฐแ‰ขแ‹ซแก แ‹จแ‰ตแˆแ‰… แŠฆ แˆตแ‹ซแˆœ แ‰ตแŠญแŠญแˆˆแŠ› แแ‰บแŠ• แŠ แˆแˆฐแŒ แˆแˆ…แˆ แˆ€แˆณแ‰ฅ แ‰ฅแ‰ปแข แ‹ญแˆ…แŠ•แŠ• แŒฝแˆ‘แ แ‰  แˆ‹แ‹ญ แˆ›แŠ•แ‰ แ‰ฅ แ‹ญแ‰ฝแˆ‹แˆ‰ แ‹ŠแŠชแ”แ‹ฒแ‹ซ แˆˆแ‰ตแŠญแŠญแˆˆแŠ›แ‹ (asymptotic) แแ‰บ.

แŠ แ‹‹แˆ…แ‹ต แ‹ฐแˆญแ‹ตแˆญ

แˆตแ‰ฅแˆตแ‰ฅแŠ• แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆฒแ‹ซแˆตแˆแˆแŒ แˆแŠ• แ‰ณแ‹ฐแˆญแŒ‹แˆˆแˆ…? แˆแŠ•แ‹ตแŠ•? แŠฅแˆญแˆตแ‹Ž แ‹“แ‹ญแАแ‰ต() แ‰ฐแŒแ‰ฃแˆญ แ‰ฅแˆˆแ‹ แ‹ญแŒ แˆฉแ‰ณแˆ... แŠฅแˆบ แŒฅแˆฉ แˆ˜แˆแˆต... แˆˆแ‹ณแ‰ณแ‰คแ‹ แŒแŠ• แ‹ญแˆ… แŠ แ‹ญแАแ‰ต() แ‰ฐแŒแ‰ฃแˆญ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆฐแˆซ แˆ˜แˆจแ‹ณแ‰ต แŠ แˆˆแ‰ฆแ‰ตแข

แ‰ฅแ‹™ แŒฅแˆฉ แ‹จแˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝ แŠ แˆ‰แฃ แˆตแˆˆแ‹šแˆ… แ‰ แŒฃแˆ แŠ แˆตแˆแˆ‹แŒŠ แ‰ แˆ†แŠ‘แ‰ต แˆ‹แ‹ญ แŠ แ‰ฐแŠฉแˆซแˆˆแˆแก- แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แŠ แ‹‹แˆ…แ‹ต. แŠ แˆแŠ• แ‹แˆ‚แ‰ฅ แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆˆแˆแŠ• แŒ แ‰ƒแˆš แŠฅแŠ•แ‹ฐแˆ†แА แˆ‹แ‹ญแˆจแ‹ฑ แ‹ญแ‰ฝแˆ‹แˆ‰ แАแŒˆแˆญแŒแŠ• แŠจแŒฅแ‹ซแ‰„แ‹ แˆ›แˆปแˆปแ‹ซ แŠญแแˆ แ‰ แŠ‹แˆ‹ แˆ›แ‹ตแˆจแŒ แŠ แˆˆแ‰ฅแ‹Žแ‰ตแข แ‰ แ‰ฐแŒจแˆ›แˆชแˆแฃ แ‹จแ‹แˆ…แ‹ฐแ‰ต แ‹“แ‹ญแАแ‰ตแŠ• แˆ˜แˆจแ‹ณแ‰ณแ‰ฝแŠ• แ‹จแ‰ฐแŒ แˆซแ‹แŠ• แ‹จแŒ‹แˆซ แ‹ณแ‰ณแ‰คแ‹ แˆ˜แ‰€แˆ‹แ‰€แˆ แ‰ฐแŒแ‰ฃแˆญ แ‰ แŠ‹แˆ‹ แŠฅแŠ•แ‹ตแŠ•แˆจแ‹ณ แ‹ญแˆจแ‹ณแŠ“แˆแข แˆแˆˆแ‰ฑแŠ• แ‹ตแˆญแŒ…แ‰ถแ‰ฝ แ‰ฐแ‹‹แˆแ‹ฐ แˆ˜แ‰€แˆ‹แ‰€แˆ (แ‹แˆ…แ‹ฐแ‰ต แˆ›แˆ…แ‰ แˆญ).

แŠ แ‹‹แˆ…แ‹ต

แˆแŠญ แŠฅแŠ•แ‹ฐ แ‰ฅแ‹™ แŒ แ‰ƒแˆš แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝแฃ แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆ˜แ‰€แˆ‹แ‰€แˆ แ‰ แ‰ฅแˆแˆƒแ‰ต แˆ‹แ‹ญ แ‹จแ‰ฐแˆ˜แˆฐแˆจแ‰ฐ แАแ‹แก 2 แ‹จแ‰ฐแ‹ฐแˆจแ‹ฐแˆฉ แˆ˜แŒ แŠ“แ‰ธแ‹ N/2 แŠ• แ‹ˆแ‹ฐ N-element แ‹จแ‰ฐแ‹ฐแˆจแ‹ฐแˆฉ แ‹ตแˆญแ‹ตแˆญ แ‹ˆแŒชแ‹Žแ‰ฝ N แŠฆแ•แˆฌแˆฝแŠ–แ‰ฝแŠ• แ‰ฅแ‰ป แАแ‹แข แ‹ญแˆ… แŠญแ‹‹แŠ” แ‹แˆ…แ‹ฐแ‰ต แ‹ญแ‰ฃแˆ‹แˆแข

แ‰ แ‰€แˆ‹แˆ แˆแˆณแˆŒ แ‹ญแˆ… แˆแŠ• แˆ›แˆˆแ‰ต แŠฅแŠ•แ‹ฐแˆ†แА แŠฅแŠ•แ‹ญแก-

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แ‹ญแˆ… แŠ แŠƒแ‹ แ‹จแˆšแ‹ซแˆณแ‹จแ‹ แ‹จแˆ˜แŒจแˆจแˆปแ‹แŠ• แ‹จแ‰ฐแ‹ฐแˆจแ‹ฐแˆฉ แ‰ฃแˆˆ 8-แŠคแˆˆแˆ˜แŠ•แ‰ต แ‹ตแˆญแ‹ตแˆญ แˆˆแˆ˜แŒˆแŠ•แ‰ฃแ‰ต แ‰ 2 แ‰ฃแˆˆ 4-แŠคแˆˆแˆ˜แŠ•แ‰ต แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แˆ‹แ‹ญ แŠ แŠ•แ‹ต แŒŠแ‹œ แ‰ฅแ‰ป แˆ˜แ‹ฐแŒ‹แŒˆแˆ แ‹ซแˆตแˆแˆแŒแ‹Žแ‰ณแˆแข แˆแˆˆแ‰ฑแˆ แ‰ฃแˆˆ 4-แŠ แ‰ฃแˆ แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แŠ แˆตแ‰€แ‹ตแˆ˜แ‹ แ‹จแ‰ฐแ‹ฐแˆจแ‹ฐแˆฉ แˆตแˆˆแˆ†แŠ‘แก-

  • 1) แˆแˆˆแ‰ฑแŠ•แˆ แ‹จแŠ แˆแŠ‘แŠ• แŠ แŠซแˆ‹แ‰ต แ‰ แˆแˆˆแ‰ต แ‹ตแˆญแ‹ตแˆฎแ‰ฝ (แ‰ แˆ˜แŒ€แˆ˜แˆชแ‹ซแ‹ แ‹จแŠ แˆแŠ‘ = แˆ˜แŒ€แˆ˜แˆชแ‹ซ) แ‹ซแ‹ˆแ‹ณแ‹ตแˆซแˆ‰
  • 2) แŠจแ‹šแ‹ซแˆ แ‹ˆแ‹ฐ 8 แŠคแˆˆแˆ˜แŠ•แ‰ถแ‰ฝ แ‹ตแˆญแ‹ตแˆญ แˆˆแˆ›แˆตแŒˆแ‰ฃแ‰ต แ‰ตแŠ•แˆนแŠ• แ‹ญแ‹แˆฐแ‹ฑ
  • 3) แŠฅแŠ“ แ‰ตแŠ•แˆนแŠ• แŠ•แŒฅแˆจ แАแŒˆแˆญ แ‹ˆแ‹ฐ แ‹ˆแˆฐแ‹ฑแ‰ แ‰ต แ‹ตแˆญแ‹ตแˆญ แ‹แˆตแŒฅ แ‹ˆแ‹ฐแˆšแ‰€แŒฅแˆˆแ‹ แŠ แŠซแˆ แ‹ญแˆ‚แ‹ฑ
  • แŠฅแŠ“ แ‹จแŠ แŠ•แ‹ฑ แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แ‹จแˆ˜แŒจแˆจแˆปแ‹แŠ• แŠ แŠซแˆ แŠฅแˆตแŠชแ‹ฐแˆญแˆฑ แ‹ตแˆจแˆต 1,2,3แฃXNUMXแฃXNUMX แ‹ญแ‹ตแŒˆแˆ™แ‰ตแข
  • แŠจแ‹šแ‹ซแˆ แ‹ˆแ‹ฐ 8 แŠคแˆˆแˆ˜แŠ•แ‰ถแ‰ฝ แ‹ตแˆญแ‹ตแˆญ แˆˆแˆ›แˆตแŒˆแ‰ฃแ‰ต แ‹จแˆŒแˆ‹แŠ›แ‹แŠ• แ‹ตแˆญแ‹ตแˆญ แ‰€แˆช แŠ แŠซแˆ‹แ‰ต แ‹ˆแˆตแ‹ฐแ‹‹แ‰ธแ‹‹แˆแข

แ‹ญแˆ… แ‹จแˆšแˆฐแˆซแ‹ แˆแˆˆแ‰ฑแˆ แ‰ฃแˆˆ 4-แŠคแˆˆแˆ˜แŠ•แ‰ต แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แˆตแˆˆแ‰ฐแ‹ฐแˆจแ‹ฐแˆฉ แŠฅแŠ“ แ‰ แŠฅแАแ‹šแ‹ซ แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แ‹แˆตแŒฅ "แˆ˜แˆ˜แˆˆแˆต" แ‹จแˆˆแ‰ฅแ‹Žแ‰ตแˆแข

แŠ แˆแŠ• แ‹˜แ‹ดแ‹แŠ• แˆตแˆˆแ‰ฐแˆจแ‹ณแŠ• แ‹จแ‹แˆ…แ‹ฐแ‰ต แ‹จแŠฅแŠ” pseudocode แŠฅแАแˆ†แก-

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 แŠฅแˆญแŠจแŠ–แ‰ฝ แ‹ˆแ‹ฐ แŠ แˆƒแ‹ณแ‹Š แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แ‰ฐแŠจแแˆแˆแข แˆ˜แ‹ฐแ‰ แŠ›แ‹ แ‹จแŠฅแˆญแˆแŒƒแ‹Žแ‰ฝ แ‰แŒฅแˆญ แˆŽแŒ (N) แАแ‹ (แŠจ N = 8 แฃ log(N) = 3)แข

แ‹ญแˆ…แŠ•แŠ• แŠฅแŠ•แ‹ดแ‰ต แŠ แ‹แ‰ƒแˆˆแˆ?

แŒŽแ‰ แ‹ แАแŠ! แ‰ แŠ แŠ•แ‹ต แ‰ƒแˆ - แˆ‚แˆณแ‰ฅ. แˆ€แˆณแ‰ก แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แŠฅแˆญแˆแŒƒ แ‹จแ‹‹แŠ“แ‹แŠ• แ‹ตแˆญแ‹ตแˆญ แˆ˜แŒ แŠ• แ‰  2 แ‹ญแŠจแแˆ‹แˆ. แ‹จแŠฅแˆญแˆแŒƒแ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ต แ‹‹แŠ“แ‹แŠ• แ‹ตแˆญแ‹ตแˆญ แˆˆแˆแˆˆแ‰ต แˆ˜แŠจแ‹แˆแˆ แ‹จแˆšแ‰ฝแˆ‰แ‰ แ‰ต แŒŠแ‹œ แ‰ฅแ‹›แ‰ต แАแ‹. แ‹ญแˆ… แ‹จแˆŽแŒ‹แˆชแ‹แˆ แ‰ตแŠญแŠญแˆˆแŠ› แแ‰บ แАแ‹ (แ‰คแ‹ 2)แข

แ‹ฐแˆจแŒƒ แˆ˜แ‹ฐแˆญแ‹ฐแˆญ

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แ‰ แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แ‹ฐแˆจแŒƒแฃ แ‰ แŠ แŠ•แ‹ต แАแŒ แˆ‹ (แАแŒ แˆ‹ แŠญแแˆ) แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แ‹ญแŒ€แˆแˆซแˆ‰แข แ‰ แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แŠฅแˆญแˆแŒƒ แ‰ฅแ‹™ แ‹จแˆ›แ‹‹แˆƒแ‹ต แˆตแˆซแ‹Žแ‰ฝแŠ• แ‹ญแ‰ฐแŒˆแ‰ฅแˆซแˆ‰ แŠฅแŠ“ แŠ แŒ แ‰ƒแˆ‹แ‹ญ แ‹ˆแŒช N = 8 แŠญแ‹ˆแŠ“แ‹Žแ‰ฝ แАแ‹:

  • แ‰ แˆ˜แŒ€แˆ˜แˆชแ‹ซ แ‹ฐแˆจแŒƒ แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ณแ‰ธแ‹ 4 แˆตแˆซแ‹Žแ‰ฝแŠ• แ‹จแˆšแŠจแแˆ‰ 2 แ‹แˆ…แ‹ถแ‰ฝ แŠ แˆ‰แ‹Žแ‰ต
  • แ‰ แˆแˆˆแ‰ฐแŠ›แ‹ แ‹ฐแˆจแŒƒ แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ณแ‰ธแ‹ 2 แŠญแ‹‹แŠ”แ‹Žแ‰ฝ แ‹จแˆšแ‹ซแ‹ˆแŒก 4 แ‹แˆ…แ‹ถแ‰ฝ แŠ แˆ‰แ‹Žแ‰ต
  • แ‰ แˆฆแˆตแ‰ฐแŠ›แ‹ แ‹ฐแˆจแŒƒ 1 แŠญแ‹‹แŠ”แ‹Žแ‰ฝ แ‹จแˆšแ‹ซแˆตแŠจแแˆ 8 แ‹แˆ…แ‹ฐแ‰ต แŠ แˆˆแ‹Žแ‰ต

แ‹จแˆแ‹แŒแ‰ฅ แˆ›แˆตแ‰ณแ‹ˆแˆป (N) แ‹ฐแˆจแŒƒแ‹Žแ‰ฝ แˆตแˆ‹แˆ‰แฃ แŒ แ‰…แˆ‹แˆ‹ แ‹ˆแŒช N * log (N) แŠญแ‹ˆแŠ“แ‹Žแ‰ฝ.

แ‹จแˆ›แ‹‹แˆƒแ‹ต แ‹“แ‹ญแАแ‰ถแ‰ฝ แŒฅแ‰…แˆžแ‰ฝ

แ‹ญแˆ… แŠ แˆแŒŽแˆชแ‹แˆ แ‰ แŒฃแˆ แŠƒแ‹ญแˆˆแŠ› แ‹จแˆ†แАแ‹ แˆˆแˆแŠ•แ‹ตแАแ‹?

แˆแŠญแŠ•แ‹ซแ‰ฑแˆแก-

  • แŠ แ‹ฒแˆต แ‹ตแˆญแ‹ตแˆฎแ‰ฝ แŠฅแŠ•แ‹ณแ‹ญแˆแŒฅแˆฉ แАแŒˆแˆญ แŒแŠ• แ‹จแŒแ‰คแ‰ต แ‹ตแˆญแ‹ตแˆญแŠ• แ‰ แ‰€แŒฅแ‰ณ แŠฅแŠ•แ‹ฒแ‰€แ‹ญแˆฉ แ‹จแˆ›แˆตแ‰ณแ‹ˆแˆปแ‹แŠ• แŠ แˆปแˆซ แˆˆแˆ˜แ‰€แАแˆต แˆ˜แ‰€แ‹จแˆญ แ‹ญแ‰ฝแˆ‹แˆ‰แข

แˆ›แˆณแˆฐแ‰ขแ‹ซแก แ‹จแ‹šแˆ… แŠ แ‹ญแАแ‰ต แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แ‹ญแ‰ฃแˆ‹แˆ in-แ‰ฆแ‰ณ (แ‹ซแˆˆ แ‰ฐแŒจแˆ›แˆช แˆ›แˆ…แ‹ฐแˆจ แ‰ตแ‹แˆตแ‰ณ แˆ˜แ‹ฐแˆญแ‹ฐแˆญ).

  • แŒ‰แˆแˆ… แ‹จแˆ†แА แ‹จแ‹ฒแˆตแŠญ I/O แ‰ แˆ‹แ‹ญ แˆณแ‹ซแ‹ฐแˆญแŒ‰ แ‹จแ‹ฒแˆตแŠญ แ‰ฆแ‰ณแŠ• แŠฅแŠ“ แ‰ตแŠ•แˆฝ แˆ›แˆ…แ‹ฐแˆจ แ‰ตแ‹แˆตแ‰ณแŠ• แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แˆˆแˆ˜แŒ แ‰€แˆ แˆ˜แˆˆแ‹ˆแŒฅ แ‹ญแ‰ฝแˆ‹แˆ‰แข แˆƒแˆณแ‰ก แŠ แˆแŠ• แŠฅแ‹จแ‰ฐแˆฐแˆฉ แ‹ซแˆ‰แ‰ตแŠ• แŠญแแˆŽแ‰ฝ แ‰ฅแ‰ป แ‹ˆแ‹ฐ แˆ›แˆ…แ‹ฐแˆจ แ‰ตแ‹แˆตแ‰ณ แˆ˜แŒซแŠ• แАแ‹แข แ‰ฃแˆˆแ‰ฅแ‹™ แŒŠแŒ‹แ‰ฃแ‹ญแ‰ต แˆ แŠ•แŒ แˆจแ‹ฅ แ‰ฃแˆˆ 100 แˆœแŒ‹แ‰ฃแ‹ญแ‰ต แˆ›แˆ…แ‹ฐแˆจ แ‰ตแ‹แˆตแ‰ณ แ‰‹แ‰ต แ‰ฅแ‰ป แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆฒแ‹ซแˆตแˆแˆแŒ แ‹ญแˆ… แŠ แˆตแˆแˆ‹แŒŠ แАแ‹แข

แˆ›แˆณแˆฐแ‰ขแ‹ซแก แ‹จแ‹šแˆ… แŠ แ‹ญแАแ‰ต แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แ‹ญแ‰ฃแˆ‹แˆ แ‹แŒซแ‹Š แ‹“แ‹ญแАแ‰ต.

  • แ‰ แ‰ แˆญแŠซแ‰ณ แˆ‚แ‹ฐแ‰ถแ‰ฝ/แŠญแˆฎแ‰ฝ/แˆฐแˆญแ‰จแˆฎแ‰ฝ แˆ‹แ‹ญ แŠฅแŠ•แ‹ฒแˆฐแˆซ แˆ˜แ‰€แ‹จแˆญ แ‰ตแ‰ฝแˆ‹แˆˆแˆ…แข

แˆˆแˆแˆณแˆŒแฃ แ‹จแ‰ฐแŠจแ‹แˆแˆˆ แ‹จแ‹แˆ…แ‹ฐแ‰ต แŠ แ‹ญแАแ‰ต แŠจแ‹‹แŠ“ แ‹‹แŠ“ แŠ แŠซแˆ‹แ‰ต แŠ แŠ•แ‹ฑ แАแ‹แข Hadoop (แ‹ญแˆ…แˆ แ‰ แ‰ตแˆแ‰… แ‹แˆ‚แ‰ฅ แ‹แˆตแŒฅ แˆ˜แ‹‹แ‰…แˆญ แАแ‹).

  • แ‹ญแˆ… แŠ แˆแŒŽแˆชแ‹แˆ แŠฅแˆญแˆณแˆตแŠ• แ‹ˆแ‹ฐ แ‹ˆแˆญแ‰… (แ‰ แŠฅแˆญแŒแŒฅ!) แˆŠแˆˆแ‹แŒ แ‹ แ‹ญแ‰ฝแˆ‹แˆ.

แ‹ญแˆ… แ‹จแˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆตแˆแ‰ฐ-แ‰€แˆ˜แˆญ แ‰ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น (แˆแˆ‰แˆ แŠซแˆแˆ†แА) แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹Žแ‰ฝ แ‹แˆตแŒฅ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹ญแ‹แˆ‹แˆ, แŒแŠ• แŠฅแˆฑ แ‰ฅแ‰ป แŠ แ‹ญแ‹ฐแˆˆแˆ. แ‹จแ‰ แˆˆแŒ  แˆˆแˆ›แ‹ˆแ‰… แŠจแˆแˆˆแŒ‰ แ‹ญแˆ…แŠ•แŠ• แˆ›แŠ•แ‰ แ‰ฅ แ‹ญแ‰ฝแˆ‹แˆ‰แข แ‹จแˆแˆญแˆแˆญ แˆฅแˆซแ‹จแŒ‹แˆซ แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ต แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝแŠ• แŒฅแ‰…แˆ™แŠ• แŠฅแŠ“ แŒ‰แ‹ณแ‰ฑแŠ• แ‹จแˆšแ‹ซแ‰ฅแˆซแˆซแข

แ‹ตแˆญแ‹ตแˆญ แฃ แ‹จแ‹›แ แŠฅแŠ“ แ‹จแˆƒแˆฝ แŒ แˆจแŒดแ‹›

แŠ แˆแŠ• แ‹จแŒŠแ‹œ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แŠฅแŠ“ แ‹จแˆ˜แ‹ฐแˆญแ‹ฐแˆญ แˆ€แˆณแ‰กแŠ• แŠจแ‰ฐแˆจแ‹ณแŠ•, แˆตแˆˆ 3 แ‹จแ‹แˆ‚แ‰ฅ แŠ แ‹ˆแ‰ƒแ‰€แˆฎแ‰ฝ แˆแАแŒแˆญแ‹Ž แ‹ญแŒˆแ‰ฃแˆ. แ‹ญแˆ… แŠ แˆตแˆแˆ‹แŒŠ แАแ‹ แˆแŠญแŠ•แ‹ซแ‰ฑแˆ แŠฅแАแˆฑ แ‹จแ‹˜แˆ˜แŠ“แ‹Š แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณแ‹Žแ‰ฝ แˆ˜แˆ แˆจแ‰ต แŠ“แ‰ธแ‹. แ…แŠ•แˆฐ-แˆ€แˆณแ‰กแŠ•แˆ แŠ แˆตแ‰ฐแ‹‹แ‹แ‰ƒแˆˆแˆแข แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แˆ˜แˆจแŒƒ แŒ แ‰‹แˆš.

แ‹ตแˆญแ‹ตแˆญ

แ‰ฃแˆˆ แˆแˆˆแ‰ต-แˆแŠฌแ‰ต แ‹ตแˆญแ‹ตแˆญ แ‰€แˆ‹แˆ‰ แ‹จแˆ˜แˆจแŒƒ แˆ˜แ‹‹แ‰…แˆญ แАแ‹แข แŒ แˆจแŒดแ‹› แŠฅแŠ•แ‹ฐ แ‹ตแˆญแ‹ตแˆญ แˆŠแ‰ณแˆฐแ‰ฅ แ‹ญแ‰ฝแˆ‹แˆ. แˆˆแˆแˆณแˆŒ:

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แ‹ญแˆ… แ‰ฃแˆˆ 2-แˆแŠฌแ‰ต แ‹ตแˆญแ‹ตแˆญ แˆจแ‹ตแŽแ‰ฝ แŠฅแŠ“ แŠ แˆแ‹ถแ‰ฝ แ‹ซแˆ‰แ‰ต แŒ แˆจแŒดแ‹› แАแ‹แก-

  • แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แˆ˜แˆตแˆ˜แˆญ แŠ แŠ•แ‹ต แŠ แŠซแˆแŠ• แ‹ญแ‹ˆแŠญแˆ‹แˆ
  • แŠ แˆแ‹ถแ‰ฝ แˆ…แŒ‹แ‹Š แŠ แŠซแˆแŠ• แ‹จแˆšแŒˆแˆแŒน แŠ•แ‰ฅแˆจแ‰ถแ‰ฝแŠ• แ‹ซแŠจแˆ›แ‰ปแˆ‰แข
  • แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แŠ แˆแ‹ต แ‹จแŠ แŠ•แ‹ต แ‹จแ‰ฐแ‹ˆแˆฐแА แŠ แ‹ญแАแ‰ต (แŠขแŠ•แ‰ฒแŒ€แˆญแฃ แˆ•แ‰ฅแˆจแ‰แˆแŠแฃ แ‰€แŠ•...) แ‹แˆ‚แ‰ฅ แ‹ซแŠจแˆ›แ‰ปแˆแข

แ‹ญแˆ… แˆ˜แˆจแŒƒแŠ• แˆˆแˆ›แŠจแˆ›แ‰ธแ‰ต แŠฅแŠ“ แˆˆแˆ˜แˆ˜แˆแŠจแ‰ต แˆแ‰น แАแ‹, แˆ†แŠ–แˆ แŒแŠ•, แ‹จแ‰ฐแ‹ˆแˆฐแА แŠฅแˆดแ‰ต แˆ›แŒแŠ˜แ‰ต แˆฒแˆแˆแŒ‰, แ‹ญแˆ… แ‰ฐแˆตแˆ›แˆš แŠ แ‹ญแ‹ฐแˆˆแˆ.

แˆˆแˆแˆณแˆŒแฃ แ‰ แ‹ฉแŠ“แ‹ญแ‰ตแ‹ต แŠชแŠ•แŒแ‹ฐแˆ แ‹แˆตแŒฅ แ‹จแˆšแˆฐแˆฉแ‰ตแŠ• แˆแˆ‰แŠ•แˆ แ‹ˆแŠ•แ‹ถแ‰ฝ แˆˆแˆ›แŒแŠ˜แ‰ต แŠจแˆแˆˆแŒแŠญแฃ แˆจแ‹ตแ‰ แ‹จแ‹ฉแŠ“แ‹ญแ‰ตแ‹ต แŠชแŠ•แŒแ‹ฐแˆ แˆ˜แˆ†แŠ• แŠ แˆˆแˆ˜แˆ†แŠ‘แŠ• แˆˆแˆ›แ‹ˆแ‰… แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑแŠ• แˆจแ‹ตแ แˆ˜แˆ˜แˆแŠจแ‰ต แ‹ญแŠ–แˆญแ‰ฅแˆƒแˆแข N แŒแ‰ฅแ‹ญแ‰ถแ‰ฝแŠ• แ‹ซแˆตแŠจแแˆแ‹Žแ‰ณแˆแ‹จแ‰ต N - แ‹จแˆ˜แˆตแˆ˜แˆฎแ‰ฝ แ‰ฅแ‹›แ‰ต แฃ แˆ˜แŒฅแŽ แ‹ซแˆแˆ†แА แฃ แŒแŠ• แˆแŒฃแŠ• แˆ˜แŠ•แŒˆแ‹ต แˆŠแŠ–แˆญ แ‹ญแ‰ฝแˆ‹แˆ? แŠจแ‹›แŽแ‰ฝ แŒ‹แˆญ แˆˆแˆ˜แ‰ฐแ‹‹แ‹ˆแ‰… แŒŠแ‹œแ‹ แŠ แˆแŠ• แАแ‹แข

แˆ›แˆณแˆฐแ‰ขแ‹ซแก- แŠ แ‰ฅแ‹›แŠžแ‰น แ‹˜แˆ˜แŠ“แ‹Š แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŒ แˆจแŒดแ‹›แ‹Žแ‰ฝแŠ• แ‰ แ‰ฅแ‰ƒแ‰ต แˆˆแˆ›แŠจแˆ›แ‰ธแ‰ต แ‹จแ‰ฐแˆซแ‹˜แˆ™ แŠ แ‹ฐแˆซแ‹ฐแˆฎแ‰ฝแŠ• แ‹ซแ‰€แˆญแ‰ฃแˆ‰แก แŠญแˆแˆญ แ‹จแ‰ฐแ‹ฐแˆซแŒ แŒ แˆจแŒดแ‹›แ‹Žแ‰ฝ แŠฅแŠ“ แŠขแŠ•แ‹ดแŠญแˆต แ‹จแ‰ฐแ‹ฐแˆซแŒ แŒ แˆจแŒดแ‹›แ‹Žแ‰ฝแข แАแŒˆแˆญ แŒแŠ• แ‹ญแˆ… แ‰ แŠ แˆแ‹ถแ‰ฝ แ‰กแ‹ตแŠ• แ‹แˆตแŒฅ แŠ แŠ•แ‹ต แ‹จแ‰ฐแ‹ˆแˆฐแА แˆแŠ”แ‰ณ แ‰ แแŒฅแАแ‰ต แ‹จแˆ›แŒแŠ˜แ‰ต แ‰ฝแŒแˆญแŠ• แŠ แ‹ญแˆˆแ‹แŒฅแˆ.

แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แ‹›แ แŠฅแŠ“ แˆ˜แˆจแŒƒ แŒ แ‰‹แˆš

แˆแˆˆแ‰ตแ‹ฎแˆฝ แ‹จแแˆˆแŒ‹ แ‹›แ แˆแ‹ฉ แŠ•แ‰ฅแˆจแ‰ต แ‹ซแˆˆแ‹ แˆแˆˆแ‰ตแ‹ฎแˆฝ แ‹›แ แАแ‹แฃ แ‰ แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต แ‹ซแˆˆแ‹ แ‰แˆแ แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ แ‰ตแก-

  • แ‰ แŒแˆซ แŠ•แŠกแˆต แ‹›แ แ‹แˆตแŒฅ แŠจแ‰ฐแ‰€แˆ˜แŒกแ‰ต แ‰แˆแŽแ‰ฝ แˆแˆ‰ แ‹ญแ‰ แˆแŒฃแˆ
  • แ‰ แ‰ตแŠญแŠญแˆˆแŠ›แ‹ แŠ•แ‹‘แˆต แ‹›แ แ‹แˆตแŒฅ แŠจแ‰ฐแ‰€แˆ˜แŒกแ‰ต แˆแˆ‰แˆ แ‰แˆแŽแ‰ฝ แ‹ซแАแˆฐ

แ‹ญแˆ… แ‰ แŠฅแ‹ญแ‰ณ แˆแŠ• แˆ›แˆˆแ‰ต แŠฅแŠ•แ‹ฐแˆ†แА แŠฅแŠ•แ‹ญ

แˆแˆณแ‰ฅ

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 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แฃ แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต แŠ แˆˆแข. แ‰ แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ฑ แ‹แˆตแŒฅ แ‹ซแˆˆแ‹แŠ• แ‹จแˆจแ‹ตแ แˆ˜แ‰ณแ‹ˆแ‰‚แ‹ซ (แ‰ แˆแˆตแˆ‰ แˆ‹แ‹ญ แ‹จแˆ›แ‹ญแ‰ณแ‹ญ) แˆฐแˆญแˆตแˆฌแ‹ซแˆˆแˆ แŠฅแŠ“ แˆˆแ‰ฐแˆฐแŒ แ‹ แˆจแ‹ตแ แˆ˜แ‰ณแ‹ˆแ‰‚แ‹ซ แ‰ แˆฐแŠ•แŒ แˆจแ‹ก แ‹แˆตแŒฅ แŠฅแˆ˜แˆˆแŠจแ‰ณแˆˆแˆแข
  • แ‹จแˆจแ‹ตแ แˆ˜แ‰ณแ‹ˆแ‰‚แ‹ซแ‹แŠ• แˆ›แ‹ˆแ‰„ แ‹แˆ‚แ‰ก แ‰ แˆ แŠ•แŒ แˆจแ‹ก แ‹แˆตแŒฅ แ‹จแ‰ต แŠฅแŠ•แ‹ณแˆˆ แŠฅแŠ•แ‹ณแ‹แ‰… แ‹ซแˆตแ‰ฝแˆˆแŠ›แˆแฃ แˆตแˆˆแ‹šแˆ… แ‹ˆแ‹ฒแ‹ซแ‹แŠ‘ แˆ›แŒแŠ˜แ‰ต แŠฅแ‰ฝแˆ‹แˆˆแˆแข

แ‰ แˆ˜แŒจแˆจแˆปแˆ, แˆแˆˆแ‰ฑแˆ แแˆˆแŒ‹แ‹Žแ‰ฝ แ‰ แ‹›แ‰ แ‹แˆตแŒฅ แ‹ซแˆ‰แ‰ตแŠ• แ‹ฐแˆจแŒƒแ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ต แ‹ซแˆตแŠจแแˆ‰แŠ›แˆ. แˆตแˆˆ แ‹แˆ…แ‹ฐแ‰ต แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แ‹ซแˆˆแ‹แŠ• แŠญแแˆ แ‰ แŒฅแŠ•แ‰ƒแ‰„ แŠซแАแ‰ แ‰กแฃ แ‹จแˆŽแŒ(N) แ‹ฐแˆจแŒƒแ‹Žแ‰ฝ แŠฅแŠ•แ‹ณแˆ‰ แˆ›แ‹จแ‰ต แŠ แˆˆแ‰ฆแ‰ตแข แ‹ญแŒˆแˆˆแŒฃแˆแข แ‹จแแˆˆแŒ‹ แ‹ˆแŒช แˆ˜แ‹แŒˆแ‰ฅ (N), แˆ˜แŒฅแŽ แŠ แ‹ญแ‹ฐแˆˆแˆ!

แ‹ˆแ‹ฐ แ‰ฝแŒแˆซแ‰ฝแŠ• แŠฅแŠ•แˆ˜แˆˆแˆต

แ‹ญแˆ… แŒแŠ• แ‰ แŒฃแˆ แˆจแ‰‚แ‰… แАแ‹แŠ“ แ‹ˆแ‹ฐ แ‰ฝแŒแˆซแ‰ฝแŠ• แŠฅแŠ•แˆ˜แˆˆแˆตแข แŠจแ‰€แˆ‹แˆ แŠขแŠ•แ‰ฒแŒ€แˆญ แ‹ญแˆแ‰…แฃ แ‰ แ‰€แ‹ฐแˆ˜แ‹ แˆ แŠ•แŒ แˆจแ‹ฅ แ‹แˆตแŒฅ แ‹จแŠ แŠ•แ‹ตแŠ• แˆฐแ‹ แˆ€แŒˆแˆญ แ‹จแˆšแ‹ˆแŠญแˆ แˆ•แ‰ฅแˆจแ‰แˆแŠ แŠ แˆตแ‰กแ‰ตแข แ‹จแˆ แŠ•แŒ แˆจแ‹กแŠ• "แˆ€แŒˆแˆญ" แˆ˜แˆตแŠญ (แŠ แˆแ‹ต 3) แ‹จแ‹ซแ‹˜ แ‹›แ แŠ แˆˆแˆ… แŠฅแŠ•แ‰ แˆแข

  • แ‰ แ‹ฉแŠฌ แ‹แˆตแŒฅ แˆ›แŠ• แŠฅแŠ•แ‹ฐแˆšแˆฐแˆซ แˆ›แ‹ˆแ‰… แŠจแˆแˆˆแŒ‰
  • แ‰ณแˆ‹แ‰‹แŠ• แ‰ฅแˆชแ‰ณแŠ•แ‹ซ แ‹จแˆšแ‹ˆแŠญแˆˆแ‹แŠ• แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต แˆˆแˆ›แŒแŠ˜แ‰ต แ‹›แ‰แŠ• แ‰ตแˆ˜แˆˆแŠจแ‰ณแˆˆแˆ…
  • แ‰ "UKnode" แ‹แˆตแŒฅ แ‹จแ‹ฉแŠฌ แ‹จแˆฐแˆซแ‰ฐแŠ› แˆ˜แ‹แŒˆแ‰ฆแ‰ฝ แ‹จแˆšแŒˆแŠ™แ‰ แ‰ตแŠ• แ‰ฆแ‰ณ แ‹ซแŒˆแŠ›แˆ‰แข

แ‹ญแˆ… แแˆˆแŒ‹ แ‹ตแˆญแ‹ตแˆญแŠ• แ‰ แ‰€แŒฅแ‰ณ แŠจแ‰ฐแŒ แ‰€แˆ™ แŠจแŠคแŠ• แŠฆแ•แˆฌแˆฝแŠ–แ‰ฝ แ‹ญแˆแ‰… แˆŽแŒ(N) แˆตแˆซแ‹Žแ‰ฝแŠ• แ‹ซแˆตแŠจแแˆ‹แˆแข แŠ แˆแŠ• แ‹ซแ‰€แˆจแ‰ฅแŠจแ‹ แАแ‹แข แ‹จแ‹แˆ‚แ‰ฅ แŒŽแ‰ณ แˆ˜แˆจแŒƒ แŒ แ‰‹แˆš.

แ‰แˆแŽแ‰ฝแŠ• (แ‹จแˆ˜แˆตแŠญ แ‰กแ‹ตแŠ–แ‰ฝแŠ•) แ‹จแˆ›แ‹ˆแ‹ณแ‹ฐแˆญ แ‰ฐแŒแ‰ฃแˆญ แŠฅแˆตแŠซแˆแ‹Žแ‰ต แ‹ตแˆจแˆต แˆˆแˆ›แŠ•แŠ›แ‹แˆ แ‹จแˆ˜แˆตแŠฎแ‰ฝ แ‰กแ‹ตแŠ• (แˆ•แ‰ฅแˆจแ‰แˆแŠแฃ แ‰แŒฅแˆญแฃ 2 แˆ˜แˆตแˆ˜แˆฎแ‰ฝแฃ แ‰แŒฅแˆญ แŠฅแŠ“ แˆ•แ‰ฅแˆจแ‰แˆแŠแฃ แ‰€แŠ•...) แˆ›แ‹แŒซ แ‹›แ แˆ˜แŒˆแŠ•แ‰ฃแ‰ต แ‹ญแ‰ฝแˆ‹แˆ‰แข แŠจแ‰แˆแŽแ‰น แˆ˜แŠซแŠจแˆ แˆ›แ‹˜แ‹ (แ‹ญแˆ…แˆ แ‰ แˆ˜แˆจแŒƒ แ‰‹แ‰ฑ แ‹แˆตแŒฅ แˆˆแˆ›แŠ•แŠ›แ‹แˆ แˆ˜แˆฐแˆจแ‰ณแ‹Š แ‹“แ‹ญแАแ‰ถแ‰ฝ แАแ‹).

B+TreeIndex

แ‹ญแˆ… แ‹›แ แ‹จแ‰ฐแ‹ˆแˆฐแА แŠฅแˆดแ‰ต แˆˆแˆ›แŒแŠ˜แ‰ต แ‰ แ‹ฐแŠ•แ‰ฅ แ‰ขแˆฐแˆซแˆ, แ‰ แˆšแˆแˆแŒ‰แ‰ แ‰ต แŒŠแ‹œ แ‰ตแˆแ‰… แ‰ฝแŒแˆญ แŠ แˆˆ แ‰ แˆแˆˆแ‰ต แŠฅแˆดแ‰ถแ‰ฝ แˆ˜แŠซแŠจแˆ แ‰ฅแ‹™ แŠ•แŒฅแˆจ แАแŒˆแˆฎแ‰ฝแŠ• แ‹ซแŒแŠ™. แ‹ญแˆ… แ‹‹แŒ‹ O(N) แ‹ซแˆตแŠจแแˆ‹แˆ แˆแŠญแŠ•แ‹ซแ‰ฑแˆ แ‰ แ‹›แ‰ แ‹แˆตแŒฅ แ‹ซแˆˆแ‹แŠ• แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑแŠ• แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต แˆ˜แˆ˜แˆแŠจแ‰ต แŠฅแŠ“ แ‰ แŠฅแАแ‹šแˆ… แˆแˆˆแ‰ต แŠฅแˆดแ‰ถแ‰ฝ แˆ˜แŠซแŠจแˆ แˆ˜แˆ†แŠ‘แŠ• แ‹ซแˆจแŒ‹แŒแŒก (แˆˆแˆแˆณแˆŒ แ‰ แ‰ณแ‹˜แ‹˜ แ‹จแ‹›แ แˆ›แ‰‹แˆจแŒฅ)แข แŠจแ‹šแˆ…แˆ แ‰ แˆ‹แ‹ญ แˆ™แˆ‰แ‹แŠ• แ‹›แ แˆ›แŠ•แ‰ แ‰ฅ แˆตแˆ‹แˆˆแ‰ฅแ‹Žแ‰ต แ‹ญแˆ… แŠญแ‹‹แŠ” แ‹จแ‹ฒแˆตแŠญ I / O แ‰ฐแˆตแˆ›แˆš แŠ แ‹ญแ‹ฐแˆˆแˆ. แ‰ แ‰ฅแ‰ƒแ‰ต แ‹จแˆแŠ•แˆฐแˆซแ‰ แ‰ตแŠ• แˆ˜แŠ•แŒˆแ‹ต แˆ˜แˆแˆˆแŒ แŠ แˆˆแ‰ฅแŠ• แŠญแˆแˆ แŒฅแ‹ซแ‰„. แ‹ญแˆ…แŠ•แŠ• แ‰ฝแŒแˆญ แˆˆแˆ˜แ‰…แˆจแ แ‹˜แˆ˜แŠ“แ‹Š แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แ‹จแ‰ฐแˆปแˆปแˆˆแ‹ แ‹จแ‰€แ‹ตแˆž แ‹›แ แ‰ข+ แ‹›แแŠ• แ‹ญแŒ แ‰€แˆ›แˆ‰แข แ‰  B+ แ‹›แ แ‹แˆตแŒฅ;

  • แ‰ แŒฃแˆ แ‹แ‰…แ‰ฐแŠ› แŠ แŠ•แŒ“แ‹Žแ‰ฝ (แ‰…แŒ แˆŽแ‰ฝ) แ‰ฅแ‰ป แˆ˜แˆจแŒƒแŠ• แˆ›แŠจแˆ›แ‰ธแ‰ต (แ‰ แ‰ฐแ‹›แˆ›แŒ… แˆฐแŠ•แŒ แˆจแ‹ฅ แ‹แˆตแŒฅ แ‹จแˆจแ‹ตแŽแ‰ฝ แ‰ฆแ‰ณ)
  • แ‹จแ‰ฐแ‰€แˆฉแ‰ต แŠ แŠ•แŒ“แ‹Žแ‰ฝ แŠฅแ‹šแˆ… แŠ แˆ‰แข แˆˆแˆ˜แ‹˜แ‹‹แ‹ˆแˆญ แ‹ˆแ‹ฐ แ‰ตแŠญแŠญแˆˆแŠ›แ‹ แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต แ‰ แแˆˆแŒ‹ แ‹ˆแ‰…แ‰ต.

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แŠฅแŠ•แ‹ฐแˆšแˆ˜แˆˆแŠจแ‰ฑแ‰ต, แŠฅแ‹šแˆ… แ‰ฐแŒจแˆ›แˆช แŠ แŠ•แŒ“แ‹Žแ‰ฝ (แˆแˆˆแ‰ต แŒŠแ‹œ) แŠ แˆ‰. แ‰ แŠฅแˆญแŒแŒฅ, แ‰ฐแŒจแˆ›แˆช แŠ แŠ•แŒ“แ‹Žแ‰ฝ, "แ‹จแ‹แˆณแŠ” แŠ แŠ•แŒ“แ‹Žแ‰ฝ" แŠ แˆ‰แ‹Žแ‰ต, แ‹ญแˆ…แˆ แ‰ตแŠญแŠญแˆˆแŠ›แ‹แŠ• แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต (แ‰ แ‰ฐแŒ“แ‹ณแŠ แˆ แŠ•แŒ แˆจแ‹ฅ แ‹แˆตแŒฅ แ‹ซแˆ‰แ‰ตแŠ• แ‹จแˆจแ‹ตแŽแ‰ฝ แ‰ฆแ‰ณ แ‹จแˆšแ‹ซแŠจแˆ›แ‰ฝ) แŠฅแŠ•แ‹ฒแ‹ซแŒˆแŠ™ แ‹ญแˆจแ‹ณแ‹Žแ‰ณแˆ. แŒแŠ• แ‹จแแˆˆแŒ‹แ‹ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต แŠ แˆแŠ•แˆ แŠฆ(แˆŽแŒ(N)) แАแ‹ (แŠ แŠ•แ‹ต แ‰ฐแŒจแˆ›แˆช แ‹ฐแˆจแŒƒ แ‰ฅแ‰ป แАแ‹ แ‹ซแˆˆแ‹)แข แ‰ตแˆแ‰ แˆแ‹ฉแАแ‰ฑ แ‹ญแˆ… แАแ‹แข แ‰ แ‹แ‰…แ‰ฐแŠ› แ‹ฐแˆจแŒƒ แˆ‹แ‹ญ แ‹ซแˆ‰ แŠ แŠ•แŒ“แ‹Žแ‰ฝ แŠจแ‰ฐแ‰ฐแŠชแ‹Žแ‰ปแ‰ธแ‹ แŒ‹แˆญ แ‹จแ‰ฐแŒˆแŠ“แŠ™ แŠ“แ‰ธแ‹.

แ‰ แ‹šแˆ… B+Treeแฃ แ‰ 40 แŠฅแŠ“ 100 แˆ˜แŠซแŠจแˆ แŠฅแˆดแ‰ถแ‰ฝแŠ• แŠฅแ‹จแˆแˆˆแŒ‰ แŠจแˆ†แАแก-

  • แˆแŠญ แŠฅแŠ•แ‹ฐ แ‰€แ‹ตแˆžแ‹ แ‹›แ 40 (แ‹ˆแ‹ญแˆ แŠจ 40 แ‰ แŠ‹แˆ‹ 40 แŠจแˆŒแˆˆแ‹ แ‰ แŒฃแˆ แ‰…แˆญแ‰ฅ แ‹จแˆ†แА แŠฅแˆดแ‰ต) แˆ˜แˆแˆˆแŒ แ‹ซแˆตแˆแˆแŒแ‹Žแ‰ณแˆแข
  • แŠจแ‹šแ‹ซ 40 แŠฅแˆตแŠชแ‹ฐแˆญแˆฑ แ‹ตแˆจแˆต แ‰€แŒฅแ‰ณ แ‹ˆแˆซแˆพแ‰ฝแŠ• แ‰ แˆ˜แŒ แ‰€แˆ 100 แ‹ˆแˆซแˆพแ‰ฝแŠ• แ‹ญแˆฐแ‰ฅแˆตแ‰กแข

M แ‰ฐแ‰ฐแŠชแ‹Žแ‰ฝแŠ• แŠ แŒˆแŠ˜แˆ… แŠฅแŠ•แ‰ แˆ แŠฅแŠ“ แ‹›แ‰ N แŠ–แ‹ถแ‰ฝ แŠ แˆ‰แ‰ตแข แŠ แŠ•แ‹ต แ‹จแ‰ฐแ‹ˆแˆฐแА แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต แˆ˜แˆแˆˆแŒ แˆแŠญ แŠฅแŠ•แ‹ฐ แ‰€แ‹ตแˆžแ‹ แ‹›แ แˆŽแŒ (N) แ‹ซแˆตแŠจแแˆ‹แˆแข แŒแŠ• แ‹ญแˆ…แŠ• แˆ˜แˆตแ‰€แˆˆแŠ› แˆ˜แŠ•แŒˆแ‹ต แŠ แŠ•แ‹ด แŠซแŒˆแŠ™แฃ แ‰ฐแ‰ฐแŠชแ‹Žแ‰ปแ‰ธแ‹แŠ• แ‰ แˆ›แŒฃแ‰€แˆต แ‰  M แ‰ฐแ‰ฐแŠชแ‹Žแ‰ฝ แ‹ซแŒˆแŠ›แˆ‰แข แ‹ญแˆ… แแˆˆแŒ‹ M+log(N) แ‰ฅแ‰ป แ‹ซแˆตแŠจแแˆ‹แˆ แ‰ แ‰€แ‹ตแˆžแ‹ แ‹›แ แˆ‹แ‹ญ แŠจแŠคแŠ• แŠฆแ•แˆฌแˆฝแŠ–แ‰ฝ แŒ‹แˆญ แˆฒแАแƒแ€แˆญ แŠญแ‹‹แŠ”แ‹Žแ‰ฝ. แŠจแ‹šแˆ…แˆ แ‰ แˆ‹แ‹ญ แˆ™แˆ‰แ‹แŠ• แ‹›แ แˆ›แŠ•แ‰ แ‰ฅ แŠ แ‹ญแŒ แ‰ แ‰…แ‰ฅแ‹Žแ‰ตแˆ (M+log(N) nodes แ‰ฅแ‰ป) แ‹ญแˆ… แˆ›แˆˆแ‰ต แ‹จแ‹ฒแˆตแŠญ แŠ แŒ แ‰ƒแ‰€แˆแŠ• แ‹ญแ‰€แŠ•แˆณแˆ แˆ›แˆˆแ‰ต แАแ‹แข M แ‰ตแŠ•แˆฝ แŠจแˆ†แА (แˆˆแˆแˆณแˆŒ 200 แˆจแ‹ตแŽแ‰ฝ) แŠฅแŠ“ N แ‰ตแˆแ‰… แŠจแˆ†แА (1 แˆจแ‹ตแŽแ‰ฝ) แ‰ตแˆแ‰… แˆแ‹ฉแАแ‰ต แ‹ญแŠ–แˆซแˆแข

แŒแŠ• แŠฅแ‹šแˆ… แŠ แ‹ฒแˆต แ‰ฝแŒแˆฎแ‰ฝ แŠ แˆ‰ (แŠฅแŠ•แ‹ฐแŒˆแŠ“!). แ‰ แ‹ณแ‰ณแ‰คแ‹ แ‹แˆตแŒฅ แŠ แŠ•แ‹ต แˆจแ‹ตแ แŠซแŠจแˆ‰ แ‹ˆแ‹ญแˆ แŠจแˆฐแˆจแ‹™ (แŠฅแŠ“ แˆตแˆˆแ‹šแˆ… แ‰ แ‰ฐแ‹›แˆ˜แ‹ฐ B+Tree แŠขแŠ•แ‹ดแŠญแˆต)แก-

  • แ‰  B+Tree แ‹แˆตแŒฅ แ‰ฃแˆ‰แ‰ต แŠ แŠ•แŒ“แ‹Žแ‰ฝ แˆ˜แŠซแŠจแˆ แˆฅแˆญแ‹“แ‰ตแŠ• แˆ˜แŒ แ‰ แ‰… แŠ แˆˆแ‰ฆแ‰ตแฃ แ‹ซแˆˆแ‰ แˆˆแ‹šแ‹ซ แ‰ฃแˆแ‰ฐแ‹ฐแˆจแ‹ฐแˆจ แ‹›แ แ‹แˆตแŒฅ แ‹ซแˆ‰แ‰ตแŠ• แŠ แŠ•แŒ“แ‹Žแ‰ฝ แˆ›แŒแŠ˜แ‰ต แŠ แ‹ญแ‰ฝแˆ‰แˆแข
  • แ‰  B+Tree แ‹แˆตแŒฅ แŠ แАแˆตแ‰ฐแŠ›แ‹แŠ• แ‹จแ‹ฐแˆจแŒƒแ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ต แˆ˜แ‹ซแ‹ แŠ แˆˆแ‰ฆแ‰ตแฃ แ‹ญแˆ… แŠซแˆแˆ†แА แŒแŠ• แ‹จ O(แˆŽแŒ(N)) แ‹จแŒŠแ‹œ แ‹แˆตแ‰ฅแˆตแ‰ฅแАแ‰ต O(N) แ‹ญแˆ†แŠ“แˆแข

แ‰ แˆŒแˆ‹ แŠ แАแŒ‹แŒˆแˆญ, B+Tree แŠฅแˆซแˆฑแŠ• แˆ›แ‹˜แ‹ แŠฅแŠ“ แˆšแ‹›แŠ“แ‹Š แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ แ‰ต. แŠฅแŠ•แ‹ฐ แŠฅแ‹ตแˆ แˆ†แŠ–, แ‹ญแˆ… แ‰ แˆตแˆ›แˆญแ‰ต แˆฐแˆญแ‹ แŠฅแŠ“ แŠฆแ•แˆฌแˆฝแŠ–แ‰ฝ แŠ แˆตแŒˆแ‰ฃ แ‹ญแ‰ปแˆ‹แˆ. แАแŒˆแˆญ แŒแŠ• แ‹ญแˆ… แ‰ แ‹‹แŒ‹ แ‹ญแˆ˜แŒฃแˆแก แ‰  B+ แ‹›แ แ‹‹แŒ‹ O(แˆŽแŒ(N)) แ‹แˆตแŒฅ แˆ›แˆตแŒˆแ‰ฃแ‰ต แŠฅแŠ“ แˆ˜แˆฐแˆจแ‹แข แˆˆแ‹šแˆ…แˆ แАแ‹ แŠ แŠ•แ‹ณแŠ•แ‹ถแ‰ปแ‰ฝแˆ แ‹ซแŠ•แŠ• แ‹จแˆฐแˆ›แ‰ฝแˆแ‰ตแข แ‰ แŒฃแˆ แ‰ฅแ‹™ แŠขแŠ•แ‹ดแŠญแˆถแ‰ฝแŠ• แˆ˜แŒ แ‰€แˆ แŒฅแˆฉ แˆ€แˆณแ‰ฅ แŠ แ‹ญแ‹ฐแˆˆแˆ. แ‰ แŠฅแ‹แАแ‰ตแฃ แ‰ แˆฐแŠ•แŒ แˆจแ‹ฅ แ‹แˆตแŒฅ แ‹จแˆจแ‹ตแ แ‰ แแŒฅแАแ‰ต แˆ›แˆตแŒˆแ‰ฃแ‰ต/แˆ›แ‹˜แˆ˜แŠ•/แˆ˜แˆฐแˆจแ‹ แŠฅแ‹ซแ‹˜แŒˆแˆแŠ• แАแ‹แขแˆแŠญแŠ•แ‹ซแ‰ฑแˆ แ‹ณแ‰ณแ‰คแ‹™ แˆˆแŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แŠขแŠ•แ‹ดแŠญแˆต แ‹แ‹ต แ‹จแˆ†แА แŠฆ(แˆŽแŒ(N)) แŠ แˆ แˆซแˆญ แ‰ แˆ˜แŒ แ‰€แˆ แ‹จแˆ แŠ•แŒ แˆจแ‹กแŠ• แŠขแŠ•แ‹ดแŠญแˆถแ‰ฝ แˆ›แ‹˜แˆ˜แŠ• แ‹ซแˆตแˆแˆแŒˆแ‹‹แˆแข แŠจแ‹šแˆ…แˆ แ‰ แˆ‹แ‹ญ แŠขแŠ•แ‹ดแŠญแˆถแ‰ฝแŠ• แˆ˜แŒจแˆ˜แˆญ แˆˆแ‰ฐแŒจแˆ›แˆช แ‹จแˆฅแˆซ แŒซแŠ“ แˆ›แˆˆแ‰ต แАแ‹ แ‹จแŒแ‰ฅแ‹ญแ‰ต แŠ แˆตแ‰ฐแ‹ณแ‹ณแˆช (แ‰ แŒฝแˆแ‰ แˆ˜แŒจแˆจแˆป แˆ‹แ‹ญ แ‹ญแŒˆแˆˆแŒปแˆ).

แˆˆแ‰ แˆˆแŒ  แ‹แˆญแ‹แˆญ แ‹จแ‹ŠแŠชแ”แ‹ฒแ‹ซ แˆ˜แŒฃแŒฅแ แˆ›แ‹จแ‰ต แ‰ตแ‰ฝแˆ‹แˆˆแˆ… B+แ‹›แ. แ‰ แˆ˜แˆจแŒƒ แ‰‹แ‰ต แ‹แˆตแŒฅ B+TreeแŠ• แ‹จแˆ˜แ‰ฐแŒแ‰ แˆญ แˆแˆณแˆŒ แŠจแˆแˆˆแŒ‰ แ‹ญแˆ˜แˆแŠจแ‰ฑ แ‹ญแˆ… แ‹“แˆแ‹ต ะธ แ‹ญแˆ… แ‹“แˆแ‹ต แŠจแ‹‹แŠ“ MySQL แŒˆแŠ•แ‰ข. แˆแˆˆแ‰ฑแˆ แ‰ตแŠฉแˆจแ‰ณแ‰ธแ‹ InnoDB (แ‹จ MySQL แˆžแ‰ฐแˆญ) แŠขแŠ•แ‹ดแŠญแˆถแ‰ฝแŠ• แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแ‹ญแ‹ แˆ‹แ‹ญ แАแ‹แข

แˆ›แˆตแ‰ณแ‹ˆแˆปแก แŠ แŠ•แ‹ต แŠ แŠ•แ‰ฃแ‰ข แ‰ แ‹แ‰…แ‰ฐแŠ› แ‹ฐแˆจแŒƒ แˆ›แˆ˜แ‰ปแ‰ธแ‰ต แˆแŠญแŠ•แ‹ซแ‰ต แ‹จ B+ แ‹›แ‰ แˆ™แˆ‰ แ‰ แˆ™แˆ‰ แˆšแ‹›แŠ“แ‹Š แˆ˜แˆ†แŠ• แŠฅแŠ•แ‹ณแˆˆแ‰ แ‰ต แАแŒแˆฎแŠ›แˆแข

Hashtable

แ‹จแŠฅแŠ› แ‹จแˆ˜แŒจแˆจแˆปแ‹ แŠ แˆตแˆแˆ‹แŒŠ แ‹จแ‹แˆ‚แ‰ฅ แˆ˜แ‹‹แ‰…แˆญ แ‹จแˆƒแˆฝ แˆฐแŠ•แŒ แˆจแ‹ฅ แАแ‹. แŠฅแˆดแ‰ถแ‰ฝแŠ• แ‰ แแŒฅแАแ‰ต แˆ˜แˆแˆˆแŒ แˆฒแˆแˆแŒ‰ แ‹ญแˆ… แ‰ แŒฃแˆ แŒ แ‰ƒแˆš แАแ‹แข แ‰ แ‰ฐแŒจแˆ›แˆชแˆแฃ แ‹จแˆƒแˆฝ แˆ แŠ•แŒ แˆจแ‹ฅแŠ• แˆ˜แˆจแ‹ณแ‰ณแ‰ฝแŠ• แˆ€แˆฝ แˆ˜แ‰€แˆ‹แ‰€แˆ (แˆ€แˆฝ แˆ˜แ‰€แˆ‹แ‰€แˆ) แ‹จแˆšแ‰ฃแˆ แ‹จแŒ‹แˆซ แ‹ณแ‰ณแ‰คแ‹ แˆ˜แ‰€แˆ‹แ‰€แˆ แˆตแˆซแŠ• แ‰ แŠ‹แˆ‹ แŠฅแŠ•แ‹ตแŠ•แˆจแ‹ณ แ‹ญแˆจแ‹ณแŠ“แˆแข hash แˆ˜แ‰€แˆ‹แ‰€แˆ). แ‹ญแˆ… แ‹จแ‹แˆ‚แ‰ฅ แˆ˜แ‹‹แ‰…แˆญ แŠ แŠ•แ‹ณแŠ•แ‹ต แ‹แˆตแŒฃแ‹Š แАแŒˆแˆฎแ‰ฝแŠ• แˆˆแˆ›แŠจแˆ›แ‰ธแ‰ต แ‰ แˆ˜แˆจแŒƒ แ‰‹แ‰ฑ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹ญแ‹แˆ‹แˆ (แˆˆแˆแˆณแˆŒแฆ แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แŒ แˆจแŒดแ‹› แ‹ˆแ‹ญแˆ แ‰‹แ‰ต แŒˆแŠ•แ‹ณ, แˆแˆˆแ‰ฑแŠ•แˆ แŠฅแАแ‹šแˆ…แŠ• แŒฝแŠ•แˆฐ-แˆแˆณแ‰ฆแ‰ฝ แ‰ แŠ‹แˆ‹ แˆ‹แ‹ญ แŠฅแŠ•แˆ˜แˆˆแŠจแ‰ณแˆˆแŠ•).

แˆƒแˆฝ แˆ แŠ•แŒ แˆจแ‹ฅ แŠ แŠ•แ‹ตแŠ• แŠ•แŒฅแˆจ แАแŒˆแˆญ แ‰ แ‰แˆแ แ‰ แแŒฅแАแ‰ต แ‹จแˆšแ‹ซแŒˆแŠ แ‹จแ‹แˆ‚แ‰ฅ แˆ˜แ‹‹แ‰…แˆญ แАแ‹แข แ‹จแˆƒแˆฝ แŒ แˆจแŒดแ‹›แŠ• แˆˆแˆ˜แŒˆแŠ•แ‰ฃแ‰ต แ‹จแˆšแŠจแ‰ฐแˆ‰แ‰ตแŠ• แˆ˜แŒแˆˆแ… แ‹ซแˆตแˆแˆแŒแ‹Žแ‰ณแˆ

  • แแŠ•แŒญ แˆˆแŠฅแˆญแˆตแ‹Ž แŠ•แŒฅแˆจ แАแŒˆแˆฎแ‰ฝ
  • แ‹จแˆƒแˆฝ แ‰ฐแŒแ‰ฃแˆญ แˆˆแ‰แˆแ. แ‹จแ‰ฐแˆฐแˆ‹แ‹ แ‰แˆแ hashes แ‹จแŠ•แŒฅแˆจ แАแŒˆแˆฎแ‰ฝ แˆ˜แŒˆแŠ› แ‰ฆแ‰ณ แ‹ญแˆฐแŒฃแˆ‰ (แ‹ญแ‰ฃแˆ‹แˆ‰ แŠญแแˆŽแ‰ฝ ).
  • แ‰แˆแŽแ‰ฝแŠ• แˆˆแˆ›แАแƒแ€แˆญ แ‰ฐแŒแ‰ฃแˆญ. แ‰ตแŠญแŠญแˆˆแŠ›แ‹แŠ• แŠญแแˆ แŠซแŒˆแŠ™ แ‰ แŠ‹แˆ‹, แ‹ญแˆ…แŠ•แŠ• แŠ•แ…แ…แˆญ แ‰ แˆ˜แŒ แ‰€แˆ แ‹จแˆšแˆแˆแŒ‰แ‰ตแŠ• แŠ แŠซแˆ แ‰ แŠญแแˆ แ‹แˆตแŒฅ แˆ›แŒแŠ˜แ‰ต แŠ แˆˆแ‰ฅแ‹Žแ‰ต.

แ‰€แˆ‹แˆ แˆแˆณแˆŒ

แŠ แŠ•แ‹ต แŒแˆแŒฝ แˆแˆณแˆŒ แŠฅแŠ•แ‹แˆฐแ‹ตแก-

แ‰ฐแ‹›แˆ›แŒ… แ‹จแˆ˜แˆจแŒƒ แ‰‹แ‰ถแ‰ฝ แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแˆ แˆฉ (แŠญแแˆ 1)

แ‹ญแˆ… แ‹จแˆƒแˆฝ แŒ แˆจแŒดแ‹› 10 แŠญแแˆŽแ‰ฝ แŠ แˆ‰แ‰ตแข แˆฐแАแ แˆตแˆˆแˆ†แŠ•แŠฉ 5 แŠญแแˆŽแ‰ฝแŠ• แ‰ฅแ‰ป แАแ‹ แ‹จแˆณแˆแŠฉแ‰ต แАแŒˆแˆญแŒแŠ• แ‰ฅแˆแˆ… แˆ˜แˆ†แŠ•แˆ…แŠ• แˆตแˆˆแˆ›แ‹แ‰… แˆŒแˆ‹แ‹แŠ• 5 แ‰ แˆซแˆตแˆ… แŠฅแŠ•แ‹ตแ‰ตแˆณแˆ แŠฅแˆแ‰…แ‹ณแˆˆแˆแข แŠฅแŠ” แŠ แŠ•แ‹ต hash แ‰ฐแŒแ‰ฃแˆญ modulo แ‰ฐแŒ แ‰€แˆแˆ 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 แˆ˜แˆตแˆ˜แˆญ แŠฅแŠ“ แ‰€แŠ• (แˆˆแˆแˆณแˆŒ - แ‹จแŠ แ‹ซแ‰ต แˆตแˆ, แ‹จแˆ˜แŒ€แˆ˜แˆชแ‹ซ แˆตแˆ แŠฅแŠ“ แ‹จแ‰ตแ‹แˆแ‹ต แ‰€แŠ•)
  • ...

แ‰ แŒฅแˆฉ แ‹จแˆƒแˆฝ แ‰ฐแŒแ‰ฃแˆญแฃ แ‹จแˆƒแˆฝ แˆ แŠ•แŒ แˆจแ‹ฅ แแˆˆแŒ‹ แ‹‹แŒ‹ แŠฆ(1).

แ‹ตแˆญแ‹ตแˆญ vs แˆƒแˆฝ แŒ แˆจแŒดแ‹›

แˆˆแˆแŠ• แ‹ตแˆญแ‹ตแˆญ แŠ แ‰ตแŒ แ‰€แˆแˆ?

แˆ† แŒฅแˆฉ แŒฅแ‹ซแ‰„แข

  • แ‹จแˆƒแˆฝ แŒ แˆจแŒดแ‹›แ‹ แˆŠแˆ†แŠ• แ‹ญแ‰ฝแˆ‹แˆ แ‰ แŠจแŠแˆ แ‹ˆแ‹ฐ แˆ›แˆ…แ‹ฐแˆจ แ‰ตแ‹แˆตแ‰ณ แ‰ฐแŒญแŠ—แˆ, แŠฅแŠ“ แ‹จแ‰ฐแ‰€แˆฉแ‰ต แŠญแแˆŽแ‰ฝ แ‰ แ‹ฒแˆตแŠญ แˆ‹แ‹ญ แˆŠแ‰†แ‹ฉ แ‹ญแ‰ฝแˆ‹แˆ‰.
  • แŠจแ‹ตแˆญแ‹ตแˆญ แŒ‹แˆญ แ‰ แˆ›แˆ…แ‹ฐแˆจ แ‰ตแ‹แˆตแ‰ณ แ‹แˆตแŒฅ แ‰ฐแˆ‹แˆ‹แŠ แ‰ฆแ‰ณแŠ• แˆ˜แŒ แ‰€แˆ แŠ แˆˆแ‰ฅแ‹Žแ‰ตแข แ‰ตแˆแ‰… แŒ แˆจแŒดแ‹› แŠฅแ‹จแŒซแŠ‘ แŠจแˆ†แА แ‰ แ‰‚ แ‰€แŒฃแ‹ญแАแ‰ต แ‹ซแˆˆแ‹ แ‰ฆแ‰ณ แˆ›แŒแŠ˜แ‰ต แ‰ แŒฃแˆ แŠ แˆตแ‰ธแŒ‹แˆช แАแ‹.
  • แˆˆแˆƒแˆฝ แˆ แŠ•แŒ แˆจแ‹ฅแฃ แ‹จแˆšแˆแˆแŒ‰แ‰ตแŠ• แ‰แˆแ (แˆˆแˆแˆณแˆŒ แ‹จแˆ€แŒˆแˆญ แŠฅแŠ“ แ‹จแˆฐแ‹ แˆตแˆ) แˆ˜แˆแˆจแŒฅ แ‹ญแ‰ฝแˆ‹แˆ‰แข

แˆˆแ‰ แˆˆแŒ  แˆ˜แˆจแŒƒ แˆตแˆˆ แŒฝแˆ‘แ‰ แˆ›แŠ•แ‰ แ‰ฅ แ‹ญแ‰ฝแˆ‹แˆ‰แข แŒƒแ‰ซแˆƒแˆฝ แˆ›แ•แ‹จแˆƒแˆฝ แˆ แŠ•แŒ แˆจแ‹ฅ แ‰€แˆแŒฃแ‹ แŠ แ‰ฐแŒˆแ‰ฃแ‰ แˆญ; แ‰ แ‹šแˆ… แŒฝแˆ‘แ แ‹แˆตแŒฅ แ‹จแ‰ฐแŠซแ‰ฐแ‰ฑแ‰ตแŠ• แŒฝแŠ•แˆฐ-แˆแˆณแ‰ฆแ‰ฝ แˆˆแˆ˜แˆจแ‹ณแ‰ต แŒƒแ‰ซแŠ• แˆ˜แˆจแ‹ณแ‰ต แŠ แ‹ซแˆตแˆแˆแŒแ‹Žแ‰ตแˆ.

แˆแŠ•แŒญ: hab.com

แ‰ DDoS แŒฅแ‰ แ‰ƒแฃ VPS VDS แŠ แŒˆแˆแŒ‹แ‹ฎแ‰ฝ แˆˆแŒฃแ‰ขแ‹ซแ‹Žแ‰ฝ แŠ แˆตแ‰ฐแˆ›แˆ›แŠ แˆ›แˆตแ‰ฐแŠ“แŒˆแŒƒ แ‹ญแŒแ‹™ ๐Ÿ”ฅ แŠ แˆตแ‰ฐแˆ›แˆ›แŠ แ‹จแ‹ตแˆญ แŒฃแ‰ขแ‹ซ แˆ›แˆตแ‰ฐแŠ“แŒˆแŒƒ แ‰ แ‹ฒแ‹ถแŠคแˆต แŒฅแ‰ แ‰ƒแฃ แ‰ แ‰ชแ’แŠคแˆต แ‰ชแ‹ฒแŠคแˆต แŠ แŒˆแˆแŒ‹แ‹ฎแ‰ฝ แ‹ญแŒแ‹™ | ProHoster