목록algorithm (12)
코드와이
시간 복잡도 알고리즘의 절대적인 실행 시간을 나타내는 것이 아닌 알고리즘을 수행하는데에 연산이 몇 번 이루어지는 지를 숫자로 표기한 것 BigO 시간 복잡도 함수에서 상대적으로 불필요한 연산을 제거하여 알고리즘의 분석을 조금 더 간편하게 할 목적으로 시간 복잡도를 표기하는 방법 공간 복잡도 프로그램을 실행시킨 후 완료하는 데 필요로 하는 자원 공간의 양을 말한다. 총 공간 요구 = 고정 공간 요구 + 가변 공간 요구 고정 공간 입력과 출력의 홋수나 크기와 관계없는 공간의 요구 코드 저장 공간, 단순 변수, 고정 크기의 구조 변수, 상수 가변 공간 특정 인스턴스에 의존하는 크기를 가진 구조화 변수들을 위해서 필요로 하는 공간 동적으로 필요한 공간 Ex 위의 경우에 stack에 1부터 n까지 쌓이므로 O(n..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.StringTokenizer; public class 위상정렬 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys..
package week0315_0319; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class MST2_PrimTest { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int N = Integer.parseInt(br.readLine()); int[][] adjMatrix = new ..
package week0315_0319; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class MST1_KruskalTest { static class Edge implements Comparable{ int from,to,weight; public Edge(int from, int to, int weight) { super(); this.from = from; this.to = to; this.weight = weight; } @Override public int ..
package week0315_0319; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; import week0315_0319.G1_AdjMatrixTest3.Node; /* 7 8 0 1 0 2 1 3 1 4 2 4 3 5 4 5 5 6 */ // LinkedList를 활용한 그래프 완전탐색 public class G1_AdjMatrixTest4 { static class Node{ ..
소수 구하기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class 에라토스테네스의_체 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringBuilder sb = ..
import java.util.Scanner; public class B1_NQueen { static int answer; static int N; static int[] col; public static void main(String[] args) { Scanner in = new Scanner(System.in); N = in.nextInt(); col = new int[N + 1]; // 0번 행을 제외하고 작업하기 위해 1을 더한다.각 행에 하나씩만 배치할 수 있기 때문에 1차원, col[i]번째방에 여왕을 배치할 열값을 // 저장한다. setQueens(1); // 1행부터 시도 System.out.println(answer); } // 유도파트 : 현재 행의 첫열부터 무조건 퀸을 놓고 그 위..
package week0215_0219; import java.util.Scanner; public class divide { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); //log(2) n System.out.println(exp(x,y)); } public static long exp(long x, long y) { if( y == 1) return x; long r = exp(x, y/2); long result = r*r; if ( y % 2 == 1) { result *= x; } return result; } } n = 2..