Heap sortHeap에다 입력 값들을 넣은 후 루트노드를 하나씩 빼면서 정렬하는 방식 시간 복잡도n*log2(n) 공간 복잡도n : 힙 사이즈=입력 배열 사이즈(Heap을 수정하면 O(1)로 가능) Java 코드12345678910111213141516171819202122public class HeapSort { Heap heap; //정렬에 사용할 힙 int[] arr; //입출력 할 배열 public HeapSort(int[] _inputArr){ heap = new Heap(); arr = _inputArr; } //입력 받은 배열을 힙에 넣은 후 //힙 루트노드를 다시 배열에 넣어서 정렬 public int[] heapSort(){ for(int num: arr) heap.insert(num..
Heap-최소값, 최대값을 구하는데 최적화된 자료구조-완전 이진 트리로 구현하며 루트노드가 최소 또는 최대임-배열과 연결리스트로 구현할 수 있음-연결리스트의 경우 오른쪽 끝 노드를 접근하기 힘듦-우선 순위 큐로 사용하기 적절함 Java 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071public class Heap { ArrayList tree; //배열을 이용한 트리 int size; //현재 트리 사이즈 public Heap(){ tree = new ArrayList(); tree.add(-1); //트리 시작..
참고https://www.toptal.com/developers/sorting-algorithms/
Merge sort전체를 하나의 단위로 분할한 후 분할한 원소를 다시 병합하며 정렬하는 방식 시간복잡도n*log2(n) 공간복잡도(이 코드의 경우)n Java 코드12345678910111213141516171819202122232425262728293031323334353637383940414243public class MergeSort { int[] arr; //입력 받는 배열 int[] temp; //합칠때 사용 하는 임시 배열 //배열에 입력 받기 public MergeSort(int[] _arr){ arr = _arr; temp = new int[arr.length]; } //low~mid, mid+1~high 정렬 후 병합 public void mergeSort(int low, int high..
Quick sort특정값을 정해서 이 값보다 작으면 왼쪽 크면 오른쪽으로 정렬한 후 좌우로 재귀적으로 정렬해가는 방법 시간복잡도최악: n^2평균: n*log2(n) 재귀 호출 깊이log2(n) Java 코드1234567891011121314151617181920212223242526272829303132333435363738public class QuickSort { int[] arr; //숫자 배열 public QuickSort(int[] _arr){ arr = _arr; //배열 입력 } //sort 함수로 정렬 후 //low~mid, mid+1~high 각각 정렬하기 위해 재귀 호출 public void sortAndDivide(int low, int high){ if(low >= high) ret..
Spring-자바(JAVA) 플랫폼을 위한 오픈소스(Open Source) 애플리케이션 프레임워크(Framework)-자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크-자바 개발을 위한 프레임워크로 종속 객체를 생성해주고, 조립해주는 도구-자바로 된 프레임워크로 자바SE로 된 자바 객체(POJO)를 자바EE에 의존적이지 않게 연결해주는 역할 Spring의 특징1) 경량 컨테이너로서 자바 객체를 직접 관리 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있음2) POJO(Plain Old Java Object) 방식의 프레임워크 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가벼움3) 제어 반전(IoC : Inver..