전체 글
-
퀵 정렬 (quick sort)카테고리 없음 2023. 4. 18. 12:31
퀵정렬 (quick sort) 이번엔 퀵정렬을 알아 보겠다. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O(n2)번의 비교를 수행하고, 평균적으로 O(n log n)번의 비교를 수행한다. 위키출처 이라고 한다. 말그대로 빠른 정렬 방식이다. 위키 출처 일단 설명을 해보자 만약 6, 3, 8, 7, 9, 2, 1, 5 이런 리스트가 있다고 가정하자! 그럼 일단 왼쪽에 있는걸 피벗으로 잡자 6을 피벗으로 잡는다. 그리고 또한 left도 6 이라고 정하고 맨 오른쪽에 있는걸 right라 정하자 그럼 이런 형식이 될거다 6, 3, 8, 7, 9, 2, 1, 5 P R L P: 피벗 L: left R: right 그리고 나서 left 는 피벗보다 큰 값이 나올때 까지 오른쪽으로 이동하고 rigth는 ..
-
Spring boot와 Docker Postgresql카테고리 없음 2023. 4. 18. 12:31
Spring boot와 Docker Postgresql 이번엔 docker와 posrgresql에 대해 알아보겠다. 1. centos 6에 docker를 설치해보자 2. Spring boot와 Docker 3. Spring boot와 Docker Mysql mysql과 소스는 동일하다. @SpringBootApplication public class SpringBootDockerPostgresqlApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDockerPostgresqlApplication.class, args); } @Autowired private AccountRepository reposit..
-
Spring boot와 Docker Mysql카테고리 없음 2023. 4. 18. 12:31
Spring boot와 Docker Mysql centos 6에 docker를 설치해보자 Spring boot와 Docker 이번엔 도커에 mysql을 연동해보자. 연동이 되는지 확인해보기 위해 몇개의 클래스를 생성하자 간단하게 만들자 @Entity @Data @NoArgsConstructor @AllArgsConstructor public class Account { @Id @GeneratedValue private Long id; private String username; private String email; } Account 엔티티 클래스다. @Slf4j @RestController public class AccountController { @Autowired private AccountRepo..
-
Spring boot와 Docker카테고리 없음 2023. 4. 18. 12:31
spring boot와 Docker 일단 도커를 설치하자 설치 방법은 설치 리눅스(centos6.5) 기준이다. 일단 Spring boot 프로젝트를 만들자. 만드는법은 Spring boot 빠르게 시작해보자 혹은 Github example @SpringBootApplication @RestController public class SpringBootDockerApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDockerApplication.class, args); } @RequestMapping("/") public String hello(){ return "Hello Spring boot dock..
-
centos 6에 docker를 설치해보자카테고리 없음 2023. 4. 18. 12:31
docker centos6.5에 도커를 설치 해보겠다. 잘되길 EPEL Repository 추가해야된다. yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm ..... Is this ok [y/N]: y Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : epel-release-6-8.noarch 1/1 Verifying : epel-release-6-8.noarch 1/1 Installe..
-
BFS(너비 우선 탐색)카테고리 없음 2023. 4. 18. 12:31
너비 우선 탐색 너비우선탐색이란 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. --위키피디아 출처 깊이우선탐색은 스택을 이용하지만 너비우선탐색은 큐를 이용한다. 말은 간단하다. 한번살펴보자 1에서 시작을 한다면 인접한 정점으로 이동한다. 1에서 인접한 정점은 2와3이다. 그래서 1->2, 1->3으로 이동한다. 그리고 2의 인접한 정점은 4밖에 없다. 2->4 다음은 3의 인접한 정점은 5,6,7 이다 3->5, 3->6, 3->7 이렇게 이동한다. 코드를 보자. static int[][] BFS = { {0,0,0,0,0,0,0,0}, {0,0,1,1,0,0,0,0}, {0,1,0,0,1,0,0,0}, {0,1,0,0,0,1,1,1}, {0,0,1,0,0,0,0,0}..
-
DFS(깊이 우선 탐색)카테고리 없음 2023. 4. 18. 12:31
깊이 우선 탐색 깊이우선탐색이란 트리 및 그래프 등을 탐색하는 알고리즘이다. 특정 노드를 출발하여 깊게 들어 갈 수 있을때 까지 들어가고 들어 갈 곳이 없다면 다시 나오는 알고리즘이다. 깊게 들어간다해서 깊이 우선 탐색, 스택을 이용하여 구현한다. 위에 노드를 한번 보자. 만약 루트가 1이라면 1->2로 2->4로 4에선 더이상 갈곳이 없어 다시 나온다. 그럼 다시 3->5 5역시 갈곳이 없기에 나온다. 3->6 6도 마찬가지다. 3->7로 가고 끝난다. 그전에 알아두어야 할 것이 있는데 바로 인접행렬이다. 인접행렬이란 그래프 이론에서 인접행렬은 그래프에서 어느 꼭짓점들이 변으로 연결되었는지 나타내는 정사각행렬이다. -위키피디아 출처 바로 저거다. 예를들어 1 2 3 4 5 6 7 1 0 1 1 0 0 ..
-
삽입정렬카테고리 없음 2023. 4. 18. 12:31
삽입정렬 삽입 정렬은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다. 시작은 두번째 리스트 부터 한다. 이유는 첫번째 리스트는 하나이기 때문에 정렬이 되어있다고 본다. 두번째는 temp 에 넣어두고 첫번째와 비교한다. 비교시 temp 가 작다면 첫 번째 리스트를 두번째로 이동한다. temp 는 첫번째에 삽입한다. 이번엔 세번째 리스트를 temp에 넣어둔다. temp보다 큰값이 나올때까지 이동시킨다. temp = 2 6 2 7 8 1 6과 temp 와 비교한다. temp 가 작기때문에 6을 이동시킨다. 6이 첫번째 이므로 temp를 첫번째 자리에 둔다. 그럼 2 6 7 8 1로 정렬되었다 다시 7을 temp에 넣..