<개인공부> 275

[데통] OSI 7계층, Network의 구조, NIC

1. Network의 구조 통신 네트워크(Communication Network)란 떨어져 있는 두 개 이상의 단말(컴퓨터, node)간에 통신(데이터의 주고받음)을 위하여 연결해 주는 장비(Link)와 연결 매체 그리고 이것을 제어하는 통신규약(프로토콜, protocol)을 말한다. 네트워크의 물리적인 구조 - 단말(Node)과 그 단말을 이어주는 연결선로(Link)로 이루어져있다. - 단말(Node)는 최종장비(End node, Station)과 중계장비(Interconnecting node)로 이루어진다. - 최종장비(End node, Station)은 그 환경에 따라 terminal 이나 host를 말한다. - 중계장비(Interconnecting node)는 특성에 따라 Repeater, Hub..

[C언어/C++] 올림, 내림, 반올림 (floor, ceil) 함수

안녕하세요 BlockDMask 입니다. 오늘은 올림, 내림 을 할수있는 ceil, floor 함수에 대해서 알아보고. floor 함수를 통해서 반올림을 하는 것 까지 보도록 하겠습니다. C의 함수들이 C++에 호환이 되어서 C에서 쓸때와 C++에서 쓸때의 차이점은 헤더파일, 메서드 오버로딩 (메서드, 함수 이름이 같아도 인자가 다르면 선언이 되는것) 이 있습니다. 오버로딩은 C++에서만 지원합니다. 글 순서는 헤더파일 소개 -> 함수(메소드)가 선언된 원형과 사용법 -> 실제 예시 -> + 알파 순으로 가겠습니다. 그럼 시작하겠습니다. (C++ 반올림(round)함수 포스팅 [바로가기]) (C++ 버림(trunc)함수 포스팅 [바로가기]) 0. 헤더파일(header) [C 언어] : [C++] : 1. ..

삽입정렬 (Insertion Sort) 이론과 코드

안녕하세요. BlockDMask 입니다. 오늘은 간단한 정렬 알고리즘 중에 삽입 정렬 (Insertion Sort) 에 대해서 알아보겠습니다. 이상한 곳이 있으면, 댓글로 말해주시기 바라겠습니다.댓글을 보고 고치도록하겠습니다. 따끔한 지적 부탁드리겠습니다. 0. 원리Insertion Sort 는 말 그대로 '삽입' 꽂아 넣는 정렬입니다. 자신보다 앞의 원소가 큰지 작은지 비교를 하여서 자신의 위치를 찾아서 '삽입' 하는 정렬입니다. 앞의 원소를 비교해야 하기 때문에 arr[1]~arr[n] 까지 진행합니다. (두번째 원소인 arr[1] 부터 시작.) 삽입을 하면 데이터가 하나씩 밀려야 하기 때문에 배열이 길어질수록 효율이 떨어집니다. 그림을 통해서 과정을 살펴 보겠습니다. (오름차순을 기본으로 하겠습니다..

[C++] priority_queue container 정리 및 사용법

안녕하세요 BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority_queue) 중 마지막 priority_queue 에 대해 정리해보겠습니다. 0. priority_queue container우선순위 큐를 구현한 것 입니다. priority_queue container 는 vector, deque container 와 붙어서 사용이 가능합니다. (list 불가능) 내부적으로는 에 있는 힙 관련 함수들을 사용하여 구현되어있습니다. 내부구조 default 는 vector container 기반으로 설정되어 있습니다. 정렬기준 default는 내림차순(less) 기반으로 설정 되어있습니다.1. priority_queue container 사용법 헤더파일 안..

[C++] queue container 정리 및 사용법

안녕하세요! BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority queue)중 두번째인 queue container adapter에 대해 정리해보겠습니다. 0. queue containerFIFO (First in, First out) 방식으로 동작 됩니다. queue container는 deque와 list container 에 붙어서 사용 가능합니다. (vector container 불가능.) vector container가 불가능한 이유 : queue 자료구조 특성상 뒤에서 삽입하고 앞에서 빼야하는데(FIFO) vector는 앞에서 빼는 동작을 지원해 주지 않기 때문입니다. 내부적으로 deque, list container 로 구현이 되어있습..

[C++] stack container 정리 및 사용법

안녕하세요. BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority_queue) 중에 stack container 에 대해 알아보겠습니다.다들 stack의 동작 원리나 구조는 아신다고 생각하고 포스팅 하곘습니다.0. stack containerLIFO(Last in First out) 방식. stack container adapter는 vector, deque, list container에 붙어서(기반으로) 사용이 가능합니다. 내부적으로는 vector, deque, list container의 구조로 구현이 되어있되, stack이라는 포장지로 잘 감싸서 stack과 같이 작동하도록 멤버 함수 등을 지원해 주는 것 입니다. default는 deque c..

버블정렬 (Bubble Sort) 이론과 코드

안녕하세요, BlockDMask 입니다. 오늘은 정렬 알고리즘 중에 버블 소트 (Bubble Sort)에 대해서 알아보도록 하겠습니다. 앞으로 제가 아는 sort들을 포스팅 해볼 예정입니다 버블 정렬 - bubble sort 삽입 정렬 - insertion sort 선택 정렬 - selection sort 퀵 정렬 - quick sort 병합 정렬 - merge sort 기수 정렬 - radix sort 이 순서대로 정렬 포스트를 진행 해 보도록 하겠습니다. 0. 원리Bubble Sort는 말 그대로 거품처럼 동글동글 하면서 sorting을 합니다. 거품을 연상하시면 쉬울 겁니다. 두 인접한 원소를 비교하는 정렬입니다. 오름차순으로 정렬을 한다고 했을때, 처음 한 바퀴를 돌게 되면 맨 뒤에 있는 인자가 ..

[C++] multimap container 정리 및 사용법

안녕하세요, BlockDMask 입니다.오늘은 연관 컨테이너(Associative container) 중 multimap 에 대해서 알아보도록 하겠습니다.multimap은 map과 거의 동일하지만 딱 한부분 만 다릅니다.key값이 중복 가능하다.map에 대한 자세한 정보는 [바로가기] 에 있습니다. 1) multimap containerAssociative : 노드 기반으로 구현된 Associative Container 에 속합니다. Ordered : Key, Value 값이 삽입될때 정렬이 되면서 삽입됩니다. (항상 정렬되어있는 상태 입니다) Map : 각각의 Key는 하나의 Value 에 mapping 됩니다. (pair 객체를 이용하여 key, value를 묶습니다.) Multiple equival..

[C++] map container 정리 및 사용법

안녕하세요. BlockDMask 입니다. 오늘은 연관 컨테이너 set, multiset, map, multimap 중. key와 value가 쌍으로 저장되는 map에 대해서 알아보도록 하겠습니다. std::map은 std::vector 처럼 정말 많이 쓰이는 컨테이너 중에 하나 입니다. 연관 컨테이너들은 99% 멤버 변수가 동일합니다. > 관련 포스팅: map, set의 키를 클래스나 구조체로 설정하는 방법 [바로가기] 1) map container Associative - 연관 컨테이너 (associative container) 중 하나입니다. 노드 기반으로 이루어져있고 균형 이진 트리 구조입니다. Map - map은 key와 value로 이루어져있으며 이는 pair 객체 형태로 저장됩니다. Uniqu..

[C++] multiset container 정리 및 사용법

안녕하세요 ! BlockDMask 입니다.오늘은, 연관 컨테이너(set, multiset, map, multimap)중 multiset 에 대해서 알아보겠습니다.!set과 구별되는 multiset의 가장 큰 특징은 key값이 중복된다는 것 입니다.나머지 연산자, 생성자, 멤버 변수는 동일합니다.예시를 들고 예시에 사용된 멤버 변수만 설명하는 방식으로 이번글을 써보겠습니다.설명한 부분 이외의 생성자, 연산자, 멤버 변수는 set container와 동일하므로 여기서 보시면 되겠습니다.1) multiset containerset container 와 같이 key 값을 저장합니다. set container 와 달리 중복된 key 값을 저장 할 수 있습니다. 원소를 삽입하면 자동으로 정렬이 됩니다.2) mult..