[자료구조와 알고리즘] #4

2022. 9. 20. 23:22스파르타코딩클럽[AI트랙 3기]/자료구조와 알고리즘

2-6 링크드 리스트 문제

 

2-7 이진탐색

이진탐색과 순차탐색 비교

1)이진탐색

01할때의 이진, 업다운게임 반으로 나누기

2)

 

2-8 재귀함수 - 1

재귀:자기자신을 참조, 나를 계속 호출하는 것. 코드를 간결하고 명확하게 만들어줌.

재귀함수를 쓰기전에 항상 탈출조건을 신경 써줌.

 

2-9 재귀함수 2

1)팩토리얼 함수로 만들기

def fact(n):

return n*fact(n-1)

근데 이렇게 하면 무한루프돌거나 에러뜸. 그래서 조건을 넣어주는데

def fact(n):

if n == 1:

return 1 #n1일 때 반환을 1로 함.

return n*fact(n-1)

2)회문 탐색

축소 시키는 것을 확인

슬라이싱 이용 string[1:-1]

def is_pal(string):

if len(string) <= 1:

return True

 

if string[0] != stringp[-1]:

return False

 

return is_pal(string[1:-1])

 

2-10 & 숙제설명

1)링크드 리스트 끝에서 k번째 값 출력

 

2)배달의 민족 배달가능 여부