본문 바로가기

개발일지/임시카테고리689

소프트웨어 개발 - 트리의 차수(degree)와 단말 노드(terminal node) #1 트리의 차수(degree) 전체의 노드 중에서 "하나의 노드"가 보유하고 있는 최대 "자식 노드"의 수 이를테면 위의 사진을 봤을때 "한개의 노드"가 다중 자식 노드를 내포하고 있는 경우는 3개다. 1. A가 B와 C를 가짐 2. C가 E와 F를 가짐 3. E가 G와 H를 가짐 하지만 "한개의 노드"가 최대로 보유하고 있는 자식 노드의 갯수는 3 케이스 모두 2개다. 따라서 "트리의 차수"는 2가 된다. #2 단말 노드(terminal node) 단말 노드는 "더 이상의 자식 노드는 없는 노드"를 의미한다. 즉, 가장 어린 노드라고 생각하면 된다. #1의 스크린샷을 봤을때 하나라도 자식 노드가 없는 노드는 D, G, H, F 이렇게 4개가 된다. 즉, 단말 노드의 갯수는 4개가 된다. 2023. 1. 15.
소프트웨어 개발 - 순회 # 소프트웨어 개발 - 순회 순회에 대한 개념은 디테일하게는 이해하지 못했다. 그럼에도 신기한 패턴이 있어서 간략한 개요와 함께 포스팅 하려고 한다. #0 개요 우선 D, L, R은 각각 현재노드, 왼쪽, 오른쪽 을 의미한다. (D의 영어적 의미를 찾고 싶은데 찾지 못했다. ㅠㅠ) #1 전위 순회 (preorder traversal) D - L - R 시작은 가장 모체가 되는 “루트 노드”로 시작하여 가장 왼쪽의 노드부터 오른쪽 으로 긁어 오듯이 진행된다. #2 중위 순회 (inorder traversal) L - D - R 시작은 가장 왼쪽의 자식 노드부터 시작하여 왼쪽 자식노드 - 부모노드 - 오른쪽 자식 노드 이런식으로 반복된다. #3 후위 순회 (postorder traversal) L - R -.. 2023. 1. 15.
강의가 안들렸던 이유 시간이 갈수록 강의를 들어도 잘 이해가 안 되었었다. 가장 근래에는 인프런의 이진석강사님도, 해커스 정보처리기사의 양문자강사님의 후기도 전체적으로 "이해가 너무 잘된다" 등의 반응이였다. 나는 아닌데.. 그도 그럴것이 시간이 지날수록, 실망이 쌓여갈수록 핸드폰으로 딴짓하는 시간이 늘어갔다. 나도 모르는 사이에 핸드폰 하는 습관은 나를 지배할 정도로 강한 습관이 되었고 이대로 가다가는 시험이고 공부고 정말 큰일났다 싶었다. 엎친데 덮친격으로 눈의 기능까지 저하가 되어서 저녁 8시에서 9시 쯤만되면 잘 안 보이는 현상도 생기기 시작했다. 결국 나는 이 공부를 더 잘 하기 위해서, 앞으로의 인생의 기초가 될 지식을 쌓는 성장의 발판이 될 중요한 시간에 더 이상은 나를 나쁜 습관에 휘말리게 둘 수는 없었다. 차.. 2023. 1. 15.
Network - 캐시데이터 관련 지식 오.. 오늘 알게 되었는데 정말 신기하다. 예시로, naver.com라는 페이지를 읽어오게 되면 그 naver.com에 link되어있는 html, css, javascript까지 다 읽어온다고 한다. 하지만 두번째 접속할때부터는 (일정 텀이 있는지도 모른다.) html과 "캐시데이터"형식으로 남아있는 css, javascript를 활용한다고 한다. 따라서 좀 더 빠르게 볼 수 있는 것이고, 변동사항이 자주 있을때 반영이 안되는것도 이런 이유때문인것같다. 그래서 변동사항에 대한 반영을 빠르게 확인하고자 한다면 "캐시데이터"를 지워주고 보면 변경사항을 확인할 수 있는 것이라고 한다. 두번째 중요한 사항은 위의 이유 때문에 가급적 최대한 static 요소들을 분리시켜서 뼈대가 되는 html을 간소하게 만드는 .. 2023. 1. 14.