Computer Science

Computer Science/Network

[Network] 무선 통신망의 방향성인 5G, 6G 기술에 대해서 각각 그 특징과 차이를 조사하고, 요약

본 포스팅은 학교 수업에서 제출했던 과제입니다. 5G란 무엇인가 5G통신은 쉽게 말하면, ‘1차선 도로가 10차선 도로로 변했다’는 것입니다. 대역폭이 넓어졌으니 지금보다 10배 이상 더 빠르게 음성, 영상 등을 주고 받을 수 있습니다. 뒷 부분에 작성을 하겠지만, 이 때문에 초고속, 초저지연성, 초연결성등이 5G의 가장 큰 특징으로 꼽힙니다. 기존의 4G의 속도는 1Gbps입니다. 하지만 5G 기술의 이론적인 최대 속도는 20Gbps 입니다. 위와 같은 빠르다는 특징으로 현대사회에서 생활적으로 산업적으로 많은 변화를 가져다 주고 있습니다. 5G 기술은 어떻게 동작할까? 그리고 특징은 무엇이 있을까? 5G 기술은 네트워크 아키텍처 전반에서 여러가지 발전된 요소를 채택하였습니다. 먼저, 5G는 다양한 주파..

Computer Science/Network

[Network] TCP/IP 프로토콜 구조에 대해서 설명해보자.

본 포스팅은 학교 수업 과제였습니다. 1. 각 계층의 이름을 쓰고, (국문 + 영문) 계층 (Layer) 네트워크 접속 계층 - Network Access Layer 인터넷 계층 - Internet Layer 전송 계층 - Transport Layer 응용 계층 - Application Layer 2. 각 계층이 수행하는 주요 기능을 기술하고, (1). 네트워크 액세스 계층 네트워크 액세스 계층은 물리적인 네트워크 매체와 상호작용하여 데이터 프레임을 송수신하고 괸리한다. 이 계층에서 주요기능은 데이터 프레임을 전기적 신호로 변환하여 물리적 매체를 통해 전송하며, 노드 간 데이터 송수신을 관리하기위해서 MAC(Media Access Control) 주소를 사용하여 목적지 노드를 식별한다. 또한 다중 접근 ..

Computer Science/Algorithm

[Algorithm] 세그먼트 트리(Segment Tree)에 대해서 알아보자

세그먼트 트리(Segment Tree)란 세그먼트 트리(Segment Tree)는 효율적으로 배열 또는 리스트와 같은 순차적인 데이터 구조에서 구간 쿼리(구간 검색 또는 구간 연산)를 수행하기 위한 자료구조입니다. 주로 구간 합, 구간 최솟값, 구간 최댓 값 등을 빠르게 계산하는데 사용됩니다. 세그먼트 트리는 트리 구조로 표현되며, 각 노드는 배열의 일부 구간에 대한 정보를 저장합니다. 일반적으로 이진 트리 형태를 가지며, 아래와 같은 구성요소를 가집니다. 루트 노드 : 배열 전체 구간에 대한 정보를 저장합니다. 각 내부 노드 : 두 자식 노드의 구간 정보를 합친 결과를 저장합니다. 이를 통해 트리를 아래로 내려가면서 구간 정보를 계산할 수 있습니다. 리프 노드 : 배열의 개별 원소를 나타냅니다. 세그먼..

Computer Science/Algorithm

[Algorithm] 비트마스크 (BitMask) 알고리즘에 대해서 공부하자.

비트마스크 (BitMask) 란 컴퓨터는 내부적으로 모든 자료를 이진수로 표현한다. 이와 같은 특성을 이용해 정수의 이진수 표현을 자료구조로 쓰는 기법을 비트 마스크라고 한다. 비트(bit) 용어 그대로 비트와 관련된 내용이라고 생각하면 편하다. 비트는 0, 1값을 갖고 이를 false/true 또는 off/on 라는 상태를 나타내기도 한다. 이를 흔히 말하는 이진법을 사용하는 것을 의미한다. 비트마스크의 장점 1. 수행 시간이 빠르다. 비트마스크 연산은 bit 연산이기 때문에 O(1)에 구현되는 것이 많다. 따라서 다른 자료구조를 이용하는 것보다 훨씬 빠르게 동작하게 된다. 다만, 비트마스크를 이용하는 경우에는 비트의 개수만큼 원소를 다룰 수 있기 때문에 연산 횟수가 적은 경우에는 속도에 큰 차이가 없..

Computer Science/DataStructure

[DataStructure] Priority Queue(우선 순위 큐) feat. JAVA

Priority Queue PriorityQueue란 우선순위 큐로써 일반적인 큐의 구조 FIFO(First In First Out)를 가지면서, 데이터가 들어온 순서대로 데이터가 나가는 것이 아닌 우선순위를 먼저 결정하고 그 우선순위가 높은 데이터가 먼저 나가는 자료구조이다. PriorityQueue를 사용하기 위해선 우선순위 큐에 저장할 객체는 필수적으로 Comparable Interface를 구현해야한다. Comparable Interface를 구현하면 compareTo method를 override 하게 되고 해당 객체에서 처리할 우선순위 조건을 리턴해주면 PriorityQueue 가 알아서 우선순위가 높은 객체를 추출 해준다. PriorityQueue는 Heap을 이용하여 구현하는 것이 일반적이..

Computer Science/DataStructure

[DataStructure] 해쉬 테이블(HashTable)이란 feat. Java

이전에 해쉬란 무엇인가에 대해서 정리를 하였지만, 또 정리를 더 자세하게 해보고 이번 포스팅에서는 직접 기능까지 구현해보자 https://superohinsung.tistory.com/113 [Algorithm] Hash(해시) 란 Hash 란? 해시란 임의의 크기를 가진 데이터(Key)를 고정된 크기의 데이터(Value)로 변화시켜 저장하는 것이다. 키에 대한 해시값을 사용하여 값을 저장하고 키-값 쌍의 갯수에 따라 동적으로 크기가 superohinsung.tistory.com 해쉬 테이블 이란 키(Key)에 데이터(Value)를 매핑할 수 있는 데이터 구조이다. 해쉬 함수를 통해, 배열에 키에 대한 데이터를 저장할 수 있는 주소(인덱스 번호)를 계산할수 있으며, Key를 통해 바로 데이터가 저장되어 ..

Computer Science/Algorithm

[Algorithm] 에라토스테네스의 체, 소수찾기 feat. Java

소수(Prime Number) 소수란 보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다. 예를 들어, 5는 1×5 또는 5×1로 수를 곱한 결과를 적는 유일한 방법이 그 수 자신을 포함하기 때문에 5는 소수이다. 그러나 6은 자신보다 작은 두 숫자의 곱(2×3)이므로 소수가 아닌데, 이렇듯 1보다 큰 자연수 중 소수가 아닌 것은 합성수라고 한다. 1과 그 수 자신 이외의 자연수로는 나눌 수 없는 자연수로 정의하기도 한다. 에라토스테네스의 체 소수를 빨리 찾을 수 있는 알고리즘이다. 과정 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 자기 자신을 제외한 2의 배수를 모두 지운다. 자기 자신을 제외한 3의 배수를 모두 지운다. 자기 자신을 제외한 5의 배수를 모두 지운다. 자기 자신을 제..

Computer Science/Algorithm

[Algorithm] 최소공배수, 최대공약수와 유클리드 알고리즘 (GCD, LCM)

최대공약수(GCD, Greatest Common Divisor) 최대 공약수란 두 자연수의 공통된 약수 중 가장 큰 수 이다. 두 개 이상의 정수의 최대공약수는 해당 정수들의 공통된 약수 중 가장 큰 값이다. 예를 들어, 8과 12의 최대공약수는 4 이다. 최소 공배수(LCM, Least Common Multiple) 최소 공배수란 두 자연수의 공통된 배수 중 가장 작은 수이다. 두 개 이상의 정수의 최소공배수는 주어진 정수들 중에서 모든 정수가 동시에 나누어 떨어지는 가장 작은 정수이다. 예를 들어, 8과 12의 최소공배수는 24이다. 유클리드 알고리즘 유클리드 알고리즘은 두 정수의 최대공약수를 구하는데 사용되는 알고리즘이다. 두 정수 a와 b에 대해서, a를 b로 나눈 나머지를 구하고, 그 나머지를 ..

Tenacity_Dev
'Computer Science' 카테고리의 글 목록