목록CS (18)
Written by coh at home

결론부터 말하면자바의 HashSet은 Contains()의 시간복잡도가 O(1)이다.hash함수를 적용한 값을 버킷에 담고 있기 때문에 특정 문자열을 찾는 속도가 상수시간만큼 걸리는 것이다. HashTable은 가장 기초적인 자료구조로 Key와 Value의 pair이다. 키값을 해쉬화해서 인덱스로 만든 후 버킷의 인덱스에 자료를 저장하게 된다. HashMap도 똑같이 동작한다. 똑같이 동작한다면 왜 두 개의 컬렉션 라이브러리가 있는 것일까?결론부터 말하면 동기화 여부와 null허용 여부이다. HashTable은 자바 1.0부터 나왔고 HashMap은 자바1.2부터 나왔다.HashTable은 동기화가 설정되어 있고 HashMap은 동기화가 설정되지 않았다. 따라서 속도는 HashMap이 빠르나 멀티스레드..
백준의 1654번 랜선자르기 문제를 해보면 탐색을 해서 적절한 값을 찾아야 한다.이때 완전탐색을 하게되면 시간초과가 뜨게 된다. 그래서 이분탐색을 해야한다.package baekjoon;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Lan { private static final List arr = new ArrayList(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); int k = sc.nextInt(); int n = sc.nextInt(); ..
교재에 대한 설명. 좋은 기술이란?? Good Technology is Invisible. -> 연필, 자동차, 모터, 컴퓨터 IoT와 같이 보이지 않는 곳에서 device들은 데이터를 주고 받는다. 이런 데이터들은 통신을 통해 주고받게 되며 이는 5개의 layer로 구성이 된다. Physical, Data link, Network, Transport, Application. 4개의 layer는 device에 내장되어 개발할 때 신경쓸 필요가 없고 우리는 Application부분을 개발하게 된다. 이때 Application을 개발할때 socket을 이용하게 되는데 socket은 API이다. API는 개발자가 개발을 편하게 하기 위한 library라고 생각하면 된다. 예를 들어 printf 같은 것을 우리..

Netpractice는 네트워크에 대한 기본 개념을 배울 수 있는 과제이다. 해당 과제에서는 다음과 같은 용어들이 사용된다. 1. subnet, subnetmask2. boradcast 주소3. IP address. # Network의 역사 : subnet의 등장 배경.네트워크는 컴퓨터 통신망 또는 데이터 통신망이다. 집에 있는 노트북을 떠올려보자. 정처기 기준으로는 DTE, 데이터 종단기기라고 부르고 다른 용어로는 End Point 혹은 End node 혹은 host라고 한다. 데이터통신에선 host를 주로 사용하여 host라고 하겠다. 노트북이 공유기를 통해 wifi에 접속하게 되면 노트북은 IP주소를 할당받는다. IP주소는 쉽게말하면 도로명주소다.누군가 나에게 편지를 보낸다면 실제 도로명 주소를 ..

Network Layer의 기본장치는 Router Datalink Layer의 기본장치는 collision domain이 두 개면 bridge. 그 이상이면 switch Physical Layer의 기본장치는 2개의 host간의 연결이면 Repeater. multiport repeater이면 hub. hub의 물리적 topology는 star형이지만 논리적으로는 bus형이므로 Collision Domain은 하나이다. 그리고 상위 계층의 장비들은 하위계층의 기능을 모두 포함하고 있다. 예컨데 라우터로 repeater처럼 동작시킬 수 있는 것이다. 스위치는 당연히 1계층 역할로도 동작하고 2계층 역할로도 동작한다. 스위치는 스위치테이블을 갖고 데이터를 전달해주게 되는데 가장 처음에는 빈 테이블이었다가 Fr..

제목은 Data link layer의 기능 중 하나이다. Multiple Access Protocol은 3가지로 나뉜다. 1. Random Access Protocol 2. Controlled-access Protocol 3. Channelization protocol Random Access Protocol은 contention-based protocol이라고도 하며 1. ALOHA 2. CSMA/CD : 유선LAN 3. CSMA/CA : 무선LAN 이렇게 3가지 프로토콜이 있다. 이 프로토콜의 특징은 노드의 우선순위가 없고 다른 노드를 컨트롤 할 수가 없다는 것과 매체의 상태에 따라 보낼지 말지를 결정한다는 것이다. Stop and Wait Protocol은 매체의 상태와 관계없이 보냈었다. -ALO..

첫사랑. 잊혀지지 않는 첫사랑이 다들 있을 것이다. 첫 프로토콜도 마찬가지이다. 미친소리 같은가? 미친소리 맞다. Stop & Wait protocol : A frame is transmitted and then stop. And wait for an Ack. 대원칙은 다음과 같다. 1. sender는 보내고 Timer를 동작시킨다. 2. Receiver는 받으면 그 즉시 응답한다. (Acknowledge를 보낸다.) 3. Timer가 expired될 때까지 Ack이 오지 않는다면 해당 frame을 retransmission한다. 현재는 frame에 sequence가 없다. 그래서 어느 frame인지 알 수가 없다. 그래서 필요없는 중복된 프레임이 들어온다면 걸려낼 수가 없다! 이때 sequence nu..

1. data link layer하면 떠올라야 하는 것들이 있다. 앞서 기술했던 것을 다시 말해보면 전송의 기본단위는 frame. 목적은 node to node delivery. 주소는 physical layer. 실제 주소의 예는 MAC주소. 기능은 framing, error control. flow control. (media) access control. 실제 프로토콜의 예는 X.25, 802.11, 802.03, HDLC, ARP, RARP등등 Data link layer는 두 개의 sublayer를 갖는다. (1)Data link control sublayer (2)Media Access control sublayer 그래서 앞으로 데이터링크 레이어 = DLC + MAC라고 알면 된다. MAC주..