목록CS (10)
log.Sehee
선형 자료구조 (Linear) : 자료들 간 앞, 뒤 관계가 1:1의 선형관계 배열(Array), 연결리스트(Linked List), 스택(Stack), 큐(Queue) 배열 (Array) : 가장 많이 사용되는 자료구조 연관된 데이터를 하나의 변수에 그룹핑해서 관리한다. Python에서는 리스트 타입이 배열 기능을 제공한다. 배열의 대표적인 기능 조회 : O(1)의 조회시간을 가진다. 삽입 & 삭제 : 배열 끝에서 추가 및 삭제는 O(1) 정렬 : 어떤 정렬 알고리즘을 사용하는가에 따라 시간 복잡도가 다르다. 검색 : 첫 원소부터 끝 원소까지 O(N) 정렬이 되어있는 배열 = O(log N) 구현 # 1차원 배열 arr = [1, 2, 3, 4, 5] print(arr[0]) # [1, 2, 3, 4,..
프로그래밍 패러다임 : 프로그래밍 스타일, 전체적인 프로그래밍 방식 프로그래밍을 구성하는 요소들을 어떤 관점으로 보고 이해하는지, 어떤 관점을 가지고 개발을 할 지 결정하는데 도움을 주는 것 종류 명령형 프로그래밍 (Imperative Programming) 객체지향형 프로그래밍(OOP, Object-Oriented Programming) 절차지향형 (PP, Procedural Programming) 선언형 프로그래밍 (Declarative Programming) 논리형 (Logic Programming) 함수형 (FP, Functional Programming) 명령형 프로그래밍 (Imperative Programming) : 어떤 일을 어떻게 수행할 것인지에 대해 관점을 둔 프로그래밍 1. 객체지향형..

디자인 패턴 컴퓨터 공학에서 디자인 패턴이란 무엇인지 알아보자 : 프로그램을 설계할 때 자주 발생했던 문제점들을 피하기 위해 하나의 규약 형태로 만들어 놓은 설계 패턴 각각의 역할을 지정해 책임을 분리하며 결합도를 낮추고 확장, 테스트, 유지 보수에 용이하다. 디자인 패턴의 이점 : 재사용성, 유지보수성, 확장성, 협업에 용이 [디자인패턴] MVC, MVP, MVVM 비교 MVC (Model, View, Controller) : Controller가 여러 개의 View를 선택할 수 있는 1:N 구조, 가장 단순하며 보편적이다. View와 Model 사이의 의존성이 높다. 어플리케이션이 커질수록 유지보수가 어려워진다. Model : View에 표시되기 위해 필요한 데이터이며 비즈니스 로직을 설명하는 클래스..

메모리 계층 구조 운영체제(Operating System) | 메모리(Memory) 레지스터 (Register) : CPU의 데이터 처리 속도를 높이기 위해 도입한 CPU 내부의 작은 메모리. 휘발성이며 속도가 가장 빠르고 기억 용량이 가장 작다. 캐시 (Cache) : CPU의 처리 속도와 주 기억장치의 접근 속도 차이를 줄이기 위해 사용. L1 / L2 / L3 캐시 등 여러 단계로 나누어진다. 휘발성이며 속도가 빠르고 기억 용량이 작다. +) L1 / L2 / L3 : 숫자가 작을수록 용량이 작고 빠르며 숫자가 클 수록 용량이 크고 느리다. 주기억장치 (RAM, Random Access Memory) : 주 기억 장치는 주로 DRAM을 의미한다. CPU가 현재 처리중인 데이터나 명령만을 일시적으로 ..