2. 네트워크 가장자리
·
컴퓨터 네트워크/Ch1. 컴퓨터 네트워크와 인터넷
Reference : 컴퓨터 네트워킹 하향식 접근 [8판] / 퍼스트 북 / James F. Kurose, Keith W. Ross 건국대학교 컴퓨터 네트워크 수업 / 김기천 교수님 네트워크 가장자리에서 네트워크 코어로 이동하고 컴퓨터 네트워크에서의 스위칭 (교환)과 라우팅 (경로설정)에 대해 살펴볼 것이다 호스트는 클라이언트 (client)와 서버 (server)로 구분된다 클라이언트 (client) : 데스크톱, 노트북, 스마트폰등을 의미 서버 (server) : 웹 페이지를 저장하고 비디오를 스트리밍하는 등 강력한 기능을 갖춘 컴퓨터 오늘날 검색 결과, 웹 페이지, 비디오를 수신하는 많은 서버는 커다란 데이터 센터(data center) 내에 있다 접속 네트워크 접속 네트워크 (access netw..
1. 인터넷이란 무엇인가?
·
컴퓨터 네트워크/Ch1. 컴퓨터 네트워크와 인터넷
Reference : 컴퓨터 네트워킹 하향식 접근 [8판] / 퍼스트 북 / James F. Kurose, Keith W. Ross 건국대학교 컴퓨터 네트워크 수업 / 김기천 교수님 인터넷이란 무엇인가? 2가지 관점에서 답할 수 있다 1. 구성요소로 본 인터넷 인터넷 : 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크 2. 서비스 측면에서 본 인터넷 인터넷 : 애플리케이션에 서비스를 제공하는 인프라 구조 구성요소로 본 인터넷 1. 인터넷의 구성요소 너트와 볼트 용어 정리 호스트(host) or 종단 시스템(end system) : 인터넷에 연결된 모든 장치들 => 2022년에 285억 개에 이른다고 한다 => 호스트는 통신 링크와 패킷 스위치의 네트워크로 연결된다 통신 링크 (commu..
1. 탐색
·
다양한 글들/자료구조와 알고리즘
Reference: - 이것이 자료구조+알고리즘이다 with C언어 / 박상현 / 한빛미디어 - 건국대학교 컴퓨터공학과 자료구조 수업 / 김성렬 교수님 1. 탐색이란? 무언가를 찾는다 컴퓨터 세계에서의 무언가 = 데이터 즉, 데이터를 찾는다 순차 탐색 가장 간단한 탐색 알고리즘 이진 탐색 놀라운 성능을 보여주는 탐색 알고리즘이지만 모든 자료구조에서 사용할 수 있는 것은 아님 각 요소가 메모리에 순차적으로 적재되어 있어 그 주소를 바로 계산할 수 있는 배열에서나 사용이 가능 이진 탐색 트리 데이터의 크기가 동적으로 변경되는 경우에도 이진 탐색과 동일한 성능으로 탐색을 가능하게 하는 자료구조 레드 블랙 트리 이진 탐색 트리를 한층 더 개선한 것 2. 정렬되지 않은 배열에서의 탐색 - 순차 탐색 (Sequen..
알고리즘이란
·
자료구조와 알고리즘/자료구조와 알고리즘의 정의
알고리즘 : 어떤 문제를 풀기 위한 단계적 절차 ex) 정렬, 탐색, 해싱 등 알고리즘을 설계 : 문제 풀이 절차를 설계한다는 의미 알고리즘을 구현 : 프로그래밍 언어를 이용해서 문제 풀이 절차를 실제로 동작하는 코드로 작성한다는 의미 알고리즘을 공부한다는 것 : 어떤 문제를 분석해서 컴퓨터가 알아들을 수 있는 형태로 해법을 설계하고 구현하는 과정을 익힌다는 의미 알고리즘을 이해한다는 것 : 알고리즘 동작에 소요되는 메모리(공간)와 프로세싱 파워(시간)를 깊이 이해하고, 자원을 효율적으로 활용하면서도 고성능의 코드를 작성하는 방법을 익힐 수 있음 알고리즘을 공부해야 하는 이유 : 어떤 문제를 해결할 때 가장 적절한 API를 선택하는 데에 도움이 됨 ex) 메모리 효율과 탐색 속도 중 어느 요소를 더 중요..
재귀 recursion
·
카테고리 없음
수학적 귀납법의 기본형 : p(1)이 참이고, p(n-1)->p(n)이 참이면, p(n)은 모든 자연수 n에 대해서 참이다 명제 p -> q의 의미 p가 참, q가 참 -> 전체 참 p가 참, q가 거짓 -> 전체 거짓 p가 거짓, q가 참 -> 전체 참 (Vacuously true) p가 거짓, q가 거짓 -> 전체 참 (Vacuously true) Vacuously true란? 공허한 참, 말은 맞지만, 무의미하다는 뜻이다. 즉 p가 거짓이면 항상 Vacuously true 이다 하지만 p가 참일때는 증명을 해줘야 한다 int sum(int x) { if(x 1에서 x까지의 합에 대한 코드 ==> 이해하기 위해서는 수학적 귀납법 필요 p(1)이 참이고 n=1 일 때, 1이 나오므로 참 , p(n-1)..
자료구조란?
·
자료구조와 알고리즘/자료구조와 알고리즘의 정의
자료구조 (Data Structure) : 컴퓨터가 데이터를 효율적으로 다룰 수 있게 도와주는 데이터 보관 방법과 데이터에 관한 연산의 총체 ex) int 자료구조 : 32비트 메모리 공간 안에 수를 할당하되 첫 비트를 부호 표현에 사용하는 등의 '보관 방법'을 정의 자료구조는 단순 자료구조 (Primitive Structure)과 복합 자료구조 (Non-Primitive Structure) 로 나뉜다 단순 자료구조 int, long과 같은 프로그래밍 언어에서 통상적으로 제공하는 기본 데이터 형식 복합 자료구조 선형 자료구조 데이터 요소를 순차적으로 연결하는 자료구조 구현하기 쉽고 사용하기도 쉽다 비선형 자료구조 선형 자료구조와 달리 데이터 요소를 비순차적으로 연결하는 자료구조 한 데이터 요소에서 여러 ..
3. 객체 생성과 객체 활용
·
C++/[책 정리] 명품 C++ 프로그래밍
객체의 생성과 객체 이름 객체는 클래스 모양과 기능을 그대로 간직한 실체로서 이름을 가진다 기본 타입의 변수를 선언하는 것과 같은 방법으로 객체를 생성하고 이름을 붙인다. int money;// int 타입의 변수 money 생성 Circle donut;// Circle 클래스의 객체 생성, 객체 이름은 donut Circle pizza;// Circle 클래스의 객체 생성, 객체 이름은 pizza 변수가 생성되면 메모리에 변수 공간이 할당되는 것처럼, 객체가 생성되면 클래스 크기의 메모리가 할당된다. 객체의 멤버 접근 객체이름.멤버 => 객체의 멤버에 접근하기 위해서는 객체 이름 뒤에 .(점)을 찍고 그 뒤에 멤버를 쓴다 donut.radius = 1;//donut 객체의 radius 멤버에 1 기록 ..
2. C++ 클래스 만들기
·
C++/[책 정리] 명품 C++ 프로그래밍
클래스 만들기 C++에서는 class 키워드를 이용하여 클래스를 선언 C++ 클래스는 C 언어의 구조체(struct)와 같이 개발자가 정이하는 새로운 데이터 타입 Circle은 반지름 값을 가지는 radius 멤버 변수와 외부에 원의 면적 값을 제공하는 getArea() 멤버함수를 가지고 있음 클래스는 클래스 선언부(class declaration)와 클래스 구현부(class implementation)으로 나뉘어 작성됨 클래스 선언부 : class 키워드로 클래스의 모양을 선언 클래스 구현부 : 클래스의 멤버 함수들을 구현 클래스 선언부 - 클래스 : class 키워드와 이름으로 선언 class Circle // Circle 이름의 클래스 선언 { .... };// 반드시 세미콜론(;)으로 종료 - 클..