Basic(88)
-
삽입정렬 (Insertion Sort)
삽입정렬 (Insertion Sort) 삽입정렬은 손안의 카드를 정렬하는 방법과 유사합니다.즉, 새로운 카드를 기존의 정렬된 카드 사이의 올바른 자리를 찾아 삽입함으로써 정렬이 유지되게 합니다.- 새로 삽입될 카드의 수 만큼 반복하면 전체 카드가 정렬 1. 리스트의 처음부터 값을 비교하며 정렬된 부분의 어느 위치에 삽입되어야 하는가를 판단2. 해당 위치에 이 숫자를 삽입하게 되면 정렬된 부분의 크기는 하나씩 커지며 자리이동3. 정렬되지 않은 부분은 크기가 하나 줄어듦의 순서를 반복합니다. 삽입정렬의 특징삽입정렬은 안정성이 있으며, 비효율적입니다. 처리속도는 선택정렬과 마찬가지로 O(n^2)입니다. 삽입정렬 코드 출처 : http://wonjayk.tistory.com/218
2016.11.09 -
선택정렬 (Selection Sort)
선택정렬 (Selection Sort) 선택정렬은 가장 이해하기 쉬운 정렬 방법입니다.리스트 중 가장 작은 숫자를 선택하여 왼쪽 부터 정렬시켜 나가는 작업을 반복하는 정렬입니다. 아래는 선택정렬의 순서입니다. 선택정렬의 특징 선택정렬은 안정성이 없고 비효율적이지만 구조가 단순하여 구현이 간단하다는 장점이 있습니다.레코드 갯수의 -1번 반복하여 정렬을 완료합니다.처리속도 O(n^2)- 안정성 : 입력 데이터에 동일한 키 값을 갖는 레코드가 여러개 존재할 경우 이들의 상대적인 위치가 정렬 후에도 그대로 바뀌지 않는 것을 안정성 있는 정렬 이라고 합니다. 선택정렬 구현 출처 : http://wonjayk.tistory.com/217
2016.11.09 -
트리 (Tree)
트리 (Tree) 지금까지는 리스트, 스택, 큐 등의 선형 자료 구조(Linear Data Structure)만을 공부했습니다. - 선형 자료 구조는 자료들이 직선과 같이 나열되어 있는 구조를 의미합니다. 만약 선형이 아니고 자료가 계층적인 구조를 가지고 있다면 어떻게 해야할까요? - 조상과 자손, 전체와 부분, 상사와 부하직원, 컴퓨터의 디렉토리 구조 등의 계층적 관계입니다. - 이런 계층적인 관계를 표현하기에는 선형 자료 구조로는 한계가 있습니다.트리는 이러한 계층적인 구조를 표현하는데 사용하는 자료구조입니다. - 인공지능 문제에서도 트리가 사용됩니다. 의사결정트리 등 트리의 용어들을 알아보겠습니다.노드 : 트리의 구성요소들루트노드 : 부모가 없는 노드, 트리는 하나의 루트노드만 가집니다.리프노드 :..
2016.11.09 -
[Network] TCP, UDP
TCP와 UDP는 OSI 7계층 중 전송계층의 프로토콜로 포트를 사용한 두 종단 호스트 간의 데이터 전달을 담당합니다. TCPTCP(Transmission Control Protocol)는 두 종단간의 연결을 설정한 후에 데이터를 8비트 바이트 스트림으로 교환하는 연결형 프로토콜 입니다. TCP와 IP의 도메인을 비교하면,- IP : 호스트 대 호스트, 컴퓨터 레벨간의 통신이며 목적지 호스트에게만 메시지를 전달할 수 있습니다.- TCP : 응용 프로그램(프로세스)간에 메시지를 전달하며 포트 번호를 이용합니다. TCP의 연결 설정 및 해제TCP는 송신측과 수신측이 서로 연결 설정을 위해 3단계로 신호를 교환합니다.1. 송신측이 수신측에 SYN 세그먼트를 보내 연결 설정을 요청한다.2. 수신측이 송신측에 수..
2016.11.09 -
[Network] OSI 7 Layer
OSI 7계층의 모델 개요와 목적1977년 국제 표준화 기구(ISO, International Standards Organization) 위원회에서 제정한 표준 네트워크 구조를 위한 개방형 시스템 간 상호접속(OSI, Open System Interconnection)에 관한 규정입니다.컴퓨터 네트워크 프로토콜 디자인과 통신을 계층을 나누어 규칙으로 설명한 것으로, 컴퓨터와 컴퓨터 사이를 연결하고 서로 다른 컴퓨터나 정보통신 시스템 간의 연결 및 원활한 정보 교환을 위한 표준화된 절차입니다.- 6년 이상 개발되어 1983년에 완성된 X.200으로 알려진 국제적 네트워크 표준 OSI 7계층 프로토콜의 구성7개의 계층으로 구성됩니다.7 - 응용 계층6 - 표현 계층5 - 세션 계층4 - 전송 계층3 - 네트..
2016.11.09 -
[OS] 경쟁상태, 교착상태, 라이브락 (Race Condition, Deadlock, Livelock)
경쟁상태 (Race Condition)둘 이상의 입력이나 조작이 동시에 일어나 의도하지 않은 결과를 가져오는 경우를 말합니다.- 파일 또는 변수와 같은 공유 자원을 접근하는 하나 또는 그 이상의 프로세스들의 다중 접근이 제대로 제어되지 않은 것을 말합니다.- 프로세스들 끼리 하나의 자원을 갖기 위해 싸우는 것, 하나의 자원을 동시에 요청 라이브락 (Livelock)한 프로세스가 이미 자원을 점유한 상태에서 다른 프로세스가 그 자원을 사용하기 위해 무한정 대기상태에 빠지는 것을 라이브락이라 합니다.- 지극히 정상적인 동작이지만 분명 문제가 있는 동작입니다. 교착상태 (DeadLock)프로세스들이 더 이상 진행을 못하고 영구적으로 블록되어 있는 상태로, 시스템 자원에 대한 경쟁 도중에 발생할 수도 있고 프로..
2016.11.09