이것이 코딩테스트다 with 파이썬 - Chp5. DFS/BFS_1. 꼭 필요한 자료구조 기초

Alex·2022년 3월 22일
0

이코테 with 파이썬

목록 보기
14/33

1. 꼭 필요한 자료구조 기초

  • 탐색 : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정
    -> 대표적인 탐색알고리즘으로 DFS, BFS
  • 자료구조 : 데이터를 표현하고 관리하고 처리하기 위한 구조
    -> 스택과 큐가 자료구조의 기초 개념

1) 스택

  • 박스쌓기에 비유 가능. 선입후출구조 혹은 후입선출구조로 생각.
  • 파이썬에선 스택을 이용할 때에는 별도의 라이브러리를 사용할 필요 X
    -> 기본 리스트에서 append()와 pop()매서드 사용(가장 뒤쪽에 데이터 삽입 & 삭제)

2) 큐

  • 대기줄에 비유 가능. 선입선출구조
  • 파이썬으로 큐를 구현할 땐 collections 모듈에서 제공하는 deque자료구조 활용
    -> deque는 스택과 큐의 장점을 모두 채택한 것인데 데이터를 넣고 빼는 속도가 리스트 자료형에 비해 효율적이며 queue 라이브러리를 이용하는 것보다 더 간단.
    -> deque객체를 리스트 자료형으로 변경하고자 한다면 list()매서드 활용

3) 재귀함수

  • Recursive Function. 자기자신을 다시 호출하는 함수
  • 재귀함수 종료조건은 재귀 함수 초반에 등장하는 if문.
def recursive_function(i):
	#100번째 출력했을 때 종료되도록 종료 조건 명시
    if i == 100:
    	return
    print(i, '번째 재귀 함수에서', i + 1, '번째 재귀 함수를 호출합니다.')
    recursive_function(i+1)
    print(i, '번째 재귀 함수를 종료합니다.')
    
recursive_function(1)
profile
With Data or Without Data?

0개의 댓글

관련 채용 정보