CS/그 외
-
시간복잡도 계산법CS/그 외 2021. 8. 26. 23:40
1. 시간복잡도란? 문제를 해결하는데 걸리는 시간과 입력한 함수 관계로, "연산의 횟수(시행 횟수)"를 센다. 컴퓨터는 코드를 수행하는데 있어서, 유한한 메모리 자원과 시간을 사용한다. 이 때, 메모리를 사용하는 데 평가기준인 공간복잡도(Space Complexity)와 시간을 사용하는 데 평가기준인 시간복잡도(Time Complexity)를 알고리즘 평가 척도로 사용하기도 한다. 2. 중요성 요즘의 컴퓨터는 메모리의 성능향상으로 인해 시간복잡도를 더욱 중요시 판단한다고 한다. 물론 메모리의 낭비를 계산하는 공간복잡도도 중요한 판단 척도이다. 3. 알고리즘의 성능평가 1. 최선의 경우 (Best Case, Big-Ω(오메가 표기법, Ω(n)) - 최적의 입력을 한 상태에서 작업을 완료하는데 가장 빠른 시..
-
SOLID 개발원칙CS/그 외 2021. 8. 19. 20:54
SOLID 란? 객체지향 프로그래밍에서 지향하는 개발 원칙 5가지. Single Responsibility Principle (SRP, 단일 책임 원칙) Open/Closed Principle (OCP, 개방/폐쇄 원칙) Liskov Substitution Principle (LSP, 리스코프 치환 원칙) Interface Segregation Principle (ISP, 인터페이스 분리 원칙) Dependency Inversion Principle (DIP, 의존관계 역전 원칙) 1. Single Responsibility Principle (SRP, 단일 책임 원칙) 소프트웨어의 설계 부품(클래스, 함수 등)은 단 하나의 책임만을 가져야 한다. 책임이 많아지면 클래스 내부의 함수끼리 강한 결합을 발생..