clock() 함수를 사용한 수행시간 측정 알고리즘의 성능을 분석하고자 할 때 동일한 조건의 컴퓨터에서의 동일한 조건에서 수행시간을 측정하는 방법을 알아보자. 실제 사용할 수 있는 경우는 제한적이지만 대단히 정확하고 확실한 방법이다. clock() 함수는 호출 프

알고리즘 복잡 분석은 코드를 직접 구현하지 않고도 모든 입력을 고려하는 방법이다. 실행 하드웨어나 소프트웨어 환경과는 관계 없이 알고리즘의 효율성을 평가할 수 있다.알고리즘의 수행 시간 분석을 시간 복잡도(time complexity) 라고 한다.연산의 수를 입력의 개
순환 순환이란 어떤 알고리즘이나 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법이다. 순환은 본질적으로 순환적인 문제나 그러한 자료구조를 다루는 프로그램에 적합하다. 그리고 대부분의 순환적인 형태의 코드는 반복적인 형태로도 변환이 가능하다. 장점 순환은
스택은 LIFO: Last-In First-Out (후입선출) 이다. 즉 스택은 자료의 출력순서가 입력순서의 역순으로 이루어져야 할 경우에 적합한 자료구조이다. 스택의 대표적인 예로는 다음이 있다. 운영체제가 사용하는 시스템 스택 텍스트 에디터 되돌리기 기능 스마트
큐는 FIFO: First-In First-Out (선입선출) 구조이다.큐는 현실세계의 실제상황을 시뮬레이션 하는 상황에서 많이 응용된다.1차원 배열을 이용하여 구현한 큐선형큐는 삽입과 삭제를 반복하다보면 rear이 맨 마지막 인덱스를 가리키고 앞에는 비어있을 수 있
배열을 이용한 리스트 구현 빠름 크기가 고정됨 연결리스트 크기 제한 안됨 중간에서도 쉽게 삽입 삭제 구현이 복잡함 임의의 항목을 추출할 때 배열보다 오래걸림 하나의 프로그램에서 여러 연결리스트들은 첫번째 데이터로 구별 첫번째 데이터만 알 수 있다면 연결 리스트의 나머
트리 = 비선형 자료구조 , 계층적인 자료를 표현하는데 적합한 자료구조 인공지능 문제- 결정트리 트리는 한 개 이상의 노드로 이루어진 유한 집합이다. 용어 부모노드(parent node) 자식노드(children node) 형제관계(sibling) 조상노드(an
우선순위 큐는 우선 순위의 개념을 큐에 도입한 자료구조이다.응용되는 사례는 다음과 같다.시뮬레이션 시스템네트워크 트래픽 제어운영 체제에서의 작업 스케쥴링수치 해석적인 계산우선순위 큐는 여러 방법으로 구현이 가능한데, 가장 효율적인 구조는 heap이다.완전 이진 트리의
객체 사이이 연결 관계를 표현할 수 있는 자료 구조정점(vertex)와 간선(edge)들의 유한 집합G = {V, E}무방향 그래프 (undirected graph)방향 그래프 (directed graph)가중치 그래프(weighted graph) 부분 그래프(subg