๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT

[๋ฐ์ดํ„ฐ ๊ตฌ์กฐ] ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

by ๐Ÿ’ฒ๐ŸŽตโœ–๏ธโœ”๏ธโ˜ผ 2022. 11. 3.
728x90

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ: ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ

๊ฐœ์š”

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋Š” ์ •๋ณด๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—๋Š” ๋ฐฐ์—ด, ํŒŒ์ผ, ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ์Šคํƒ, ํ, ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

์˜ˆ์ œ ์ฝ”๋“œ: ๋ฐฐ์—ด

linear_array = [1, 2, 3, 4, 5]

์„ค๋ช…:

  • linear_array๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅ๋œ ๋ฐฐ์—ด๋กœ, ๊ฐ ์š”์†Œ๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

์˜ˆ์ œ ์ฝ”๋“œ: ๋‹ค์ฐจ์› ๋ฐฐ์—ด

multidimensional_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

์„ค๋ช…:

  • multidimensional_array๋Š” 2์ฐจ์› ๋ฐฐ์—ด๋กœ, ๊ฐ ํ•ญ๋ชฉ์€ ํ–‰๊ณผ ์—ด์„ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜: ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„๋ณ„ ์ง€์‹œ์‚ฌํ•ญ์ด๋ฉฐ, ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„ ํšจ์œจ์„ฑ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ๋ฒ„๋ธ” ์†ŒํŠธ

์˜ˆ์ œ ์ฝ”๋“œ

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]

# ์‚ฌ์šฉ ์˜ˆ์ œ
unsorted_array = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(unsorted_array)
print("Sorted Array:", unsorted_array)

์„ค๋ช…:

  • bubble_sort ํ•จ์ˆ˜๋Š” ๋ฒ„๋ธ” ์†ŒํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ ๊ฒƒ์œผ๋กœ, ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์ด์ง„ ํƒ์ƒ‰

์˜ˆ์ œ ์ฝ”๋“œ

def binary_search(arr, target):
    low, high = 0, len(arr) - 1
    while low <= high:
        mid = (low + high) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1
    return -1

# ์‚ฌ์šฉ ์˜ˆ์ œ
sorted_array = [11, 22, 25, 34, 64, 90]
target_value = 25
result = binary_search(sorted_array, target_value)
print(f"Index of {target_value}: {result}")

์„ค๋ช…:

  • binary_search ํ•จ์ˆ˜๋Š” ์ด์ง„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ ๊ฒƒ์œผ๋กœ, ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ ์›ํ•˜๋Š” ๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€