본문 바로가기

Computer Science2

빅-오 표기법 (Big-Oh Natation), 시간 복잡도(Time Complexity) 시간 복잡도란?문제를 해결하는데 걸리는 시간과 입력의 함수 관계해당 알고리즘이 얼마나 효율적인지 정량화해 나타내는 지표빅-오 표기법이란?입력값에 따른 알고리즘의 실행 시간 성장률(시간 복잡도)을 점근적 상한선으로 나타낸 수학적 표기법 해당 알고리즘의 성능을 나타내기 위해선 입력값의 크기에 따른 알고리즘의 실행 시간을 알아야 합니다.입력값의 크기에 따라 이 함수가 얼마나 빨리 커지는지 알아볼 필요성이 있습니다. 이것을 실행 시간의 성장률(rate of growth)이라 합니다.성장률에서 상수 계수와 중요하지 않은 항목을 제거한 것을 점근적 표기법(asymptotic notation)이라 합니다.big-Θ중요한 것은 선형 검색의 최악의 경우의 실행 시간은 배열 크기인 n에 따라 커진다는 것입니다. 여기서 실.. 2020. 5. 14.
객체 지향 프로그래밍 : Object-Oriented Programming(OOP) 객체 지향 프로그래밍(Object Oriented Programming:OOP)이란? 기존의 절차 지향형 프로그래밍 방식에서 벗어나 프로그램을 객체라는 기본 단위로 나누고 추상화하여 이 객체들의 상호작용으로 서술하는 프로그램 설계 방법론이자 개념의 일종 클래스 (Class) 어떤 문제를 해결하기 위한 데이터를 만들기 위해 현실 사물을 추상화를 거쳐 객체의 속성과 행위를 변수와 메서드로 정의한 것 객체를 정의하는 틀, 혹은 설계도 객체 (Object) 속성과 행위를 가진 객체 지향 프로그램의 기본단위 클래스에 의해 정의되어 프로그램이 실행되는 동안 실존하는 실체 혹은 인스턴스 추상화 (Abstraction) 현실의 사물들을 객체라 생각하고 상태, 행위 등 객체의 특징점을 선별하여 프로그래밍하는 것 캡슐화 .. 2019. 10. 22.