알고리즘(이진 탐색, 재귀 함수)

allnight5·2022년 11월 9일
0

알고리즘

목록 보기
3/8

이진탐색
최솟값 최대값 중간값이 필요하며
최솟값이 최대값보다 크거나 같을때까지 반복시키고 검색후 최솟값 변경시 중간값도 다시 변경해줘야한다
중간값 = (최솟값 +최대값)/2
Python경우 /두개를 사용시 소수점은 버리고 정수값만 가지고 온다
중간값 = (최솟값 +최대값)//2
시간복잡도는r= logN이다 N/2^r이런식으로 갈수록 분모가 늘어나면 로그형태의 시간복잡도이다
이진탐색은 탐색은 빠르나 내림차순이나 오름차순으로 정렬되어 있어야하고 숫자만 되거나 문자를 숫자형태로 의미 부여 저장하여 찾는방법도 있습니다

재귀함수
리턴 순서는 1 ->2->3->4->5으로 스택형태의 저장을 한다

def factorial(n):
if n == 1:
print(n, "\n")
return 1
return n*factorial(n-1)

profile
공부기록하기

0개의 댓글