정렬 알고리즘 종류정렬 종류 정렬 방법 최고 효율 평균 효율 최악 효율 특징 버블 정렬 교환 방식 n^2 n^2 n^2 구현하기 쉽다. 선택 정렬 교환 방식 n^2 n^2 n^2 삽입 정렬 삽입 방식 n n^2 n^2 코드가 간단하고 n의 수가 작을 때 유리하다. 병합 정렬병합 방식n x log(n)n x log(n)n x log(n)입력자료를 분할하여 병합하므로 별도의 기억장소가 필요하다.퀵 정렬 나누기(부분집합) 방식 n x log(n) n x log(n) n^2 분할한 입력자료를 재귀적으로 반복하여 정렬하므로 빠르다. 힙 정렬 선택 방식 n x log(n) n x log(n) n x log(n) 입력자료를 힙이라는 자료형을 유지하도록 선택하여 정렬한다. 셸 정렬 삽입 방식 n n^1.5 n^2 삽입..
RAID 0 ( 디스크 스트라이핑 ) - 최소 드라이브 개수 : 2- 최대 용량 : 디스크의 수 x 디스크의 용량- 데이터를 블럭으로 쪼개서 저장하는데 각 블럭은 다른 디스크로 나뉘어 저장된다.- 장점 : 매우 빠르다. I/O로드가 분산되기 때문- 단점 : 드라이브 하나가 고장나면 안전장치가 없기 때문에 디스크를 추가할수록 위험 증가 RAID 1 ( 디스크 미러링 ) - 최소 드라이브 개수 : 2- 최대 용량 : (디스크의 수/2) x 디스크의 용량- 스토리지에 저장되는 모든 데이터는 두 개의 물리적인 디스크에 각각 저장되고 모든 데이터는 중복- 장점 : 드라이브 하나가 고장나도 똑같은 내용의 드라이브가 있으므로 안전하고 읽기 성능이 단일 드라이브에서의 성능과 같거나 훨씬 좋다- 단점 : 전체 용량의 절..
OSI 7 계층 레벨 계층 전송단위 기능 7계층Application 응용 계층프로토콜 : DHCP, DNS, FTP, HTTP서비스 제공 Data 사용자가 네트워크에 접근할 수 있도록 해주는 계층 사용자 인터페이스, 전자우편, 데이터베이스 관리 등 서비스를 제공예) 텔넷, HTTP, SSH, SMTP, FTP 등 6계층Presentation 표현 계층 프로토콜 : JPEG, MPEG, SMB, AFP이해할 수 있는 포맷 변환 Data 운영체계의 한 부분으로 입력/출력되는 데이터를 하나의 표현 형태로 변환두 장치가 일관되게 전송 데이터를 서로 이해할 수 있도록 한다.제어코드나 문자 및 그래픽 등의 확장자를 생각하면 쉽다. 5계층Session 세션 계층프로토콜 : SSH, TLS응용간의 질서 제어 Data ..
힙 정렬 최대 힙 트리나 최소 힙 트리를 구성해 정렬하는 방법으로, 내림차순 정렬을 위해서는 최대 힙을 구성하고 오름차순 정렬을 위해서는 최소 힙을 구성하면 된다. 1. 정렬해야할 n개의 요소들로 최대힙(완전 이진 트리 형태)를 만든다. 내림차순 기준 정렬2. 다음으로 한 번에 하나씩 요소를 힙에서 꺼내서 배열의 뒤부터 저장하면 된다.3. 삭제되는 요소들(최댓값부터 삭제)는 값이 감소되는 순서로 정렬되게 된다. - 완전 이진 트리를 기본으로 하는 힙 자료구조를 기반으로한 정렬방식이다.- 힙은 1차원 배열로 쉽게 구현될 수 있다.- 가장 유용한 경우는 전체 자료를 정렬하는 것이 아니라 가장 큰 값이나 작은 값을 구할 때, 최대 k만큼 떨어진 요소들을 정렬할 때 이다. 시간 복잡도최선/최악/평균 모두 O(n..
퀵 정렬 퀵소트는 divide and conquer 방법을 통해 정렬한다. 리스트 가운데서 하나의 원소를 고른다. 이렇게 고른 원소를 피봇이라고 한다.피봇 앞에는 피봇보다 값이 작은 모든 원소들이 오고, 피봇 뒤에는 피봇보다 값이 큰 모든 원소들이 오도록 피봇을 기준으로 리스트를 둘로 나눈다. 이렇게 리스트를 둘로 나누는 것을 분할이라고 한다. 분할을 마친 뒤에 피봇은 더 이상 움직이지 않는다.분할된 두 개의 작은 리스트에 대해 재귀적으로 이 과정을 반복한다. 재귀는 리스트의 크기가 0이나 1이 될 때까지 반복된다.[ 위키백과 참조 ] 시간 복잡도 ( T(n) 은 n의 리스트를 정렬하는데 걸리는 시간 ) 평균적으로 O(nlog n) 의 시간복잡도를 갖는다. 최선의 경우 : O(nlog n) 최악의 경우 ..
트리Node : 트리를 구성하고 있는 각각의 요소를 의미Edge : 트리를 구성하기 위해 노드와 노드를 연결하는 선을 의미Root Node : 트리 구조에서 최상위에 있는 노드를 의미Terminal Node ( Leaf Node ) : 하위에 다른 노드가 연결되어 있지 않은 노드를 의미Internal Node : Leaf 노드를 제외한 모든 노드로 루트 노드를 포함 Level : 각 층별로 매긴 숫자로 루트노드의 레벨은 0이고, 최고 레벨을 높이라고 한다. Binary Tree- 루트노드를 중심으로 두 개의 서브트리로 구성되어 있다.- 두 개의 서브트리도 모두 이진트리여야 한다. Full Binary Tree / Complete Binary Tree모든 레벨이 꽉 찬 이진트리를 말한다.포화이진트리는 노드..
- SYN(Synchronization) : 연결요청, 세션을 설정하는데 사용되며 초기에 시퀀스 번호를 보냄- ACK(Acknowledgement) : 보낸 시퀀스 번호에 TCP 계층에서의 길이 또는 양을 더한것과 같은 값을 ACK에 포함하여 전송- FIN(Finish) : 세션을 종료시키는데 사용되며 더 이상 보낼 데이터가 없음을 표시 TCP 3-way-handshake장치들 사이에 논리적인 접속을 성립하기 위하여 3-way-handshake를 사용한다.즉, TCP의 연결을 초기화 할 때 사용 SYN : 접속을 요청하는 프로세스가 연결 요청 메시지 전송 ( Client는 SYN_SENT 상태가 된다. ) SYN+ACK : 접속 요청을 받은 프로세스가 수락 ( Server는 SYN_RECEIVED 상태가..
CPU 스케쥴링메모리에 있는 준비(READY)상태의 프로세스 중 하나를 선택해 CPU자원을 할당하는 것 CPU 스케쥴링이 일어나는 시점기존에 CPU를 사용하던 프로세스가 계속 프로세스를 사용할 수 있는데도 불구하고 자원을 빼앗는지에 대한 여부로 비선점/선점으로 나눈다. Non Preemptive(비선점)일단 CPU가 프로세스에 할당되면, 프로세스가 종료하던가 또는 대기상태로 전환해 CPU를 해제할 때까지 CPU를 점유하는 방법.모든 프로세스에 대해서 공정한 처리가 가능하지만 긴급 응답을 요하는 작업에는 좋지 못하다. 짧은 작업이 긴 작업이 끝날 때까지 기다리는 문제점이 생길 수 있다.- 실행상태 → 대기상태 : 입출력 요청- 종료될 때예) FCFS, SJF, HRN Preemptive(선점)한 프로세스가..
- Total
- Today
- Yesterday
- LinearLayout
- 안드로이드
- 이진탐색트리
- adapter
- BOJ
- C
- HTTP
- RelativeLayout
- listview
- handshake
- 퀵정렬
- layout
- 운영체제
- OS
- frameLayout
- C++
- 스프링부트
- WinDbg
- 네트워크
- 알고리즘
- 윈도우
- 스프링
- 백준
- debug
- 백준알고리즘
- 정렬 알고리즘
- DATABASE
- windows
- ConstraintLayout
- Android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |