과거에 나는 DFS와 BFS에 대해서 간단하게 정리한 경험이 있다. 이번에는 다시 한번 더 공부겸 좀 더 많은 것들을 기록하고자 다시 한번 더 포스팅을 해보자.https://superohinsung.tistory.com/176 [DataStructure] 트리(Tree)트리란 자료구조에서 트리(Tree)는 계층적인 구조를 갖는 비선형 자료구조이다. 트리는 노드(Node)들로 구성되며, 이들 간에 부모-자식 관계가 있다. 최상위 노드를 루트(Root)라고 하고, 각 노드는 0superohinsung.tistory.com 그래프 탐색(Graph Traversal)은 그래프의 모든 정점을 방문하는 과정이다. DFS (Depth-First Search)란?DFS는 한 정점에서 시작하여 가능한 한 깊이 내려간 후..
부분집합이란?어떤 집합 S = {1, 2, 3}이 주어졌을 때, 이 집합에서 만들 수 있는 부분집합은 다음과 같다.{}{1}, {2}, {3}{1,2}, {1,3}, {2,3}{1,2,3}즉, 원소가 N개인 집합에서 만들 수 있는 부분집합의 개수는 2^N개이다.각 원소를 포함할지 말지를 결정하면 되므로 N개의 원소에 대해 각각 "선택" 또는 "비선택" (2가지 선택지)가 주어지기 때문이다. 재귀함수를 이용한 부분집합 with Javaimport java.io.BufferedReader;import java.io.InputStreamReader;// 부분집합: 재귀함수 버전public class SubSet { private static int N; private static int[] input; //..
1. 순열(Permutation)순열은 주어진 N개의 원소 중에서 R개를 뽑아 순서를 고려하여 나열하는 경우의 수를 의미한다.즉, N개의 요소에서 R개를 선택하여 나열하는 방법의 수이다.순열 구현 (Java, 재귀함수 이용)import java.util.Arrays;import java.util.Scanner;// 순열: 재귀함수 버전// 원소 개수, 뽑을 개수, 원소들 입력받기public class Permutation { private static int N; private static int R; private static boolean[] isSelected; // 원소 선택여부 체크배열 private static int[] numbers; // 하나의 경우를 담는 배열 private sta..
컴퓨터에서의 실수 표현 방식컴퓨터에서 실수를 표현하는 방식에는 두 가지가 있다.고정 소수점(Fixed Point) 방식부동 소수점(Floating Point) 방식 고정 소수점(Fixed Point) 이란?고정 소수점(fixed point)은 정수를 표현하는 비트와 소수를 표현하는 비트 수를 미리 고정하여, 해당 비트만을 활용하여 실수를 표현하는 방식이다.소수점의 위치가 고정되어 있다.숫자를 저장할 때 소수점의 위치가 미리 정해져 있다.예를 들어, Q8.8 형식이면 정수부 8비트 + 소수부 8비트로 고정됨.즉, 모든 숫자는 항상 같은 위치에 소수점이 있다고 가정하고 저장됨.개념 및 원리처음 1비트는 부호(Sign)를 나타낸다. 양수는 0, 음수는 1.다음 15비트는 정수부(Integer Part)를 나타..
WebSocket이란WebSocket은 웹 브라우저와 서버 간에 양방향 실시간 통신을 가능하게 하는 프로토콜이다. 일반적인 Http 요청과 달리, WebSocket은 연결이 지속적으로 유지되어 서버와 클라이언트 간에 즉시 메시지를 전달할 수 있다. 이는 실시간 채팅, 게임, 주식 시세 애플리케이션 등에 사용되는 기술이다. WebScoket의 원리HTTP 통신의 특징인 (연결 -> 연결 해제) 때문에 효율이 많이 떨어지게 되고, 웹 브라우저 말고 외부 플러그인이 항상 필요하게 되는 상황을 극복하고자 2014년 HTML5에 웹 소켓을 포함하게 되었다. 웹소켓은 클라이언트가 접속 요청을 하고 웹 서버가 응답한 후 연결을 끊는 것이 아닌 Connection을 그대로 유지하고 클라이언트의 요청 없이도 데이터를 전..
Android에서 이미지 파일을 업로드하거나 수정 및 삭제 연산을 하는 경우가 많았다. 이에 어떤 확장자를 사용하는 것이 더욱 효율적일까에 대해서 고민을 하다가, 우선적으로 JPG와 PNG에 대해서 알아보고자 정리를 하였다. JPG란Joint Photographic Experts Group의 약자이다. JPEG 파일은 비교적 작은 크기를 유직하면서 1680만 개의 색상을 표현할 수 잇다. 다음과 같은 파일 확장자는 모두 JPEG에 해당한다.사실적인 사진을 일반 PC에서 사용할 수 있을 정도로 그래픽 파일을 압축하는 자체 표준이다. 사람의 눈으로 볼 수 없는 시각적 데이터를 제거하고 색상 변형을 평균화하는 손실 압축 개념을 내놓았다..jpg.jpeg.jpe.jif.jfif.jfi 장점JPEG파일은 대부분의..
부동 소수점 오류에 대해서 알아보기 전에 부동 소수점이란 무엇일까컴퓨터는 모든 수를 0과 1로 이루어진 2진수로 표현한다. 이것은 정수뿐만 아니라 소수점이 존재하는 실수도 마찬가지이다. 정수의 경우 이러한 표현이 간단하지만, 실수를 2진수로 표현하는 것은 복잡하다. 실수를 표현하기 위한 다양한 방법들이 연구되었고 현재는 크게 2가지 방식이 존재한다.고정 소수점 (fixed point) 방식부동 소수좀 (floating point) 방식 고정 소수점 (fixed point) 방식실수는 보통 정수부와 소수부로 나뉘는다. 실수를 표현하는 방법은 소수부의 자릿수를 미리 정하고, 고정된 자릿수의 소수를 표현하는 것이다. 32비트 CPU에서 고정 소수점 방식을 실수로 표현하면 1비트 -> 부호15비트 -> 정수부1..
본 포스팅은 학교 수업에서 제출했던 과제입니다. 5G란 무엇인가 5G통신은 쉽게 말하면, ‘1차선 도로가 10차선 도로로 변했다’는 것입니다. 대역폭이 넓어졌으니 지금보다 10배 이상 더 빠르게 음성, 영상 등을 주고 받을 수 있습니다. 뒷 부분에 작성을 하겠지만, 이 때문에 초고속, 초저지연성, 초연결성등이 5G의 가장 큰 특징으로 꼽힙니다. 기존의 4G의 속도는 1Gbps입니다. 하지만 5G 기술의 이론적인 최대 속도는 20Gbps 입니다. 위와 같은 빠르다는 특징으로 현대사회에서 생활적으로 산업적으로 많은 변화를 가져다 주고 있습니다. 5G 기술은 어떻게 동작할까? 그리고 특징은 무엇이 있을까? 5G 기술은 네트워크 아키텍처 전반에서 여러가지 발전된 요소를 채택하였습니다. 먼저, 5G는 다양한 주파..