[자료구조] 선택정렬/삽입정렬/퀵정렬 개념 및 예제 코딩
1. 선택정렬 전체 탐색으로 해서, 조건에 맞는 값을 찾으면, temp라는 변수를 사용해서, 2개를 swap 해가면서 탐색 및 정렬해가는 것이다. 쉽게, 간단한 배열을 선택 정렬로 구현한 예제이다. 2. 삽입 정렬 배열이나, 리스트의 끝원소부터, 차례로 작거나 큰값을 비교해 가면서 swap하는 방식 선택 정렬과 비슷하나, 점차 레인지를 줄여나가면서 하나씩 차례로 한다는 점에서 다르다. 3.퀵 정렬 기준 데이터를 설정하고, 기준보다 큰 데이터, 작은데이터의 위치를 바꾸는 것 가장 기본적인 퀵정렬은 첫번째 데이터를 기준 데이터 로 설정한다. (Pivot) * pivot 값을 기준으로,-> 방향으로 탐색 해서, 큰값 와 탐색은 4,
DFS 관련 개념 정리
BFS, DFS 는 알고리즘 유형에서 많이 나오는 유형이다. 우선 탐색 관련 된 내용이다. 스택 = pop,push로 선입 후추이다. 박스쌓기 처럼, 최상단 출력, peek() 큐 = 선입선출 , 줄서기, 대기열 같이, offer, poll 사용해서 사용 DFS : 깊이 우선 탐색, 스택 OR 재귀함수를 탐색 시작 노드 스택에 삽입, 인접 노드 스택에 넣고 개념을 익히기에 좋은 문제라고 생각한다. 우선, 해당 부분을 이해 및 풀을려면 어떤식으로 돌아가야하는지 알아야한다. 1은 false , 0은 true로 이해하면 된다. 자, 그러면 코딩을 해보자 import java.util.*; public class HelloCodiva { public static int n, m; public static int..
[자료구조 공부] Hashset 사용하기
자료구조에 대한 걸 공부해야겠다는 필요성을 느꼈다. 왜냐하면, 너무 쓰던 자료구조만 쓴다. 예를 들면, ArrayList 말고 다른 자료구조를 쓰면, 더 효율적인데, ArrayList나 Map같이 그냥 쓰던것만 쓰거나.....등등 무튼 그래서, 하루에 한가지 자료구조를 파야겠다고 생각했고, 오늘이 그 첫번째, HashSet이다. 우선 선언 및 기본 print 간단하게, Hashset에 A라는걸 add하고,print 한다. add방식은 arrayList와 동일하다, index 로 탐색해야하는 것도 같다. 다만, 다른점은 !! 중복에 대한 자동 체크를 해준다는 것이다. 바로 이해되는 예제를 구현해봤다. add로 A를 두번 add해도 자동으로, A는 한번밖에 담기지 않는다. 찾아보니 hashset은 다음과 같..