전체 글

전체 글

    DFS

    - DFS(Depth First Search) 그래프 탐색의 한 종류 깊이 우선 탐색 Stack을 활용하여 데이터 탐색 * 구현 방법 1. 인접 행렬 - 행렬로 정점들 사이의 관계를 표현 하는 것 - 간선 방향의 존재 유무에 따라 표현하는 방법에 차이 존재 - 예시 - 용어 정리 (1) edge - 간선의 수 (2) vertex - 정점의 수 (3) map - 정점 간의 연결 정보를 담는 객체 (4) visit - 정점을 방문했는지 체크하기 위한 객체 2. 인접 리스트 - 인접 리스트 방식은 리스트 방식으로 각 정점이 연결 된 노드들이 정보를 저장한다. - 예시 - 인접 행렬과 다르게 모든 정점의 수를 나타내지 않고 한 정점과 연결된 것들만 보여준다. - 메모리를 신경써야 할 때 인접 리스트로 표현해주는..

    다이나믹 프로그래밍

    - 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 * 크다와 작다는 문제의 크기를 의미. - 큰 문제를 작은 문제로 나누는 알고리즘에는 2가지 종류가 있음 1. 다이나믹 프로그래밍(DP) 2. 분할 정복(D&C) * 다이나믹 프로그래밍은 작은 문제들이 중복이 가능하지만, 분할 정복은 작은 문제들끼리 중복이 되지 않는다. - 다이나믹으로 풀 수 있는 문제의 속성 1. Overlapping Subproblem : 겹치는 부분(작은) 문제 ex) 피보나치 수 : (0,1,1,2,3,5,8,13,21,34,55...) Fn = F(n-1) + F(n-2) 여기서 Fn이 큰 문제이고, 나머지 F(n-1)과 F(n-2)가 작은 문제라고 할 수 있다. 하지만 작은 것은 상대적인 개념이므로 F(n-1)을 구할 때는 F(..

    스프링 입문 강의 요약 01-3

    - view 환경설정 - welcome page 만들기 (도메인 입력하여 들어왔을 때 뜨는 첫 화면) - 다음과 같이 resources파일의 static 안에다 index.html을 만들어주면 이것이 welcomepage가 된다. - 강의에서 제공해주는 소스코드를 붙여넣기 하면 이전에 오류만 뜬 웹페이지 화면이 다음과 같이 변경된다. - 위와 같은 과정은 정적 소스코드에 불가하다. 타임릴리프 템플릿을 쓰면 loop를 쓸수도 있고 알고리즘을 만들 수 있다. - 동적으로 작동하는 원리를 살펴보면 웹브라우저에서 내장 톰켓서버로 호출하고 helloController라는 클래스를 통하여 return 값으로 hello를 반환하면 viewResolver을 통하여 template폴더에 hello.html을 실행시키는 ..

    스프링 입문 강의 요약 01-2

    - 실제 라이브러리 임포트는 2개 밖에 안했지만 external library에는 무수히 많은 라이브러리들이 임포트 되어 있다 - 그 이유는 Gradle이 서로 의존관계에 있는 라이브러리들을 다 임포트 해주기 때문이다. - 현업 종사자 분들은 System.out.println(); 형식으로 출력하면 안된다. - 로그를 통해서 출력해야 심각한 오류를 관리 할 수 있고 로그를 남겨 로그 파일을 관리할 수 있기 때문이다. - logging을 임포트하면 제일 대표적인 slf4j와 logback이 의존관계로 임포트 된다. - 이를 통해서 로그 관리를 진행한다. 스프링 부트 라이브러리 spring-boot-starter-web spring-boot-starter-tomcat: 톰캣 (웹서버) spring-webmv..