목록전체 글 (572)
오봉이와 함께하는 개발 블로그
Algorithmday_4 정리 (2021.12.01 수요일) 선택 정렬(Selection Sort) 잘못된 위치에 들어가 있는 원소를 찾아서 그것을 올바른 위치에 넣는 원소 교환 방식으로 정렬 가장 작은 원소를 찾아 첫 번째 위치의 원소와 교환 두 번째로 작은 원소를 찾아 두 번째 위치의 원소와 교환 첫 번째 원소를 키로 지정하고 뒤 원소와 비교해서 작은 값을 앞으로 보내는 방식 두 번째 원소를 키로 지정하고 뒤 원소와 비교해서 작은 값을 앞으로 보내는 방식 정렬될 때 까지 과정 반복 초기 : 5, 2, 8, 3, 1 1라운드 키는 첫 번째 원소 2, 5, 8, 3, 1 (5와 2교환) 1, 5, 8, 3, 2 (2와8, 3을 비교 했지만 2가 작기 때문에 교환하지 않고, 2와 1교환) 2라운드 1, ..
Algorithmday_4 정리 (2021.12.01 수요일) 버블 정렬(Bubble Sort) 인접한 항목이 순서대로 되어 있지 않으면 서로 교환한다. a = [7,6,5,2,1,4,8,9,3] 원본 a = [6,7,5,2,1,4,8,9,3] 7, 6 교환 a = [6,5,7,2,1,4,8,9,3] 7, 5 교환 a = [6,5,2,7,1,4,8,9,3] 7, 2 교환 a = [6,5,2,1,7,4,8,9,3] 7, 1 교환 a = [6,5,2,1,4,7,8,9,3] 7, 4 교환 a = [6,5,2,1,4,7,8,3,9] 7, 8 / 7, 9는 맞기 때문에 건너 뛰고(하지만 비교는 하기 때문에 성능에 영향을 끼친다.) 9, 3 교환 까지 1라운드 종료 -> 다시 a[0], a[1]비교부터 시작 a =..
Algorithmday_4 정리 (2021.12.01 수요일) 정렬(Sort) 일련의 자료들을 자료 중에 포함된 몇 가지 항목을 우선대로 지정하여 그 순서에 따라 모든 자료를 나열하는 방법 정렬 알고리즘 종류 버블 정렬(Bubble Sort) 선택 정렬(Selection Sort) 삽입 정렬(Insertion Sort) 쉘 정렬(Shell Sort) 퀵 정렬(Quick Sort) 이원 합병 정렬(2-Way merge Sort) 기수 정렬(Radix Sort) 힙 정렬(Heap Sort) 정렬 알고리즘 단순하지만 비효율적인 방법 : 삽입 정렬, 선택 정렬, 버블 정렬 복잡하지만 효율적인 방법 : 퀵 정렬, 힙 정렬, 합병 정렬, 기수 정렬 정렬 알고리즘의 평가 비교 횟수 이동 횟수 모든 경우 최적인 알고리..
Algorithmday_3 정리 (2021.11.30 화요일) Tree 트리 자료들의 항목이 가지들로 연결될 수 있게 자료가 구성되어 있는 구조 node(자료(항목))와 edge(간선(가지))로 구성. 계층적인 구조 부모-자식 관계의 노드들로 구성 트리의 용어 노드(node) : 트리를 구성하는 각 자료 항목 근 노드(root node) 트리 구조를 시작하는 노드 최상위에 존재하는 하나의 노드 자식 노드 임의의 노드에 연결된 다음 레벨의 노드들의 집합 D의 자식 노드는 H, I, J 부모 노드 임의의 노드에 연결된 상위 계층의 노드 B는 E, F의 부모 차수(degree) 한 노드에 연결된 가지의 수 (노드가 갖고 있는 자식 노드의 개수) D의 차수는 3 레벨(level) root node부터 0으로 시..
Algorithmday_3 정리 (2021.11.30 화요일) Collection 클래스 java.util. 패키지에 포함된 클래스 컬렉션을 다루는 유용한 메소드 지원 sort() : 정렬 reverse() : 반대로 정렬 max() / min() : 최대값 / 최소값 binarySearch() : 검색 Collection 예제 CollectionEx1.java public class CollectionEx1 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("트랜스포머"); list.add("스타워즈"); list.add("매트릭스"); list.add("터미네이터"); list.add("아바타");..