2024. 1. 24. 21:47γCS - Roadmap.sh/3. Common Algorithms
CS - 3. Common Algorithms - 3.3. Search - 3.3.1 Linear Search
π‘ Linear search is a very simple algorithm that is used to search for a value in an array. It sequentially checks each element of the array until a match is found or until all the elements have been searched.
μ ν κ²μμ λ°°μ΄μμ κ°μ κ²μνλ λ° μ¬μ©λλ λ§€μ° κ°λ¨ν μκ³ λ¦¬μ¦μ λλ€. μΌμΉνλ νλͺ©μ΄ λ°κ²¬λκ±°λ λͺ¨λ μμκ° κ²μλ λκΉμ§ λ°°μ΄μ κ° μμλ₯Ό μμ°¨μ μΌλ‘ νμΈν©λλ€.
μ ν νμ(Linear Search)μ κ°μ₯ κΈ°λ³Έμ μΈ νμ μκ³ λ¦¬μ¦ μ λλ€.
리μ€νΈλ₯Ό μ²μλΆν° λκΉμ§ μμ°¨μ μΌλ‘ νμνλ©΄μ κ°μ μ°Ύλ λ°©μμΌλ‘ λμν©λλ€.
κ°λ¨ν λ§ν΄, 리μ€νΈμ μ²μλΆν° λ§μ§λ§κΉμ§ μμλλ‘ μνλ κ°μ μ°Ύμ λκ°μ§ νμΈνλ λ°©λ²μ λλ€.
In Python
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i # μνλ κ°μ΄ 리μ€νΈμμ λ°κ²¬λλ©΄ μΈλ±μ€.
return -1 # μνλ κ°μ΄ 리μ€νΈμ μ‘΄μ¬νμ§ μμ κ²½μ° -1.
μμ μ½λμμ arrλ νμν 리μ€νΈ, targetμ μ°Ύκ³ μ νλ κ° μ λλ€.
forλ°λ³΅λ¬Έμμ len(arr) λ‘ arrμ μμ κ°μ λ§νΌ νμν©λλ€.
νμ ν λλ§λ€ arr[i] == targetμΌλ‘ λ§λμ§ μ‘°μ¬ν©λλ€.
ꡬ체μ μΈ νμ©μμλ
νμλ€μ μ±μ μ λ΄κ³ μλ 리μ€νΈμμ νΉμ νμμ μ±μ μ μ°Ύλ λ¬Έμ λ₯Ό μμλ‘ λ€κ² μ΅λλ€.
νμ μ΄λ¦μ μ λ ₯λ°μ 리μ€νΈλ₯Ό μμ°¨μ μΌλ‘ νμ, ν΄λΉ νμμ μ±μ μ μ°Ύμ μ μμ΅λλ€.
νμ κ³Όμ μμ νμμ μ΄λ¦μ λΉκ΅νλ©° μΌμΉνλ μ΄λ¦μ μ°Ύκ³ , μμΌλ©΄ μ‘΄μ¬ νμ§ μμμ μ립λλ€.
Linear Searchλ μ λ ¬λμ§ μμ 리μ€νΈμμ νΉμ κ°μ μ°Ύμ λ μ μ©νκ² μ¬μ©λ μ μμ΅λλ€.
λ€λ§ 리μ€νΈμ ν¬κΈ°κ° λ§€μ° ν¬κ±°λ, νμν νμκ° λ§λ€λ©΄ μκ°μ΄ μ€λ 걸립λλ€.
μ΄λλ λ€λ₯Έ νμ μκ³ λ¦¬μ¦μ κ³ λ €ν΄λ΄ μλ€.
'CS - Roadmap.sh > 3. Common Algorithms' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
3.4. Cache - 3.4.2 LFU Cache (2) | 2024.01.26 |
---|---|
3.4. Cache - 3.4.1 LRU Cache (2) | 2024.01.25 |
3.3. Search - 3.3.1 Binary Search (0) | 2024.01.23 |
3.2. Recursion - 3.2.2 Non-Tail Recursion (0) | 2024.01.22 |
3.2. Recursion - 3.2.1 Tail Recursion (0) | 2024.01.21 |