목록분류 전체보기 (254)
요르딩딩
다익스트라 최단 경로 알고리즘 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘이다. '음의 간선'이 없을때 정상적으로 동작한다. 그리디 알고리즘으로 분리된다. (매번 '가장 비용이 적은 노드'를 선택해서 임의의 과정을 반복하기 때문이다.) '방문하지 않은 노드중에서 가장 최단 거리가 짧은 노드를 선택'하는 과정을 반복한다. 다익스트라 알고리즘이 진행되면서 '한 단계당 하나의 노드에 대한 최단거리를 확실히 찾는 것으로 이해 마지막 노드는 확인할 필요 없음 간단한 다익스트라 알고리즘의 시간복잡도 : O(V^2), V는 노드의 개수 개선된 다익스트라 알고리즘의 시간복잡도 : O(ElogV), E는 간선의 개수, V는 노드의 개수 우선순위 큐 사용 -> 우선순위가 높은 데이터를 ..

DFS (Depth-First Search) : 깊이 우선 탐색 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 동작원리 : 스택 자료구조에 기초한다. 구현방법 : 재귀함수 이용 시간복잡도 :O(N) import java.util.*; public class Main { public static boolean[] visited_Node = new boolean[7]; // 방문했던 노드를 체크하기 위한 변수 public static ArrayList graph = new ArrayList(); // 그래프 변수 // 같은 Depth가 있을 경우, 작은 숫자를 먼저 방문(add를 작은 숫자 먼저 했기 때문) public static void dfs(int num) { visited_Node[num..
1. pom.xml jar 추가 org.postgresql postgresql 42.2.6 2. jdbc.properties DB정보 암호화하여 적용 ##### testdb ##### jdbc.testdb.driver=net.sf.log4jdbc.DriverSpy jdbc.testdb.url=ENC(2Qu3E~) jdbc.testdb.username=ENC(zts~) jdbc.testdb.password=ENC(eBt~) 3. context - datasource.xml id, value 확인 4. context - mapper.xml id, ref,value 확인 5. SampleMapper.java src > ... > 서비스명 > mapper > testdb > sampleMapper.java 생성..
1. 선택정렬 매번 가장 작은 것을 선택한다. 시간복잡도 : O(N^2) 동작 7 5 9 0 3 ... 7(선택) 5 9 0 3 ... > 나머지 중에서 가장 작은것 선택해서 (7)과 교환 특징 스와프 이용 import java.util.*; public class Main { public static void main(String[] args) { int n = 10; int[] arr = {7, 5, 9, 0, 3, 1, 6, 2, 4, 8}; for (int i = 0; i arr[j]) { min_index = j;..
1. 포커스가 변경되면 호출 contenteditable blur event
예를 들어 다음과 같은 HouseKim 클래스가 있다. class HouseKim { String lastname = "김"; } public class Sample { public static void main(String[] args) { HouseKim kim1 = new HouseKim(); HouseKim kim2 = new HouseKim(); } } 위와 같이 클래스를 만들고 객체를 생성하면 각각의 객체에 대해 lastname을 저장하기 위해 메모리가 별도로 할당된다 만약 lastname이 항상 "김" 이여야 한다면 static을 사용하여 메모리의 이점을 얻을 수 있다. class HouseKim { static String lastname = "김"; } publi..

서로소 집합 자료구조 : 서로수 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조 서로소 집합 자료구조는 union과 find 연산으로 조작할 수 있다. 합집합(Union): 두 개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산 찾기(Find): 특정한 원소가 속한 집합이 어떤 집합인지 알려주는 연산 과정 1. 합집합(Union) 연산을 확인하여, 서로 연결된 두 노드 A, B를 확인한다 - A와 B의 루트 노드 A′, B′를 각각 찾는다 - A′를 B′의 부모 노드로 설정한다 2. 모든 합집합(Union) 연산을 처리할 때까지 1번의 과정을 반복한다 import java.util.*; public class Main { // 노드의 개수(V)와 간선(Union 연산)의 개수(E) /..
7강 쿼리를 여러번 질의하는것보다 한번에 질의하는것이 효율적입니다. 데이터 필터링, 정렬, 그룹화 등의 모든 데이터 연산은 데이터베이스에서 처리합니다. 자바는 UI 레이아웃 만, 데이터 가공처리는 SQL이 해야합니다. 8강 열 시쿼스 > 트리거 : 값이 입력/삭제같이 로우가 바뀔때실행되는 프로시저입니다. (오라클 기준) NEXTVAL을 이용한 시퀀스는 조회만으로도 해당 번호를 소비하게 됩니다. (오라클 기준) 롤백을 해도 소비한것으로 돌아오지 않습니다