πŸ’¬ SOFTWARE 002

Dong_JuneΒ·2022λ…„ 2μ›” 3일
0

CS

λͺ©λ‘ 보기
12/16
post-thumbnail

019 μ„ ν˜• μ•Œκ³ λ¦¬μ¦˜ [O(N)O(N)]


λ°˜μ—μ„œ κ°€μž₯ ν‚€ 큰 μ‚¬λžŒμ€ λˆ„κ΅¬?

  • μ²˜μŒλΆ€ν„° λκΉŒμ§€ 일일이 μ‘°μ‚¬ν•˜λ©΄μ„œ 기얡도 해야함 πŸ˜…

  • 자료 ꡬ쑰(Data Structure)

    • 계산 κ³Όμ •μ—μ„œ ν•„μš”ν•œ 정보λ₯Ό ν‘œν˜„ν•˜λŠ” 방법

    • λ§Žμ€ μ•Œκ³ λ¦¬μ¦˜μ—μ„œ μ€‘μš”ν•˜κ²Œ κ³ λ €ν•΄μ•Ό ν•  사항

  • μ•Œκ³ λ¦¬μ¦˜κ³Ό μ»΄ν“¨ν„°λŠ” λͺ¨λ“  κ°€λŠ₯ν•œ 상황을 μ²˜λ¦¬ν•΄μ•Ό 함 (μ‹œμž‘μ„ μ•ˆν•˜κ±°λ‚˜, μ–΄λ–€ 수λ₯Ό 0으둜 λ‚˜λˆ„κ±°λ‚˜ λ“±μ˜ μ˜ˆμ™Έμ μΈ 상황 처리 εΏ…)

  • μ•Œκ³ λ¦¬μ¦˜μ—μ„œ μ€‘μš”ν•œ νŠΉμ„± ν•˜λ‚˜λŠ” μ–Όλ§ˆλ‚˜ 효율적으둜 μž‘λ™ν•˜λŠλƒμž„

  • νš¨μœ¨μ„± : 'μ•Œκ³ λ¦¬μ¦˜μ΄ λΉ λ₯Έκ°€, λŠλ¦°κ°€?', '주어진 μ–‘μ˜ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” 데 μ‹œκ°„μ΄ μ–Όλ§ˆλ‚˜ 걸릴 κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜λŠ”κ°€?'와 같은 μ§ˆλ¬Έμ— λŒ€ν•œ λ‹΅

  • μ„ ν˜• μ‹œκ°„(Linear-Time, μ„ ν˜•(Linear))

    • 계산 μ‹œκ°„μ΄ λ°μ΄ν„°μ˜ 양에 μ •λΉ„λ‘€ν•˜κ±°λ‚˜ μ„ ν˜•μ μœΌλ‘œ λΉ„λ‘€ν•  λ•Œ

    • μΌμƒμƒν™œμ—μ„œ μ ‘ν•˜λŠ” λ§Žμ€ μ•Œκ³ λ¦¬μ¦˜λ“€μ΄ λŒ€λΆ€λΆ„ μ„ ν˜•

    • λ§Žμ€ μ„ ν˜• μ•Œκ³ λ¦¬μ¦˜μ΄ λ™μΌν•œ κΈ°λ³Έ ν˜•νƒœλ₯Ό 가짐

      • μ΄ˆκΈ°ν™” / μ°¨λ‘€λ‘œ 검사 / κ°„λ‹¨ν•œ 계산 μˆ˜ν–‰ / μž‘μ—…μ„ 끝냄(좜λ ₯ λ“±)

020 이진 검색 [O(logN)O(logN)]


10μ–΅κ°œμ˜ μ „ν™”λ²ˆν˜Έμ—μ„œ λ‚΄ 이름 μ°ΎκΈ°!

  • μ „ν™”λ²ˆν˜ΈλΆ€μ—μ„œ 이름을 μ°ΎλŠ” 방법 (μ •λ ¬ λ˜μ–΄ 있음)

    • 쀑간을 펼치고 μ•žμͺ½/λ’€μͺ½μΈμ§€ νŒŒμ•…ν•œ ν›„, κ³„μ†ν•΄μ„œ κ·Έ λ•Œμ˜ 쀑간을 νŽΌμ³λ΄„
  • 이진 검색(Binary Search)

    • 각 확인 λ˜λŠ” 비ꡐ 단계λ₯Ό κ±°μΉ˜λ©΄μ„œ ν•­λͺ©λ“€μ΄ 두 그룹으둜 λ‚˜λ‰˜κ³ , 그쀑 ν•œμͺ½ 그룹은 λ‹€μŒ κ³ λ € λŒ€μƒμ—μ„œ μ œμ™Έλ  수 있음

    • λΆ„ν•  정볡(Divide and Conquer)μ΄λΌλŠ” 일반적인 μ „λž΅μ˜ ν•œκ°€μ§€ 예

    • μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” 일의 양이 λ°μ΄ν„°μ˜ 양이 μ¦κ°€ν•˜λŠ” 것에 λΉ„ν•΄ 천천히 증가함

    • 슀포츠 경기에 자주 μ‚¬μš©λ˜λŠ” 단계별 ν† λ„ˆλ¨ΌνŠΈκ°€ 이에 ν•΄λ‹Ή


profile
πŸ‘€ 개린이

0개의 λŒ“κΈ€