알고리즘 정리
public class Java{
public static void main(String[] args){
int n;
Scanner sc = new Scanner(System.in);
sc.nextLine();
for(int i = 0; i <n; i++){
for(int j = 0; j <n; j++){
System.out.println("");
}
}
}
}
/*시간복잡도 ex) n^2 / O(n^2)
시간복잡도가 가장 낮은 것이 가장 좋은 알고리즘!
String / StringBuffer / StringBuilder 빌더가 가장 빠르게 돌아간다 */
/* 정렬: 퀵 sort / merge sort */
/* 자료구조
#stack -> push pop 해준다 -> 같은 것이 있으면 들어가지 않는다!!!
LIFO :last in first out
queue -> enqueue dequeue 해준다
FIFO :first in first out
capaticy(담을 수 있는 총량)
size 현재 몇개
#선형 큐 : capaticy 크기가 제한이 있는거
#원형 큐 : front가 큐 끝에 닿으면 큐의 맨 앞으로 자료를 보내어 원형으로 연결한다
(back 혹은 rear 이 가장 먼저 들어와있던 친구)
getSize(): 큐의 크기를 반환
isEmpty(): 큐가 비어있으면 true, 아니면 false 반환
배열을 이용한 큐와 연결리스트를 이용한 큐로 나뉘는데
연결리스트는 노드로 이루어져 있다. 노드는 마지막 부분에 다음 노드의 위치값을 가지고 있다,
#deque 양방향으로 입출력이 가능하다
#ArrayList는 사용하면 무거워진다
=====================================================================================
#Trie 알고리즘
문자열을 tree 형태로 만들어서 찾는다
*말단 노드를 leaf라고 한다
*/