Study (63) 썸네일형 리스트형 [알고리즘] 동적 프로그래밍(Dynamic Programming) 알고리즘 동적 프로그래밍(Dynamic Programming)알고리즘이란? 동적 프로그래밍이란, 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 기본적인 아이디어로 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하나의 문제해결 패러다임으로 볼 수 있다. DP를 사용하는 이유 DP는 일반적인 재귀 방식과 매우 유사하다. 큰 차이점은 일반적인 재귀를 단순히 사용 시 동일한 작운 문제들이 여러번 반복 되어 비효율적인 계산이 될 수 있다는 것이다. 또한 분할정복과 비슷하다고도 생각할 수 있는데 이는 작은 문제가 중복이 일어나는지 안일어나는지 차이점이 있다. 분할정복은 큰 문제를 해결하기 어려워 단지 작은 문제로 .. [알고리즘] 브루트 포스(Brute Force) 알고리즘 완전탐색 브루트 포스 알고리즘이란? 브루트 포스를 직역한다면 브루트(Brute) 무식한 + 포스(Force) 힘 즉, 모든 경우의 수를 무식하게 탐색한다는 것이다. 전체를 탐색한다는 의미해서 전체 탐색, 완전 탐색이라고도 한다. 브루트 포스 알고리즘을 설계할 때는 해가 하나 이상 존재한다는 가정을 세우고 모든 범위를 탐색하기 때문에 정답을 찾을 수 있다. 선형 구조를 전체적으로 탐색하는 순차 탐색, 비선형 구조를 전체적으로 탐색하는 깊이 우선 탐색(DFS, Depth First Search)과 너비 우선 탐색(BFS, Breath First Search)이 가장 기본적인 도구이다. DFS와 BFS는 그래프 알고리즘을 정리할 때 다루어보자. 브루트 포스의 장점과 단점 장점 알고리즘을 설계하고 구현하기 매우.. 11. 멀티미디어 1. 오디오와 비디오의 디지털화 오디오나 비디오 신호를 인터넷으로 보내기 전 우리는 그것들을 디지털화를 할 필요가 있다. 오디오파는 1차원 음향파이다. 음파가 귀에 들어오면 고막이 진동하여 귀 내부의 작은 뼈가 함께 진동하여 뇌에 신경 펄스를 보낸다. 이러한 펄스는 청취자에 의해 소리로 인식된다. 비슷한 방식으로 음파가 마이크에 부딪힐 때, 마이크는 소리의 진폭을 시간의 함수로 나타내는 전기신호를 생성한다. 이러한 오디오 신호의 표현, 처리, 저장 및 전송은 멀티미디어 시스템 연구의 주요 부분이다. - 오디오 디지털화 마이크에 소리가 입력되면 소리 진폭을 시간의 함수로 나타내는 전자 아날로그 신호가 생성된다. 이 신호를 아날로그 오디오 신호라고 한다. 이 신호는 ADC(Analog to Digital C.. 10.3 표준 응용 인터넷이 존재하는 동안 여러 클라이언트-서버 응용 프로그램이 개발되었다. 이 프로그램들을 다시 규정할 필요는 없지만 어떤 일을 하는지 이해를 해야 한다. 또한 각 응용에 대해 어떤 옵션이 사용 가능한지 알아야 한다. 이 응용과 응용이 서로 다른 서비스를 제공하는 방법에 대한 공부는 미래에 맞춤형 응용을 만드는데 도움이 될 수 있다. 1. 월드 와이드 웹(WWW)과 하이퍼텍스트 전송 프로토콜(HTTP) - 월드 와이드 웹(World Wide Web) 웹(Web)의 개념은 유럽원자핵공동연구소에 근무하던 팀 버너스-리가 유렵 내의 다른 장소에 있는 연구자들이 서로의 연구에 접근할 수 있도록 하기 위해 1989년 처음 제안하였다. 상업적인 웹은 1990년대 초반에 시작되었다. - 웹 서비스 모델 웹 서버: 웹 .. 10.1 응용층 소개 & 10.2 클라이언트-서버 패러다임 응용층은 사용자에게 서비스를 제공한다. 논리적 연결을 이용하여 통신이 제공되는데, 그 의미는 두 응용층이 서로 메시지를 송수신할 수 있는 가상의 직접적인 열견이 있는 것처럼 가정 하는 것이다. 1. 서비스 제공 프로세서 간의 논리적 연결 하위 계층에서만 서비스 수신 쉽게 제거하거나 추가할 수 있습니다 표준 또는 비표준 프로토콜이 가능 - 표준 및 비표준 프로토콜 TCP/IP 제품군의 처음 4개 계층은 표준화되고 문서화되어야 한다. 유연성을 위해 애플리케이션 계층 프로토콜은 표준 및 비표준이 될 수 있다. - 표준 응용 계층 프로토콜 인터넷 당국에 의해 표준화되고 문서화되었다. 각 표준 프로토콜은 사용자 및 전송 계층과 상호 작용하여 사용자에게 특정 서비스를 제공하는 컴퓨터 프로그램 쌍이다. 응용 프로그램.. 9.5 스트림 제어 전송 프로토콜(SCTP) 1. SCTP 서비스 - 프로세스 대 스로세스 통신 SCTP는 UDP 혹은 TCP와 마찬가지로 프로세스 대 프로세스 통신을 제공한다. - 다중 스트림 TCP가 스트림-중심 프로토콜이라는 것을 안다. TCP 클라이언트와 TCP 서버 사이의 각 연결은 하나의 단일 스트림을 포함한다. 이러한 접근법에 대한 문제는 스트림의 어느 지점의 손실은 나머지 데이터의 전달을 막아버린다. SCTP는 SCTP용어로 결합 이라고 하는 다중 스트림 서비스를 각 연결에 허용한다. 만약 스트림 가운데 하나가 막히면 다른 스트림은 여전이 데이터를 전달할 수 있다. - 멀티호밍 TCP연결은 하나의 발신지와 하나의 목적지 IP 주소를 포함한다. 이것은 송신기 또는 수신기가 멀티호밍 호스트라 할지라도 이러한 IP 주소들은 목적지당 1개의.. 9.4 전송 제어 프로토콜(TCP) TCP는 연결형, 신뢰성 있는 프로토콜이다. TCP는 연결형 서비스를 제공하기 위하여 분명하게 연결 설정, 연결 해제 단계를 정의한다. TCP는 신뢰성을 제공하기 위해 Go-Back-N과 Selective-Repeat의 결합을 사용한다. 1. TCP 서비스 - 프로세스 대 프로세스 통신 TCP는 UDP처럼 포트 번호를 사용하여 프로세스 간 통신을 제공한다. - 스트림 전달 서비스 TCP는 스트림 중심 프로토콜이다. TCP에서 송신 프로세스는 바이트 스크림으로 데이터를 전달하고 수신 프로세스도 바이트의 스트림으로 데이터를 수신하도록 만든다. 송신 및 수신 프로세스는 똑같은 속도로 데이터를 만들고 처리할 수 없기 때문에 TCP는 저장을 위해서 버퍼가 필요하다. 버퍼를 구현하는 한 방법은 1바이트 구역의 원형.. 9.3 사용자 데이터그램 프로토콜(UDP) UDP는 비연결형이고, 신뢰성이 없는 전송 프로토콜이다. UDP는 호스트 간 통신 대신에 프로세스 간 통신을 제공하는 것을 제외하고는 IP서비스에 어떠한 것도 추가하지 않는다. 그 이유는 단점을 통해 일부 장점을 가져올 수 있기 때문이다. 사용자 데이터그램 이라고 부르는 UDP 패킷은 각각 2바이트(16비트)인 4개의 필드로 만들어진 고정된 크기의 8바이트 헤더를 가지고 있다. 처음 두 필드는 발신지와 목적지 포트 번호를 정의한다. 세 번째 필드는 헤더에 데이터를 더한 사용자 데이터그램의전체 길이를 정의된다. 16비트는 전체 길이 0부터 65,536바이트를 정의할 수 있다. 그러나 하나의 UDP 사용자 데이터그램은 65.535바이트의 총 길이를 가지는 IP 데이터그램에 저장되기 때문에 총 길이는 훨씬 작.. 이전 1 2 3 4 5 6 7 8 다음