IT/Algorithm 2018. 6. 17.
[JAVA/자료구조] DoublyLinkedList 더블링크드리스트 코드 알아보기
[JAVA/자료구조] DoublyLinkedList 더블링크드리스트 코드 및 알아보기 https://visualgo.net/en/list 그림으로 알아보기 위와 같은 구조가 더블링크드리스트 ( DoublyLinkedList ) 입니다. 노드와 노드가 서로 연결되어 있다는 점이라는 장점이 있습니다. 단순열결리스트와는 다르게 이전 노드와 다음 노드로 구성되어 있습니다. 단점으로는 이전 노드를 지정하기 위한 변수를 하나 더 사용해야 합니다. 메모리를 더 많이 사용한다는 의미이기도 하죠 왜그런지는 코드를 통해서 알아보도록 하겠습니다. public class DoblyLinkedList {private Node head;privateNode tail;private int size = 0;private class ..
IT/Algorithm 2018. 4. 2.
[JAVA/알고리즘] Quicksort 큌정렬을 알아보자!
[JAVA/알고리즘] Quicksort 큌정렬을 알아보자! 우선 아래 홈페이지 https://opentutorials.org/course/543/2723 오픈튜토리얼에서 각각의 정렬 원리를 잘 설명한 동영상을 보실 수 있습니다. 퀵 정렬이란? 퀵 정렬은 찰스 앤터니 리처드 호어가 개발한 정렬 알고리즘이다. 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다. 퀵 정렬은 n개의 데이터를 정렬할 때, 최악의 경우에는 O번의 비교를 수행하고, 평균적으로 O번의 비교를 수행한다. 퀵 정렬의 내부 루프는 대부분의 컴퓨터 아키텍처에서 효율적으로 작동하도록 설계되어 있고, 대부분의 실질적인 데이터를 정렬할 때 제곱 시간이 걸릴 확률이 거의 없도록 알고리즘을 설계하는 것이 가능하다고 합니다. 소스코드를 짜기 ..