분류 전체보기(422)
-
퀵 정렬(Quick Sort)
Sorting 알고리즘 중 가장 효율적이고 빠른 방식. 이름 자체에서도 퀵이란 명칭이 붙을 정도로 가장 많이 사용되고 가장 잘 사용되는 방식이다. 1. 먼저 PIVOT 계수를 정한다. PIVOT 계수는 임의로 선정할 수 있으나, 중간 크기의 숫자를 PIVOT 계수로 선정하는 것이 가장 효율적이기 때문에 대부분 3개의 임의의 숫자를 랜덤으로 선택한 후 3개 중 가운데 값을 PIVOT 계수로 정한다. 2. PIVOT 값과 LEFT 값을 비교한다. 만약 LEFT 값이 PIVOT 값보다 크다면 PIVOT 값과 RIGHT 값을 비교한다. RIGHT 값이 PIVOT 값보다 크다면, RIGHT 인덱스를 왼쪽으로 위치시킨 후 다시 PIVOT 값과 비교한다. 3. RIGHT 값이 PIVOT 값보다 작다면, LEFT 값과..
2013.06.18 -
[JavaScript] 세션과 쿠키
세션과 쿠키.. 개발을 하면서 주위로부터 듣기는 많이 들은 단어인데 막상 설명하라면 몬지 잘 모르겠다 -_-;;그래서 이번 기회에 두 개에 대해 정리하기로..일단 세션..세션이란 클라이언트와 서버가 통신하는 기간을 의미한다.그럼 왜 세션을 이용해야 하는 것일까?기본적으로 웹 통신은 한번의 요청과 한번의 응답이 진행되면 그 세션은 종료되었다고 말할 수 있다.그럼 다시 로그인을 해서 인증을 받고 다시 통신을 진행해야 하나??이것을 방지하기 위해.. 세션ID라는 것을 사용한다.클라이언트가 처음 접속하였을 때 서버는 해당 클라이언트에 유일한 세션ID를 부여하고 클라이언트는 서버에 요청을 할때마다 이 세션ID를 사용하여 요청을 하게 되는 것이다.이렇게 되면 서버에서는 클라이언트가 누군지 다시 찾을 필요가 없고 계..
2013.06.15 -
리눅스 파일 찾기
현재 디렉토리에서 파일 찾기. >> find -name '파일명' 루트에서부터 파일 찾기.>> find / -name '파일명' 루트에서부터 디렉토리 찾기.>> find / -name '디렉토리명' -type d
2013.06.14 -
버블 정렬(Bubble Sort)
물 속에서 거품이 올라오는 모습과 비슷하게 정렬한다고 해서 붙여진 이름.왼쪽 끝에서부터 인접하는 두 개의 값을 비교하여 교환하는 방식으로 오른쪽 끝까지 가는 방식.구현은 쉽지만 상당히 비효율적인 정렬 방식으로 꼽히고 있다.원본 리스트 3 8 0 1 4 [STEP 1] 3 8 0 1 4 - 3과 8을 비교. 8이 더 크므로 변화가 없어도 된다. 3 8 0 1 4 - 그 다음 8과 0을 비교. 0이 더 작으므로 8과 0을 교환한다. 3 0 8 1 4 - 8과 1을 비교. 1이 더 작으므로 8과 1을 교환한다. 3 0 1 8 4 - 8과 4를 비교. 4가 더 작으므로 8과 4를 교환한다. 3 0 1 4 8 - 이로써 한 스텝이 끝났다. 다시 처음부터 비교를 한다.[STEP 2] 3 0 1 4 8 - 3과 0을..
2013.06.11 -
선택 정렬(Selection Sort)
아이템 수 만큼 루프를 돌면서 가장 작은 수를 찾아 가장 앞으로 보내는 정렬 방식. 원본 리스트 3 8 0 1 4 [STEP 1] 3 8 0 1 4 - [3~4] 중 최소값을 찾는다. 3 8 0 1 4 - 3과 0을 교환 한다. [STEP 2] 0 8 3 1 4 - 0을 제외한 [8~4] 중 최소값을 찾는다. 0 8 3 1 4 - 8과 1을 교환한다. [STEP 3] 0 1 3 8 4 - 0, 1을 제외한 [3~4] 중 최소값을 찾는다. 0 1 3 8 4 - 3이 최소값이므로 그대로 둔다. [STEP 4] 0 1 3 8 4 - 0,1,3을 제외한 [8~4] 중 최소값을 찾는다. 0 1 3 8 4 - 8과 4를 교환한다. [최종] 0 1 3 4 8 코드는 아래와 같다.
2013.06.11 -
Runnable 인터페이스와 Thread Class
자바에서 쓰레드를 만드는 방법은 크게 두 가지로 볼 수 있다. 1. Runnable 인터페이스를 구현하는 방법 과 2. Thread 클래스를 상속 받는 방법이다. Thread 클래스 자체에서 Runnable 인터페이스를 구현하고 있기 때문에 두 가지 방식 중 어떤 것을 써도 무방하다. 하지만 대부분 Runnable 인터페이스를 사용한다. 왜?? JAVA에서는 C++과는 다르게 다중 상속이 안되기 때문이다. Thread Class를 상속 받을 경우 해당 클래스는 이제 더 이상 상속을 받을 수 있는 조건이 안되지만, Runnable 인터페이스를 상속 받을 경우엔 다른 인터페이스도 상속이 가능하다. 아래는 Runnable 인터페이스를 상속 받는 코드와 Thread 클래스를 상속 받는 코드이다.
2013.06.05