본문 바로가기

정리하기 이전 자료 ( before 20-11 )/Algorithm6

FloydWarshall 알고리즘 다익스트라 : 하나의 정점으로부터 출발했을 때 다른 모든 정점으로의 최단경로 플로이드 와샬 : 모든 정점에서부터 모든 정점으로의 최단경로 -> 거쳐가는 정점을 기준 import java.util.Scanner; public class Test{ static void floydWarshall(int number,int a[][]){ int d[][] = new int [number][number]; for(int i=0;i 2020. 5. 18.
동적 프로그래밍(Dynamic Programming) static int fibonacci(int n){ if(n==1) return 1; if(n==2) return 1; return fibonacci(n-1) + fibonacci(n-2); } public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); System.out.println(fibonacci(N)); } 피보나치 수열을 다음과 같은 로직으로 짠다면, 시간 복잡도는 2^n 이 나오게 된다. 예를 들어 Index 6의 값을 구한다고 가정해보자. .. 2020. 5. 9.
Stack and Queue Stack Stack stack = new Stack(); stack.add(1); stack.add(2); stack.add(3); stack.pop(); System.out.println(stack.peek()); if(!stack.empty()){ for(int i:stack){ System.out.println(i); } } ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ output: 2 // peek 1 2 add, pop , peek( Top의 값을 보는 method ) Queue Queue queue= new LinkedList(); queue.add(1); queue.add(2); queue.add(3); queue.add(4); queue.remove(); System.out.println(q.. 2020. 5. 8.
Kruskal algorithm Union-find algorithm #include int getParent(int parent[], int x) { if (parent[x] == x) return x; parent[x] = getParent(parent, parent[x]); return parent[x]; } void unionParent(int parent[], int a, int b){ a= getParent(parent,a); b= getParent(parent,b); if(a>b) parent[a]=b; else parent[b]=a; } int findParent(int parent[],int a, int b){ a= getParent(parent,a); b= getParent(parent,b); if(a==b) retu.. 2020. 4. 24.
순서도 그리는 법 시작 / 끝 모양. 둥근 모양으로 시작했다가, 둥근 모양으로 끝난다. Input/Output 은 비스듬한 마름모 모양 결정은 다이아 모양 Declare variables num1,num2 and sum 같은 프로세싱은 네모 참고사이트 https://www.programiz.com/article/flowchart-programming Design Flowchart In Programming (With Examples) - Programiz www.programiz.com 2020. 3. 17.
Pseudo Code 작성법 의사코드 작성법 1. Start by writing down the purpose of the process. 의사코드가 무엇을 하려는 지 적어준다. 2. Write only one statement per line. 3. IF,ELSE,WHILE 같은 실행식은 대문자로 써야 구분돼 보여진다. ex) IF grade is grater than or equal to 60 Print "passed" ELSE Print "failed" 4. 요약하지 말고, 코딩을 모르는 사람이 봐도 알 수 있게 작성해야 한다. ex) IF input is odd, output "y" (x) IF user enters ad odd number, display "y" (o) 5. Pseudocode statements are c.. 2020. 3. 17.