Computer Science

✨Stack(스택) 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 구조가 단순해서 구현이 쉽다. 데이터 저장/읽기 속도가 빠르다. class stack: def __init__(self): self.items = [] def push(self, item): self.items.append(item) def peek(self): return self.items[-1] def pop(self): if len(self.stack) < 1: return None return self.stack.pop() ✨Queues(큐) 먼저 들어간 자료가 먼저 나오는 자료구조. 자료를 넣는 Enqueue 함수와 자료를 빼내는 Dequeue 함수를 가진다. 선..
✨배열(array) 배열은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다 인덱싱이 되어 있어 인덱스 번호로 데이터에 접근할 수 있다. array=[] array1=[1,2] ✨해시 유일한 값(반복되지 않는 값)을 저장하기 위한 자료구조 [키,값] 형태로 저장 해시 값을 배열의 인덱스로 사용하여 값을 저장하고 검색하는 방식이다. 매우 빠른 데이터 검색을 할수있다. dict={1:"aa",2:"bb"} 🎈참고자료 https://ko.wikipedia.org/wiki/%EB%B0%B0%EC%97%B4 https://junvelee.tistory.com/153
✨시간 복잡도(Time complexity) 문제를 해결하는데 걸리는 시간과 입력의 함수 관계를 가리킨다. ✨빅오 표기법(big-O notation) 인자가 특정한 값이나 무한대로 향할 때 함수의 극한적인 동작을 설명하는 수학적인 표기법 알고리즘의 시간복잡도는 주로 빅-오 표기법으로 나타낸다. ✨ 상수시간 for n in arr: print(1) 주어지는 n값과 상관없이 O(1)의 수행시간을 가진다. ✨선형 시간 for n in arr: print(arr[n]) 주어지는 n값에 따라 O(n)의 수행시간을 가진다. ✨2차 시간 for n in arr: for x in arr: print(n,x) 주어지는 n값에 따라 O(n^2)의 수행시간을 가진다. 🎈참고자료 https://ko.wikipedia.org/..
✨알고리즘(Algorithm) 수학과 컴퓨터과학에서 사용되는, 문제 해결 방법을 정의한 '일련의 단계적 절차'이자 어떠한 문제를 해결하기 위한 '동작들의 모임이다. 특정 문제를 효율적이고 빠르게 해결하기 위해서는 효율적인 알고리즘을 공부해야한다. ✨자료구조(Data Structure) 자료(data)를 담는 구조, 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미 🎈참고자료 https://ko.wikipedia.org/wiki/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 https://librewiki.net/wiki/%EC%8B%9C%EB%A6%AC%EC%A6%88:%EC%88%98%ED%95%99%EC%9D%B8%EB%93%AF_%EA%B3%BC%ED%95%..
✨3-Way Handshake TCP 통신 프로토콜 에 따라 두 호스트 간의 연결을 세단계로 설정한것. 클라이언트, 서버 모두 데이터를 전송할 준비가 되었다는 것을 보장하기 위한 것이다 연결 시 TCP 데이터 전송에 사용할 시퀀스 번호를 정의한다. (가상의 통신로를 확보하기 위해) TCP 패킷의 TCP 플래그 부분이 활용된다(CWR,ECE,URG,ACK,PSH,SYN,FIN) ✨3-Way Handshake 순서 1.연결 확립 요청 SYN(Synchronize) 클라이언트 ->서버 SYN의 비트가 활성화되어 1 바뀐 세그먼트를 전송 -SYN를 1로 설정 -Sequence Number는 클라이언트의 최초 순서 번호(client_isn)로 설정 (SYN 연결이 이루어지도록 요청하는 의미) 2.연결 확립에 대한..
✨OSI 모형(Open Systems Interconnection Reference Model) OSI 모형(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. (개념적 모델로 실제 통신에서는 구현되지는 않음) ✨TCP(Transmission Control Protocol) 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하고 전송하기 전에 데이터 전송을 위한 연결을 만드는 연결지향 프로토콜이다. (전송프로토콜이다.) 오류제어,연결 지향,신뢰성,흐름 제어,다중화 의 특징들을 가진다. ✨IP(Internet Protocol) 송신 호스트와 수신 호스트가 패킷 교..
✨패킷(packet) 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보(헤더)와 사용자 데이터(페이로드)로 이루어진다. 헤더(Header) 페이로드(Payload) 데이터를 전송하기 위한 정보 전송하고자 하는 실제 데이터 ex)소스 주소,대상 주소, 버전, TTL, 프로토콜, 헤더 체크섬 ex)보내고자한 데이터 예시) IP 패킷의 헤더 (https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%ED%8C%A8%ED%82%B7) 🎈참고자료 https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%ED%8C%A8%ED%82%B7 h..
라이브러리(Library) 프레임워크(Framework) 정의 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능을 모듈화한 것 - 프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조 - 소프트웨어 개발에 있어 하나의 뼈대 역할 주체성 제어 흐름에 대한 주도성이 사용자에게 있음 제어 흐름에 대한 주도성이 프레임워크에 있음 특징 코드를 재사용하기 쉽다. 기능들을 가져다쓰며 개발 시간을 단축할 수 있다. 컴파일 시간을 단축할 수 있다. 개발자가 따라야 하는 가이드를 제공한다. 개발할 수 있는 범위가 정해져있다. 개발자를 위한 다양한 도구 , 플로그인들을 지원한다. 유지 보수가 쉬움 정형화 되어 있어 일정수준 이상의 품질을 기대할 수 있음 개발 시간을 줄일 수 있음 ..
아사_
'Computer Science' 카테고리의 글 목록 (10 Page)