CS 스터디 5

[자료구조] - 선형 자료 구조

선형 자료 구조란 요소가 일렬로 나열되어 있는 자료 구조를 뜻한다. 연결 리스트연결 리스트는 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화 시킨 자료구조 삽입/삭제: O(1)탐색: O(n)위의 그림처럼 prev 포인터와 next 포인터로 앞과 뒤의 노드를 연결시킨 것이 연결 리스트이다.싱글 연결 리스트: next 포인터만 가짐.이중 연결 리스트: next 포인터와 prev 포인터를 가짐.원형 이중 연결 리스트: 이중 연결 리스트와 같고, 마지막 노드의 next 포인터가 head 노드를 가리킴.#include#include using namespace std;int main() { list a; a.push_front(0); a.push_back(1); a.p..

CS 스터디 2024.10.17

[자료 구조] - 복잡도

자료 구조란,효율적으로 데이터를 관리하고 수정, 삭제, 탐색, 저장할 수 있는 데이터 집합ex) 배열, 스택, 큐, 이중 연결 리스트 등이 있다.복잡도복잡도는 시간 복잡도와 공간 복잡도로 나뉜다. 시간 복잡도시간 복잡도란 '입력 크기에 대해 어떠한 알고리즘이 실행되는 데 걸리는 시간' 주요 로직의 반복 횟수를 중점으로 측정되며, 보통 빅오표기법으로 나타낸다.효율적인 코드로 개선하는 데 쓰이는 척도.빅오표기법입력 범위 n을 기준으로 해서 로직이 몇 번 반복되는 지 나타내는 것.가장 영향을 많이 끼치는 항의 상수 인자를 빼고 나머지 항을 없앤 것이다. => O(n^2) 보단 O(n), O(n) 보단 O(1)를 지향해야 함.  공간 복잡도프로그램을 실행시켰을 때 '필요로 하는 자원 공간의 양' 정적 변수로 선..

CS 스터디 2024.10.16

[네트워크] HTTP/1.0/1.1/2/3

HTTP : Hypertext Transfer Protocol웹에서 데이터를 주고받는 서버-클라이언트 프로토콜(수신자 측에 의해 요청이 초기화 됨). 웹 브라우저와 서버가 통신하는 규칙.HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP/1.0HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계.서버로부터 파일을 가져올 때마다 TCP 3-way-handshake를 계속해서 열기 때문에 RTT(Round Trip Time: 패킷 왕복 시간) 증가RTT 증가를 해결하기 위한 방법이미지 스플리팅: 이미지가 합쳐 있는 하나의 이미지를 다운로드 받고, background-image의 position을 이용하여 이미지를 표기코드 압축: 코드를 압축해서 개행 문자, 빈칸을..

CS 스터디 2024.10.12

[네트워크] - IP 주소

인터넷 계층에서 쓰이는 IP 주소에 대해 알아보겠습니다 ㄱㄱ ARP (Address Resolution Protocol)=> IP 주소로부터 MAC 주소를 구하는 프로토콜 IP 주소는 가상 주소. MAC 주소는 실제 주소.*RARP: MAC 주소를 IP 주소로 변환 장치 A가 ARP Request 브로드캐스트를 보내면 IP 주소가 120.70.80.3에 해당하는 MAC 주소를 찾는다.그러고 나서 해당 IP 주소인 장치 B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환해 준다.  - 브로드캐스트: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식 - 유니캐스트: 고유 주소로 식별된 네트워크 목적지에 1:1로 데이터를 전송하는 방식 Hop By Hop IP 주소를 통해 ..

CS 스터디 2024.10.10

[네트워크] 네트워크의 기초 - 처리량, 지연시간, 네트워크 토폴로지

네트워크란? 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합 노드: 서버, 라우터, 스위치 등 네트워크 장치를 의미링크: 유선 또는 무선을 의미처리량과 지연시간좋은 네트워크란 많은 처리량을 처리하며, 지연 시간이 짧고, 장애 빈도가 적으며, 좋은 보안을 갖춘 네트워크처리량(throughput)링크 내에서 성공적으로 전달된 데이터의 양. 얼만큼의 트래픽을 처리했는지.많은 트래픽을 처리 == 많은 처리량을 가진다 단위는 bps(bits per second)처리량은 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간의 에러, 장치의 하드웨어 스펙에 영향을 받는다.대역폭: 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수트래픽특정 시점에 링크 내에 '흐르는' 데이터의 양ex. 서버에..

CS 스터디 2024.10.06