쌓아 올리는 형태의 데이터로서 pop으로 마즈막 것을 빼넬수도 있다
### Pop 만들기
def pop():
if len(s) ==0:
return
else:
return s.pop(-1)
### 피보나치 수열
def fibo(n):
if n < 2:
return n
else:
return fibo(n-1) + fibo(n-2)
### 메모이제이션
def gibo1(n):
global memo
if n >= 2 and len(memo) <= n :
memo.append(fibo1(n-1) + fibo1(n-2))
return memo[n]
memo = [0, 1]
### DP(동적 계획법)
visited[], stack[] ##초기화
DFS(v)
v 방문;
visited[v] <-true;
do {
if (v의 인접 정점 중 방문 안한 w 찾기)
push(v);
while(w){
w 방문;
visited[w] <-true;
push(w);
v <-w;
v의 인접 정점 중 방문 안 한 w 찾기
}
v<-pop(stack);
}while(v)
end DFS()
### DFS( 깊이 우선 탐색 )
'+++++SW 일일 공부+++++ > SW Expert Aademy' 카테고리의 다른 글
SW 계산방법 (0) | 2020.04.19 |
---|---|
트리구조의 모든 집합 구하기 시프트 활용 (0) | 2020.04.09 |
객체지향 (0) | 2020.02.11 |
파이썬 문자열에 대하여 (0) | 2020.02.07 |
Python Dict() (0) | 2020.02.02 |