주어진 조건(Condition)에서 컴퓨터를 사용하여 효율적으로 문제를 해결하는 방법알고리즘의 성능 평가 방법 중에서 가장 많이 사용하는 방법최선의 성능, 최악의 성능 중 최악의 선능에 대한 측정 방법처리해야 할 데이터의 양과 상관없이 항상 일정한 실행 시간을 갖는 알
대부분의 알고리즘에서 사용하는 기본 자료구조알고리즘에서 사용하는 데이터와 다음 노드를 가르키는 링크를 묶어서 노드로 정의하여 사용C나 C++과 같은 프로그래밍 언어에서는 포인터(Pointer)의 개념으로 링크를 사용파이썬에서 연결 리스트를 사용하기 위해서는 노드(Nod
링크가 하나 더 추가된었다는 점을 제외하고는 그다지 바뀐 부분이 없음기본적인 알고리즘은 단일 연결 리스트의 경우와 다르지 않으며 단순히 prev링크에 대해서만 몇가지 고려해주면 됨 연결 리스트 링크가 하나만 존재하는 단일 연결 리스트 링크가 2개 존재하는 이중 연결리
입력과 출력을 한 방향으로 제한한 알고리즘바닥부터 데이터를 차곡 차곡 쌓는 개념회전 초밥집에서 다 먹은 그릇을 쌓아 놓는 것처럼 데이터를 쌓아 놓는다는 의미나중에 들어온것이 첫번째로 나감
입력과 출력을 다른 방향으로 함FIFO(First In First Out)방식극장 매표소 앞에서 줄을 서는 것과 비슷배열로 구성되어 있지만, 시간적인 효율성 측면에서 배열로 하든 연결 리스트로 하든 상관없음스택과 큐 모두 검색과정이 필요 없기 때문미리 정해놓은 배열의
트리는 노드와 링크를 이용한 자료구조연결 리스트와 사뭇 다름트리 구조는 우리 주변의 일상에서 쉽게 볼 수 있는 구조한 가족의 계보를 나타내는 족보나 회사의 조직도 등을 보면 트리 구조 형태로 되어 있음트리 구조는 노드와 노드를 연결하는 링크로 구성되어 있음가장 상위에
전위 순회(Pre-Order Traverse)중위 순회(In-Order Traverse)후위 순회(Post-Order Traverse)단계 순회(Level-Order Traverse)전위 순회는 루트 노드를 만저 탐색하고이진 트리에서 왼쪽에 있는 노드부터 방문한다는 의
데이터를 처음부터 끝가지 훑어 가면서 가장 작은 값을 찾은 후그 값을 첫 번째 데이터와 자리를 바꾸고그 다음 두 번째로 작은 데이터를 찾아 두 번째의 데이터와 자리를 바꾸는 방법으로 구현되는 알고리즘O(N^2)의 실행 시간반복문을 2번 사용하여 O(N^2)의 성능이 되
선택 정렬 알고리즘이 정렬되지 않은 데이터 중에 가장 작은 값을 찾아 정렬하는 방식이라면삽입 정렬 알고리즘은 그러한 작은 값을 찾는 검색 과정이 필요 없는 정렬 알고리즘순차적으로 정렬하면서 현재의 값을 정렬되어 있는 값들과 비교하여 위치로 삽입하는 방식삽입 정렬 알고리