본문 바로가기

Computer Science

(2)
[Protocol] MQTT Protocol 이란 ?, Python 으로 MQTT 실행하기 MQTT 는 'MQ Telemetry Transport' 를 뜻하는데, 매우 간단하고 경량의 메세지 프로토콜이라 제한적인 자원 환경과 적은 bandwidth, 불안한 네트워크 환경에서 특히 적합하다. 따라서, M2M (machine to machine) 환경이나 IoT(internet of Things, 사물인터넷) 환경에서 자주 사용한다. MQTT 는 클라이언트와 서버에서 publish/subscribe 개념을 가지는 메세지 프로로콜이다. 이 프로토콜은 TCP/IP 환경에서 작동한다. 동작 원리는 1) client 에서 MQTT server 에 connect requeset 를 보내고, 2) server 로 부터 일정 시간 안에 connect ACK 를 받으면 MQTT connection 이 완료가 되..
[자료구조] Quick Sort 개념 및 Java로 구현하기 퀵 정렬 (Quick Sort) :분할 정복 (Divide and Conquer)방식을 이용한 알고리즘. pivot point 라는 기준점을 설정하여 왼쪽은 이 값보다 작은 값, 큰 값은 오른쪽으로 옮기면서 정렬을 진행, 따라서, 분할과 동시에 정렬을 진행하는 알고리즘이다. 보통 pivot을 맨 앞이나 맨 뒤, 혹은 중간에 위치한 값을 선택거나 전체 배열 값 중 중간값, 랜덤값으로 설정한다. 각 정렬은 배열의 크기 N만큼 비교하고, 이를 총 분할 깊이인 logN 만큼 실행한다. 즉, O(NlogN)의 시간 복잡도를 가진다. 이미 배열이 정렬이 되어 있는 경우(pivot이 항상 그 배열의 최솟값 혹은 최대값인 경우)는 최악의 시간 복잡도를 나타낸다. `(unbalanced-partition)` 이 경우에는..

728x90
반응형