๐Ÿ”
ๆญก่ฟŽไพ†ๅˆฐๆœๅฐ‹ๆผ”็ฎ—ๆณ•
ๅ…ˆๅฎŒๆˆ 3 ๅ€‹ๅฐไปปๅ‹™๏ผŒๅปบ็ซ‹ๅŸบ็คŽๆ„Ÿ่ฆบ๏ผ
้€ฒๅบฆ
๐Ÿค” ้–‹ๅง‹ไน‹ๅ‰๏ผŒ่ชช่ชชไฝ ็š„็›ด่ฆบ
ๆกŒไธŠๆ•ฃ่‘— 1000 ๅผตๅก็‰‡๏ผŒ่€ๅธซๅ–Šๅ‡บไธ€ๅ€‹ๆ•ธๅญ—๏ผŒไฝ ๆœƒๆ€Ž้บผๆ‰พๅˆฐๅฎƒ๏ผŸ
๐Ÿ‘† ๅ…ˆ่ชช่ชชไฝ ็š„็›ด่ฆบโ€”โ€”้ธไธ€ๅ€‹็ญ”ๆกˆๅพŒ๏ผŒไธ‹ๆ–นๆ•™ๅญธๅ…งๅฎนๆ‰ๆœƒ่งฃ้Ž–

ๆƒณๅƒๆ›ธๆžถไธŠ 1024 ๆœฌๆ›ธๆŒ‰้ †ๅบๆŽ’ๅฅฝใ€‚ไฝ ๆฏๆฌกใ€Œ็ฟปๅˆฐไธญ้–“ใ€็œ‹็œ‹๏ผŒไธๅฐๅฐฑไธŸๆމไธ€ๅŠใ€‚
ๅพž 1024 ้–‹ๅง‹็ ๅŠ๏ผš1024 โ†’ 512 โ†’ 256 โ†’ 128 โ†’ 64 โ†’ 32 โ†’ 16 โ†’ 8 โ†’ 4 โ†’ 2 โ†’ 1
๏ผˆ็ŒœๅฎŒๆŒ‰ไธ‹ๆ–นใ€ŒBinary Sort ้–‹ๅง‹ใ€ๅฐฑๆœƒ้ฉ—่ญ‰โ€”โ€”ๆ็คบ๏ผš็ฎ—็ฎ—็œ‹็ ๅนพๆฌกๅˆฐ 1๏ผ‰

๐ŸŽฏ ๆˆ‘็Œœ ๆฌกๆฏ”่ผƒ

ๅƒๅœจๆŠฝๅฑœ่ฃกๆ‰พไธ€ๅผต็™ผ็ฅจ๏ผšไธ€ๅผตไธ€ๅผต็ฟป๏ผŒ็ฟปๅˆฐ็‚บๆญขใ€‚ ่ณ‡ๆ–™ไธ็”จๅ…ˆๆŽ’ๅฅฝ๏ผŒไฝ†ๅนณๅ‡่ฆๆฏ”ไธ€ๅŠ็š„ๆฌกๆ•ธ๏ผŒๆœ€ๅฃž่ฆๆฏ”ๅ…จ้ƒจใ€‚

็ฏ„ไพ‹ โ†’
๏ผˆๆŒ‰ไธ‹ใ€Œ้–‹ๅง‹ใ€ๆœƒๅพžๅทฆๅˆฐๅณ้€ๅ€‹ๆฏ”ๅฐ๏ผ‰
ๅ‹•็•ซ้€Ÿๅบฆ ไธญ้€Ÿ
ๆฏ”่ผƒๆฌกๆ•ธ
0
็›ฎๅ‰ไฝ็ฝฎ
โ€”
็ตๆžœ
โ€”
โ† ้ธ็ฏ„ไพ‹ / ่ผธๅ…ฅ็›ฎๆจ™ / ๆŒ‰ใ€ŒLinear Search ้–‹ๅง‹ใ€๏ผŒ็œ‹ๆฏไธ€ๆ ผ่ขซๆชขๆŸฅ็š„้Ž็จ‹

ๅƒๆŸฅๅœ‹่ชžๅญ—ๅ…ธ๏ผš็ฟปๅˆฐไธญ้–“๏ผŒๆฏ”ๅคงๅฐ๏ผŒไธŸๆމๆฒ’็”จ็š„้‚ฃไธ€ๅŠใ€‚ ๅ‰ๆ๏ผš่ณ‡ๆ–™ๅฟ…้ ˆๅ…ˆๆŽ’ๅฅฝใ€‚ ๆฏๆฏ”ไธ€ๆฌกๅฐฑ็ ๆމไธ€ๅŠ็š„ๅฏ่ƒฝ๏ผŒ1024 ๅ€‹่ณ‡ๆ–™ๆœ€ๅคšๅช่ฆ 10 ๆฌก๏ผ

็ฏ„ไพ‹ โ†’
๏ผˆ่ณ‡ๆ–™ๅทฒๆŽ’ๅฅฝ๏ผŒๅพžไธญ้–“้–‹ๅง‹ๅˆ‡๏ผ‰
ๅ‹•็•ซ้€Ÿๅบฆ ไธญ้€Ÿ
ๆฏ”่ผƒๆฌกๆ•ธ
0
ๆœๅฐ‹็ฏ„ๅœ
โ€”
็ตๆžœ
โ€”
low โ€” mid โ€” high โ€”
โ† ๆณจๆ„่ณ‡ๆ–™ๅฟ…้ ˆๅ…ˆๆŽ’ๅฅฝ๏ผ›ๆŒ‰ใ€ŒBinary Search ้–‹ๅง‹ใ€็œ‹็ ๅŠ้Ž็จ‹
๐Ÿ‘€ Linear Search
  • ่ณ‡ๆ–™ไธ็”จๆŽ’ๅฅฝ
  • ๅพž็ฌฌไธ€ๅ€‹้–‹ๅง‹้€ๅ€‹ๆฏ”
  • ๆ‰พๅˆฐๅฐฑๅœ๏ผŒๆ‰พไธๅˆฐๆฏ”ๅˆฐๅบ•
  • ๆœ€ๅฃž O(n)๏ผŒๅนณๅ‡ O(n/2)
โœ‚๏ธ Binary Search
  • ่ณ‡ๆ–™ๅฟ…้ ˆๅ…ˆๆŽ’ๅฅฝ
  • ๆฏๆฌกๅพžใ€Œไธญ้–“ใ€้–‹ๅง‹ๆฏ”
  • ๆฏ”็›ฎๆจ™ๅคงๅฐฑๅพ€ๅทฆใ€ๅฐๅฐฑๅพ€ๅณ
  • ๆœ€ๅฃž O(log n)๏ผŒ่ถ…ๅฟซ
A4 ๅญธ็ฟ’ๅๆ€ ๅพŒ่จญ่ช็Ÿฅ็ทด็ฟ’
็œ‹ๅฎŒๅ…ฉ็จฎๆœๅฐ‹็š„ๅ‹•็•ซ๏ผŒไฝ ่ƒฝ็”จ่‡ชๅทฑ็š„่ฉฑ่ชชๅ‡บ Binary Search ็‚บไป€้บผ้€™้บผๅฟซๅ—Ž๏ผŸ

ไธ‹่กจๆ˜ฏใ€Œๆœ€ๅฃžๆƒ…ๆณไธ‹่ฆๆฏ”่ผƒๅนพๆฌกใ€ใ€‚่ฉฆ่‘—็”จๆ‰‹ๆŒ‡ๆฏ”ๆฏ” Linear ่ˆ‡ Binary ็š„ๅทฎ่ท๏ผš

่ณ‡ๆ–™้‡ n Linear๏ผˆๆœ€ๅฃž๏ผ‰ Binary๏ผˆๆœ€ๅฃž๏ผ‰ ๅทฎๅนพๅ€
101042.5ร—
100100714ร—
1,0001,00010100ร—
1,000,0001,000,0002050,000ร—
10 ๅ„„10 ๅ„„303300 ่ฌๅ€

๐Ÿ’ก Binary ็š„ๆฌกๆ•ธ็ด„็ญ‰ๆ–ผ logโ‚‚(n)โ€”โ€”n ๅคšๅคง๏ผŒ็ ๅนพๆฌกๅฐฑ่ƒฝ็ ๅˆฐ 1ใ€‚

Linear ้‚„ๆ˜ฏๆœ‰็”จ็š„ๆ™‚ๅ€™
  • ่ณ‡ๆ–™้‚„ๆฒ’ๆŽ’ๅฅฝ๏ผˆๆŽ’ๅฅฝๆˆๆœฌๅฏ่ƒฝ O(n log n)๏ผŒๅ่€Œๆ›ด่ฒด๏ผ‰
  • ่ณ‡ๆ–™้‡ๅพˆๅฐ๏ผˆ10 ๅ€‹ไปฅไธ‹๏ผŒๅทฎไธๅคšๅฟซ๏ผ‰
  • ๆ˜ฏ้ˆ็ตไธฒๅˆ—๏ผˆ็„กๆณ• O(1) ่ทณๅˆฐไธญ้–“๏ผ‰
  • ่ฆๆ‰พๆ‰€ๆœ‰็ฌฆๅˆ็š„๏ผŒไธๆ˜ฏๅชๆ‰พไธ€ๅ€‹
Binary ็š„้šฑ่—ๆˆๆœฌ
  • ่ณ‡ๆ–™ๅฟ…้ ˆๅทฒๆŽ’ๅบโ€”โ€”่‹ฅ้‚„ๆฒ’ๆŽ’๏ผŒ่ฆๅ…ˆไป˜ๅ‡บๆŽ’ๅบๆˆๆœฌ
  • ่ฆ่ƒฝO(1) ่ทณๅˆฐไธญ้–“๏ผˆArray ๅฏไปฅ๏ผŒLinked List ไธ่กŒ๏ผ‰
  • ๆ’ๅ…ฅ๏ผๅˆช้™คๆ™‚่ฆ็ถญๆŒๆŽ’ๅบ๏ผŒๆฏ”่ผƒ่ฒด
  • ๅฏฆไฝœๅฐๅฟƒ้‚Š็•Œ๏ผˆlow <= high ้‚„ๆ˜ฏ <๏ผŸ๏ผ‰
B3 ๅญธ็ฟ’ๅๆ€ ๅพŒ่จญ่ช็Ÿฅ็ทด็ฟ’
็œ‹ๅฎŒๆฏ”่ผƒ๏ผŒไฝ ่ƒฝ่ชชๅ‡บไธ€ๅ€‹ๆƒ…ๅขƒ๏ผŒLinear ๅ่€Œๆฏ” Binary ้ฉๅˆๅ—Ž๏ผŸ
๐Ÿ“ฅ ็ฟป LINE ๅฐ่ฉฑ ๆ‰พไธ€ๅฅ่ฉฑ

ๆฒ’ๆœ‰็ดขๅผ•ใ€่ฆ้€ๅ‰‡ๅพ€ไธŠๆป‘โ€”โ€”้€™ๅฐฑๆ˜ฏ Linear Searchใ€‚

๐Ÿ“– ๆŸฅๅœ‹่ชžๅญ—ๅ…ธๆ‰พใ€Œ้ดจใ€

ๅญ—ๅ…ธๅทฒๆŒ‰้ƒจ้ฆ–๏ผๆณจ้ŸณๆŽ’ๅฅฝโ€”โ€”็ฟปๅˆฐไธญ้–“ใ€ๆฏ”ๅคงๅฐใ€ไธŸไธ€ๅŠ๏ผŒ้€™ๅฐฑๆ˜ฏ Binary Searchใ€‚

๐Ÿ‘• ๅœจๆŠฝๅฑœ่ฃกๆ‰พไธ€ไปถ่กฃๆœ

่กฃๆœๆฒ’ๅˆ†้กžๅฐฑๆ˜ฏ Linear๏ผ›ๅˆ†้ก่‰ฒ๏ผๅญฃ็ฏ€ๆ•ด็†้Žๅฐฑ่ƒฝ็”จ Binary ๆ€่ทฏๅฟซ้€Ÿ็ธฎๅฐ็ฏ„ๅœใ€‚

๐ŸŽฏ ็Œœๆ•ธๅญ—้Šๆˆฒ 1~100

ๆฏๆฌก็Œœไธญ้–“ โ†’ ๅฐๆ–น่ชชใ€Œๅคงไบ†๏ผๅฐไบ†ใ€ โ†’ ็ ไธ€ๅŠใ€‚ๆœ€ๅคš 7 ๆฌกๅฟ…ไธญโ€”โ€”Binary ็š„็ฒพ็ฅžใ€‚

๐Ÿ›’ ๆ‰พๆžถไธŠๆœ‰ๆฒ’ๆœ‰ใ€Œ้ฎฎไนณๅŠใ€

่ถ…ๅธ‚ๆžถไธŠๅ“้ …ๆฒ’ๆœ‰ๅฏ้ ๆธฌ้ †ๅบ๏ผŒๅช่ƒฝไธ€ๆ ผไธ€ๆ ผๆŽƒโ€”โ€”Linearใ€‚

๐Ÿ“ž ๆŸฅ็ด™ๆœฌ้›ป่ฉฑ็ฐฟ

ๆŒ‰ๅง“ๆฐ็ญ†็•ซๆŽ’ๅฅฝโ€”โ€”็›ดๆŽฅ็ฟปๅˆฐไธญ้–“ๆ‰พโ€”โ€”Binary ็š„็ถ“ๅ…ธๆ‡‰็”จใ€‚

C2 ๅญธ็ฟ’ๅๆ€ ๅพŒ่จญ่ช็Ÿฅ็ทด็ฟ’
ไฝ ่ƒฝๅ†ๆƒณๅˆฐไธ€ๅ€‹็”Ÿๆดปๆƒ…ๅขƒ๏ผŒๆ˜Ž้กฏๆ˜ฏใ€ŒLinearใ€ๆˆ–ใ€ŒBinaryใ€ๅ—Ž๏ผŸ

้ปžๅทฆ้‚Šๆƒ…ๅขƒๅ†้ปžๅณ้‚Š็ญ–็•ฅ๏ผŒ็œ‹็œ‹ไฝ ่ƒฝ้…ๅฐๅนพ็ต„ๆญฃ็ขบ๏ผ

้€ฒๅบฆ๏ผš0 / 5

ๆƒ…ๅขƒ

้ฉๅˆ็š„็ญ–็•ฅ

D2 ๅญธ็ฟ’ๅๆ€ ๅพŒ่จญ่ช็Ÿฅ็ทด็ฟ’
้€ฃ้€ฃ็œ‹ๅฎŒๆˆๅพŒ๏ผŒไฝ ๅˆคๆ–ทใ€Œ่ฉฒ็”จๅ“ช็จฎๆœๅฐ‹ใ€็š„้—œ้ตๅ•้กŒๆ˜ฏไป€้บผ๏ผŸ