jungle [Today I Learned 07] 1. 트리 순회 1. 이진 검색 트리란? 부모 노드에 왼쪽과 오른쪽 자식 노드를 가지는 트리이다. 즉, 부모 노드는 자식 노드를 두 개만 갖는 트리를 말한다. 전위 순회는 Root-Left-Right 순으로 순회한다. 중위 순회는 Left-Root-Right 순으로 순회한다. 후위 순회는 Left-Right-Root 순으로 순회한다. 위와 같은 이진 트리가 있을 때 전위 순회는 루트, 왼쪽, 오른쪽 즉, 3... jungleTILTIL [SW사관학교정글] WEEK01 개발일지 - Ⅴ 수학 순열이란 몇 개를 골라 순서를 고려해 나열한 경우의 수를 말한다. 즉, 서로 다른 n개 중 r개를 골라 순서를 정해 나열하는 가짓수이며 순열이라는 의미의 영어 ‘Permutation’의 첫 글자 P를 따서 nPr로 표시한다. 순열은 순서를 고려하기 때문에 [A, B, C]의 리스트에서 2개의 원소를 골라 순서를 정해 나열하면 [(A, B), (A, C), (B, A), (B, C), (... jungle수학개발일지정글jungle [Today I Learned 07] 2. 백준(#2263) 트리 순회에 대해 공부하던 도중 중위 순회와 후위 순회의 값을 주고 전위 순회로 바꾸는 문제를 마주 했다. 트리 순회에 대해서 다 이해했다고 생각했는데 막상 문제를 마주하니깐 어떻게 풀어야 될지 감이 잡히지 않았다. 그래서 답을 보고 이해한 대로 작성해보려고 한다. 문제 n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포... jungleTILTIL [SW사관학교정글] WEEK01 개발일지 - Ⅱ 재귀함수 즉, 함수 정의 내에 같은 이름의함수가 올 때 이를 재귀함수라 한다. 재귀함수 사용 시 반드시 탈출 조건이 있어야 stack overflow를 방지할 수 있다. 재귀함수의 호출 및 리턴 과정 모든 함수는 호출되면 메모리에 새로운 공간을 확보해서 매번 전혀 다른 공간에서 작업이 진행된다. 소스 코드에서는 같은 공간처럼 보이지만 실제 실행되는 코드는 전혀 다른 공간에서 이뤄진다 main... jungle재귀함수개발일지정글jungle [SW사관학교정글] WEEK01 개발일지 - Ⅲ 정렬 버블 정렬 따라서 버블 정렬은 O(N^2)의 복잡도를 갖는 정렬 알고리즘이다. 선택 정렬 선택 정렬은 정렬되어 있지 않은 데이터 중 가장 작은 데이터를 선택하여 맨 앞부터 순서대로 정렬해 나아가는 알고리즘이다. 선택 정렬은 루프문을 통해 모든 인덱스에 접근해야 하기 때문에 기본적으로 O(N) 시간을 소모하며, 최소값을 찾으면 현재 인덱스와 최소값을 서로 swap해야 하기 떄문에 O(N)... jungle정렬개발일지정글jungle [정글 3일차] - 미니 프로젝트 이미지 업로드 flask 이미지 업로드 gridfs를 이용해서 해보려고 했으나 쉽지 않았다. 기존 방식대로 이미지 url을 입력받아서 하는 걸로 했다! 원래대로라면 이미지 서버를 따로 두고 써야 하는 것 같다. 그런데 그게 잘 되지 않음..ㅜ -> 네이버 지도 크롤링 iframe을 크롤링해줘야 했음! 이때 selenium을 사용했어야 해서 포기. -> gridFS로 이미지 url을 서버에 올... junglejungle
[Today I Learned 07] 1. 트리 순회 1. 이진 검색 트리란? 부모 노드에 왼쪽과 오른쪽 자식 노드를 가지는 트리이다. 즉, 부모 노드는 자식 노드를 두 개만 갖는 트리를 말한다. 전위 순회는 Root-Left-Right 순으로 순회한다. 중위 순회는 Left-Root-Right 순으로 순회한다. 후위 순회는 Left-Right-Root 순으로 순회한다. 위와 같은 이진 트리가 있을 때 전위 순회는 루트, 왼쪽, 오른쪽 즉, 3... jungleTILTIL [SW사관학교정글] WEEK01 개발일지 - Ⅴ 수학 순열이란 몇 개를 골라 순서를 고려해 나열한 경우의 수를 말한다. 즉, 서로 다른 n개 중 r개를 골라 순서를 정해 나열하는 가짓수이며 순열이라는 의미의 영어 ‘Permutation’의 첫 글자 P를 따서 nPr로 표시한다. 순열은 순서를 고려하기 때문에 [A, B, C]의 리스트에서 2개의 원소를 골라 순서를 정해 나열하면 [(A, B), (A, C), (B, A), (B, C), (... jungle수학개발일지정글jungle [Today I Learned 07] 2. 백준(#2263) 트리 순회에 대해 공부하던 도중 중위 순회와 후위 순회의 값을 주고 전위 순회로 바꾸는 문제를 마주 했다. 트리 순회에 대해서 다 이해했다고 생각했는데 막상 문제를 마주하니깐 어떻게 풀어야 될지 감이 잡히지 않았다. 그래서 답을 보고 이해한 대로 작성해보려고 한다. 문제 n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포... jungleTILTIL [SW사관학교정글] WEEK01 개발일지 - Ⅱ 재귀함수 즉, 함수 정의 내에 같은 이름의함수가 올 때 이를 재귀함수라 한다. 재귀함수 사용 시 반드시 탈출 조건이 있어야 stack overflow를 방지할 수 있다. 재귀함수의 호출 및 리턴 과정 모든 함수는 호출되면 메모리에 새로운 공간을 확보해서 매번 전혀 다른 공간에서 작업이 진행된다. 소스 코드에서는 같은 공간처럼 보이지만 실제 실행되는 코드는 전혀 다른 공간에서 이뤄진다 main... jungle재귀함수개발일지정글jungle [SW사관학교정글] WEEK01 개발일지 - Ⅲ 정렬 버블 정렬 따라서 버블 정렬은 O(N^2)의 복잡도를 갖는 정렬 알고리즘이다. 선택 정렬 선택 정렬은 정렬되어 있지 않은 데이터 중 가장 작은 데이터를 선택하여 맨 앞부터 순서대로 정렬해 나아가는 알고리즘이다. 선택 정렬은 루프문을 통해 모든 인덱스에 접근해야 하기 때문에 기본적으로 O(N) 시간을 소모하며, 최소값을 찾으면 현재 인덱스와 최소값을 서로 swap해야 하기 떄문에 O(N)... jungle정렬개발일지정글jungle [정글 3일차] - 미니 프로젝트 이미지 업로드 flask 이미지 업로드 gridfs를 이용해서 해보려고 했으나 쉽지 않았다. 기존 방식대로 이미지 url을 입력받아서 하는 걸로 했다! 원래대로라면 이미지 서버를 따로 두고 써야 하는 것 같다. 그런데 그게 잘 되지 않음..ㅜ -> 네이버 지도 크롤링 iframe을 크롤링해줘야 했음! 이때 selenium을 사용했어야 해서 포기. -> gridFS로 이미지 url을 서버에 올... junglejungle