익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
분할 상환 시간 복잡도
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
고급
특수 문자
도움말
문단 제목
2단계
3단계
4단계
5단계
형식
넣기
라틴 문자
확장 라틴 문자
IPA 문자
기호
그리스 문자
그리스어 확장
키릴 문자
아랍 문자
아랍어 확장
히브리 문자
뱅골어
타밀어
텔루구어 문자
싱할라 문자
데바나가리어
구자라트 문자
태국어
라오어
크메르어
캐나다 원주민 언어
룬 문자
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
서식 지정
링크
문단 제목
목록
파일
각주
토론
설명
입력하는 내용
문서에 나오는 결과
기울임꼴
''기울인 글씨''
기울인 글씨
굵게
'''굵은 글씨'''
굵은 글씨
굵고 기울인 글씨
'''''굵고 기울인 글씨'''''
굵고 기울인 글씨
분할 상환 시간 복잡도(amortized time complexity)는 일련의 연산 전체에 대한 총 수행 시간을 평균 내어, 각 연산의 평균적 성능을 분석하는 기법이다. 이는 '''개별 연산은 비쌀 수 있지만, 전체적으로는 효율적인 알고리즘'''을 설계하고 분석하는 데 사용된다. ==개념== 어떤 알고리즘이 대부분의 경우 빠르게 동작하지만, 특정 연산에서만 느릴 수 있는 경우, 그 연산 하나만 보고 최악의 시간복잡도를 판단하면 과하게 보수적일 수 있다. 이때 전체 연산 시퀀스를 분석하여, 연산 1회당 평균적인 시간복잡도를 구하는 것이 분할 상환 분석이다. *총 수행 시간 T(n)에 대해 n개의 연산이 이루어진다면, 평균 시간복잡도는 T(n) / n ==방법== 분할 상환 분석에는 다음 세 가지 주요 기법이 있다: #'''평균법(Aggregate Method)''' #*n개의 연산 전체에 대해 총 시간복잡도를 계산한 후, 이를 n으로 나눔 #*가장 직관적인 방식 #'''회계법(Accounting Method)''' #*각 연산에 "가상 비용(credit)"을 부여해, 싼 연산에서 남긴 비용으로 비싼 연산을 상쇄 #*총 지불한 비용이 실제 전체 시간복잡도를 초과하지 않도록 구성 #'''잠재적 함수법(Potential Method)''' #*자료구조 상태에 따라 정의된 잠재 함수 Φ를 사용하여 시간 분석 #*실제 시간 + 잠재 에너지 변화량 = 상환 시간 ==예시== *'''동적 배열(dynamically resizing array)의 삽입''' **배열이 가득 찼을 때 크기를 2배로 늘리며 복사 → O(n) 시간 발생 **하지만 그 외 대부분 삽입은 O(1) **n개의 삽입 전체에 걸쳐 보면 총 시간은 O(n) → 평균 삽입 시간 O(1) *'''이진 카운터''' **카운터의 비트를 1씩 증가시킬 때, 어떤 연산은 여러 비트를 뒤집음 **n번 증가 연산의 총 시간은 O(n) → 평균 O(1) ==특징== *최악의 경우보다 정확한 예측 가능 *반복되는 연산이 포함된 알고리즘 분석에 적합 *분석은 비결정적인 입력에도 강건함 ==같이 보기== *[[시간 복잡도]] *[[평균 시간 복잡도]] *[[최악 시간 복잡도]] *[[동적 배열]] *[[이진 카운터]] ==참고 문헌== *Tarjan, R. E. (1985). Amortized computational complexity. SIAM Journal on Algebraic and Discrete Methods, 6(2), 306–318 *Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms. MIT Press [[분류:수학]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록