2개 이상의 자료를 특정 기준에 의해 작은 값부터 큰 값(오름차순 : Ascending) 혹은 그 반대의 순서(내림차순 : Descending)대로 재배열하는 것키 : 자료를 정렬하는 기준이 되는 특정 값버블 정렬(Bubble Sort)인접한 두 개의 원소를 비교하며
함수 내부에서 직접 혹은 간접적으로 자기 자신을 호출하는 함수일반적으로 재귀적 정의를 이용하여 재귀함수 구현반복구조에 비해 간결하고 이해하귀 쉽다.함수 호출은 프로그램 메모리 구조에서 스택을 사용하는데, 재귀 호출은 반복적인 스택의 사용으로 인해 메모리 및 속도에서 성
서로 다른 것들 중 몇 개를 뽑아서 한 줄로 나열하는 것서로 다른 n개 중 r개를 택하는 순열은 아래와 같이 표현$$nPr$$그리고 nPr은 다음과 같은 식이 성립$$nPr = n(n-1)(n-1)…2\*1$$nPn = n!이라고 표기하며, Factorial이라고 부름
위키백과위키백과물건을 쌓아 올리듯 자료를 쌓아 올린 후입선출(LIFO, Last-In-First-Out)형태의 자료구조FIFO(선입선출) : 먼저 삽입한 자료를 먼저 꺼내는 방식(ex. Stack)LIFO(후입선출) : 가장 나중에 꺼낸 자료부터 꺼내는 방식(ex. Q
비선형 구조원소들 간에 1:N 관계를 가지는 자료구조원소들 간에 계층관계를 가지는 계층형 자료구조상위 원소에서 하위 원소로 내려가면서 확장되는 트리 모양의 구조노드 중 최상위 노드를 루트(Root)라 함나머지 노드들은 n개의 분리집합 T1, T2, …. TN으로 분리될
Dynamic ProgrammingDP의 창시자에 따르면, 다이나믹 프로그래밍이라는 이름은 연구비 예산을 위해서 적당한 이름을 찾다가 나온 것이라고…입력 크기가 작은 부분을 모두 해결한 후, 그 해들을 이용하여 보다 큰 크기의 무제들을 해결, 최종적으로 주어진 입력의
깊이 우선 탐색(DFS, Depth First Search) 루트 노드에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 그래프 탐색의 경우 어떤 노드를 방문했었는지를 반드시 검사해야 함 스택이나, 재귀를 이용하여 구현 깊이