본문 바로가기

CS/Data Structure3

[Data Structure] 카운팅 정렬 카운팅 정렬은 배열 원소끼리 비교하는게 아닌 인덱스 위치를 갖고 위치를 찾아가는 방법이다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWr.. 2023. 7. 1.
[Data Structure][JAVA]DFS, BFS 구현 DFS(Deepth - Frist - Search): 깊이 우선 탐색 import java.util.LinkedList; import java.util.Queue; public class Main { public static boolean[] visited = new boolean[9]; public static int[][] graph = {{}, {2,3,8},{1,7},{1,4,5},{3,5},{3,4},{7},{2,6,8},{1,7}}; public static void dfs(int x) { visited[x] = true; System.out.print(x + " "); for(int i = 0; i < graph[x].length; i++) { int y = graph[x][i]; if(!v.. 2023. 6. 26.
[Data Structure] Set Set 비순차적이고 중복을 허용하지 않는 자료구조 집합과 같다고 생각하면됨, 순서 x, 중복 x 순서 상관 없는 경우 빠른 look up 필요한 경우 중복된 값 관련 처리하는 경우 유용하게 사용할 수 있다. Set 종류 HashSet 대표적인 Set 사용 방식 Hash 알고리즘을 기반으로 동작함 key값을 hash function을 거쳐 hash값으로 변경 후 hash값에 맞는 bucket에 저장하여 관리한다. 이러한 알고리즘 때문에 순서 x, 중복 x, 특정값 포함 확인 빠름 (Fast Lookup) TreeSet balance binary search tree인 Red-Black Tree를 기반으로 구성된다. 간단히 말해서 값이 한쪽으로 치우쳐지지 않는 Tree 사용한다는 말 Red-Black Tre.. 2022. 10. 23.