자료구조
- 선형검색
- 이진검색
오늘 공부 요약짤...🥲

nums = [4, 10, 22, 5, 0, 17, 7, 11, 9, 61, 88]
nums.sort()
print(f'nums : {nums}')
print(f'nums length: {len(nums)}')
userEnter = int(input('찾는 숫자 입력 : '))
searchResultIdx = -1
staIdx = 0
endIdx = len(nums) -1
midIdx = (staIdx + endIdx) //2
midVal = nums[midIdx]
while userEnter <= nums[len(nums)-1] and userEnter >= nums[0] :
if userEnter > midVal :
staIdx = midIdx
midIdx = (staIdx + endIdx) // 2
midVal = nums[midIdx]
print(f'midIdx : {midIdx}')
print(f'midVal : {midVal}')
elif userEnter < midVal :
endIdx = midIdx
midIdx = (staIdx + endIdx) // 2
midVal = nums[midIdx]
print(f'midIdx : {midIdx}')
print(f'midVal : {midVal}')
elif userEnter == midVal :
searchResultIdx = midIdx
break
print(f'searchResultIdx : {searchResultIdx}')
⭐
- searchResultIdx = -1 : 없는 인덱스 값으로 세팅
- 찾는 값이 데이터 범위 밖에 있으면 안되기에 위와 같이 while 조건식 입력
