두 개의 큐를 이용해 스택을 구현해보자.
두 개의 큐가 존재한다.
목적에 따라 메인 큐와 서브 큐로 생각해보자.
흐름은 아래와 같다.
두 개의 큐를 이용해 스택을 구현해보자.
두 개의 큐가 존재한다.
목적에 따라 메인 큐와 서브 큐로 생각해보자.
흐름은 아래와 같다.
삽입 정렬이란 선택한 요소에 알맞은 위치에 삽입하는 작업을 반복하여 정렬하는 알고리즘이다.
자료 배열의 모든 요소를 앞에서부터 차례대로 선택하고
이미 정렬된 배열 부분과 비교 후 알맞은 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다.
선택 정렬은 가장 작은 요소부터 선택해 알맞은 위치로 옮겨서 순서대로 정렬하는 알고리즘이다
퀵 정렬(Quick Sort)에 대해 공부해보겠습니다.
퀵 정렬은 일반적으로 사용되고 있는 아주 빠른 정렬 알고리즘입니다.
정렬 속도가 빠른데서 착안해 퀵 정랼이라는 이름이 붙었습니다.
다른 원소와의 비교만으로 정렬을 수행하는 알고리즘 입니다.
선형구조 (Linear Structure)는 데이터들이 일렬로 저장되어 있는 형태이다.
일렬로 저장하는 방식은 리스트와 각 데이터가 다음 데이터의 위치를 가지는 연결 리스트 두 가지 방식이 있다. 일렬로 쭉 저장되어 있는 데이터를 사용하는 방법은 리스트와 연결 리스트 외에 사용 방법에 따라 스택 (Stack), 큐 (Queue) 데크가 추가된다.
Java에서 BufferedReader와 BufferWriter 사용하기
BufferedReader와 BufferedWriter은 이름처럼 버퍼를 이용해서 읽고 쓰는 함수입니다.
이 함수는 버퍼를 이용하기 때문에 이 함수를 이용하면 입출력의 효율이 비교할 수 없을 정도로 좋아집니다.
Pandas와 Matplotlib로 데이터 시각화 하기
Matplotlib은 파이썬에서 데이터를 다양한 형태로 시각화해주는 라이브러리 입니다.
Pandas를 이용하여 데이터를 수집하고 분석해 보겠습니다.
크루스칼 알고리즘에 대해 공부해보겠습니다.
크루스칼 알고리즘은 가장 적은 비용으로 모든 노드를 연결하기 위해 사용하는 알고리즘입니다.
즉 MST를 만들기 위한 대표적인 알고리즘 입니다.
Java Arrays.fill() 메소드 이용하여 배열 초기화 하기
Array를 Arrays.fill() 메소드를 이용하여 배열의 사이즈만큼 지정한 값으로 한번에 초기화 할 수 있습니다.
또는 배열 내에서 구간을 지정하여 특정 값으로 초기화 할 수 있습니다.
String은 불변(immutable) 객체이다.
Java 에서 String을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder가 있습니다.