파이썬 알고리즘

    2. 이진탐색트리 순회

    2. 이진탐색트리 순회

    깊이우선탐색(DFS) 1.전위순회 import sys sys.stdin=open("input.txt", "r") def DFS(v): if v >7: return else: print(v, end=" ") #전위순회 DFS(v*2) #왼쪽 자식 호출 DFS(v*2+1) #오른쪽 자식호출 if __name__== "__main__": #스크립트실행시 가장 먼저 실행 DFS(1) 전위순회 함수 자신의 일(ex출력)을 처리한 다음에 자식노드를 호출하는 경우를 의미한다 2. 중위순회 import sys sys.stdin=open("input.txt", "r") def DFS(v): if v >7: return else: DFS(v*2) #왼쪽 자식 호출 print(v, end=" ") #중위순회 DFS(v*2+..

    1.재귀함수를 이용한 이진수 출력

    재귀함수를 이용한 이진수 출력 10진수 N이 입력되면 2진수로 변환하여 출력하는 프로그램을 작성하세요. 단 재귀함수를 이용 해서 출력해야 합니다. ▣ 입력설명 첫 번째 줄에 10진수 N(1

    [선수지식] 재귀함수와 스택(Stack)

    [선수지식] 재귀함수와 스택(Stack)

    1. CASE 1 #재귀함수와 스텍 import sys sys.stdin=open("input.txt", "r") def DFS(x): if x>0: DFS(x-1) print(x, end=' ') if __name__== "__main__": #스크립트실행시 가장 먼저 실행 n =int(input()) DFS(n) 2. 출력결과 1 2 3 3. 출력결과 1 2 3 인 이유 4. 보충설명 재귀함수의 경우 자기자신을 호출하는 함수를 말하는데, 재귀함수가 일단 호출되면, 재귀함수 아래에 있는 코드는 신경 안쓰고, 재귀함수 자신부터 처리한다. 그리고 호출했던 함수가 하나씩 종료되면서, 아래에 있던 코드를 처리한다. 최종적으로는 1 2 3을 출력하게 된다. 1. CASE 2 #재귀함수와 스텍 import sys..

    10. 최소힙

    최소힙 최소힙은 완전이진트리로 구현된 자료구조입니다. 그 구성은 부모 노드값이 왼쪽자식과 오른 쪽 자식노드의 값보다 작게 트리를 구성하는 것입니다. 그렇게 하면 트리의 루트(root)노드는 입력된 값들 중 가장 작은 값이 저장되어 있습니다. 예를 들어 5 3 2 1 4 6 7순으로 입력되 면 최소힙 트리는 아래와 같이 구성됩니다. 1 2 3 5 4 6 7 최소힙 자료를 이용하여 다음과 같은 연산을 하는 프로그램을 작성하세요. 1) 자연수가 입력되면 최소힙에 입력한다. 2) 숫자 0 이 입력되면 최소힙에서 최솟값을 꺼내어 출력한다. (출력할 자료가 없으면 -1를 출력한다.) 3) -1이 입력되면 프로그램 종료한다. ▣ 입력설명 첫 번째 줄부터 숫자가 입력된다. 입력되는 숫자는 100,000개 이하이며 각 ..