코드의 특정 구간이 실행되기 전에 반드시 참(true)이어야 하는 조건이다.
Assertion이 쓰이기도 한다.
한번 코드로 작성되면 수정되는 일은 거의 없다.
정의되지 않는 경우도 있다.
전제 조건(precondition)이 만족되지 않았어도 사후 조건은 만족될 수 있다.
프로그램 실행 중에 변경될 수 있다.
사후조건이 만족되지 않아도 프로그램이 특별히 하는 것은 없다.
코드의 특정 구간이 실행된 후에 반드시 참(true)이어야 하는 조건이다.
주로 자료구조(data structure)라고 불린다.
C 또는 Java 등 특정 프로그래밍 언어에 연관되지 않는다.
데이터와 데이터를 조작하는 함수 등으로 이루어진다.
은닉화(encapsulation)을 제공한다는 장점이 있다.
O(n)
O(n / 100)
O(2n)
O(log n)
O(n) = O(n + 50)
O(n) = O(10n + 100)
O(n) = O(n^2)
O(n) = O(n + log n)
스택(stack)
큐(queue)
트리(tree)
그래프(graph)
2n - 1
2n + 1
2^n - 1
2^n + 1
반복 알고리즘(iterative algorithm)
재귀 알고리즘(recursive algorithm)
이진 해법(binary solution)
위에 언급된 모두 해당
© Seunggon Kim