본문 바로가기
반응형

회고록24

👩🏼‍💻TIL : 12. 다이나믹 프로그래밍 00. 다이나믹 프로그래밍이란? 동적계획법이라고도 부른다. 01. 일반적인 프로그래밍 분야에서의 동적이란 어떤의미일까? - 자료구조에서 동적 할당은 '프로그램이 실행되는 도중에 실행에 필요한 메모리를 할당하는 기법' - 반면에 다이나믹 프로그래밍에서 다이나믹은 별다른 의미 없이 사용된 단어 02. 다이나믹 프로그래밍의 조건 (1) 최적 부분구조 (Optimal Substructure) - 큰 문제를 작은 문제로 나눌 수 있으며 작은 문제의 답을 모아서 큰 문제를 해결할 수 있다. - 분할정복과 다른점 : 전의 값이 재사용 전의 값을 계산한것을 다시 쓰는게 아니ㅏ 각 각 판별하고, DP (2) 중복되는 부분문제 (Overlapping Subproblem) - 동일한 작은문제를 반복적으로 해결해야할 때 2022. 10. 14.
[회고] 05. WEEK03 회고 00. 너 잘하고 있어? 1. 알고리즘 WEEK03이 끝나고 반성할 점 WEEK02와 WEEK03이 끝나고 WEEK01과 다른 느낌을 받았다. 1주차에는 내가 악바리로 하면 풀리는 문제들이였다. 문제를 붙잡고 돌려보고 안되면 다른거 해보고 그렇게 1주차가 끝나고 2주차, 3주차에 들어선 나는 큰 벽을 만난 느낌이다. 사람이 실패의 연속을 마주치다보니 나의 말들은 모두 부정적인 언어들이였고, '나 이거 못풀꺼야'를 전제로 문제를 포기한 채로 보고 있었다. 어느 순간 나를 되돌아봤을 때, 류석영 교수님이 해주신 말이 떠올랐다. 못한다고 깨지는것을 무서워하면 안된다. 안되면 계속 깨지고 깨져야하는데 깨지는게 무섭다고 혼자 웅크리고 있으면 성장할 수 없다. 내가 이렇게 웅크러들때쯤(벌써..) 주변에서 많은 도움.. 2022. 10. 14.
👩🏼‍💻TIL : 11. 🎄🎄트리🎄🎄 00. 트리? ① 데이터가 상/하 관계 또는 계층적 관계를 저장할 수 있는 자료구조 ② 컴퓨터 과학의 다양한 문제를 해결할 수 있음(정렬 / 압축) ③ 여러 추상 자료형을 구현 할 수 있음 01. 트리 용어 ① root노드(뿌리 노드) : 트리의 시작 노드, 뿌리가 되는 노드를 말한다. ② 부모 노드 : 특정 노드의 직속 상위 노드 ③ 자식 노드 : 특정 노드의 직속 하위 노드 ④ 형제 노드 : 같은 부모를 갖는 노드 ⑤ leaf 노드 : 잎 / 말단 노드 트리의 끝에 있다고 해서 root과 반대되는 표현 leaf라고 불린다. 01. 이진트리 : 이진 트리란 각 노드가 최대 2개의 노드를가질 수 있는 트리이다. (1) 완전 이진 트리가 가지는 성질 ① 마지막 레벨 - 1 까지는 노드들로 가득 차 있다. .. 2022. 10. 9.
👩🏼‍💻TIL : 10. 시간복잡도(Time Complexity) 00. 시간복잡도란? 어떤 알고리즘이 빠른지 어떻게 판단할 수 있을까? 각 알고리즘을 돌려서 해볼 수도 있지만, 그렇게 되면 외부적(컴퓨터 사양 등) 다양한 외부환경의 영향을 받는다. 시간복잡도는 데이터가 많아질수록 걸리는 시간이 얼마나 급격히 증가하는가를 나타내는 개념이다. 아래 표와 같은 경우 첫번째 알고리즘보다 두번째 알고리즘이 시간복잡도가 더 크다 라고 할 수 있다. 알고리즘A 알고리즘 10개 10초 10초 20개 20초 40초 100개 100초 10000초 (시간 복잡도가 작다) (시간 복잡도가 크다) 01. 점근 표기법(Big-O Notation) 점근 표기법에서 n은 인풋 크기를 나타낼 때 가장 흔히 사용되는 문자일 뿐 별다른 의미는 없다. 인풋 리스트의 크기를 x라고 부르기로 하면O(lg .. 2022. 10. 8.
반응형