가장 작은 요소부터 선택해 알맞은 위치로 옮겨서 순서대로 정렬하는 알고리즘 선택정렬은 다음과 같은 순서로 이루어진다.주어진 리스트에서 최솟값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다. 정렬된 요소를 제외한 나머지 리스트를 같은 방법으로 교체한다.(반
선택한 요소를 그보다 더 앞쪽의 이미 정렬된 배열 부분과 비교하여 알맞은 위치이 '삽입' 하는 작업을 반복하여 정렬 두 번째 요소부터 선택하여 진행한다. 앞의 요소와 비교하며 삽입할 위치를 찾는다. 두 번째 요소는 1 번째 요소와 비교 세 번째 요소라면
이웃한 두 요소의 대소 관계를 비교하여 교환을 반복하는 정렬 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다. 맨 끝 두 개의 요소를 비교한다. 저울로 비교한다고 생각. (맨 앞에서 시작한다면 반대로 생각해서 진행) 오른쪽
배열을 앞부분과 뒷부분으로 나누어 각각 정렬한 다음 합병하는 작업을 반복하여 정렬 합병정렬은 안전 정렬에 속하며, 분할 정복 알고리즘의 한 종류이다. 분할 정복 알고리즘이란? 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이나 알고리
삽입 정렬의 장점은 살리고 단점은 보완하여 좀 더 빠르게 정렬하는 알고리즘 위에서 공부한 삽입정렬 특징을 간략하게 정리하자면 정렬을 마쳤거나 정렬을 마친 상태에 가까우면 정렬 속도가 매우 빨라진다.(장점) 삽입할 위치가 멀리 떨어져 있으면 이동해야 하는 횟수
퀵 정렬은 일반적으로 사용되고 있는 아주 빠른 정렬 알고리즘이다. 분할 정복 알고리즘의 하나이다.퀵 정렬은 한 요소인 피벗(pivot)을 지정하여 기준점으로 잡는다. 불안정 정렬에 속하며, 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다. 분할 정복
데이터를 일시적으로 저장하기 위한 자료구조로, 가장 나중에 넣은 데이터를 가장 먼저 꺼낸다.(후입선출 - Last In First Out)top - 스택의 가장 윗부분 (꼭대기)bottom - 스택의 가장 아랫부분 (바닥)push(item) - 데이터를 넣는 작업pop
데이터 사이의 계층 관계를 노드로 나타낸 자료구조루트 트리의 가장 윗부분에 위치하는 노드를 루트(root)라고 한다. 하나의 트리에는 하나의 루트가 존재한다.리프 트리의 가장 아랫부분에 위치하는 노드를 리프(leaf)라고 한다. 가장 아랫부분의 의미는 물리적으로
vertex(정점)와 edge(간선)로 구성된 한정된 자료구조를 의미노드 (Node) / 정점(vertex)→ 특정 위치간선 (Edge)→ 위치 간의 관계, 정점을 연결한 선정점 0과 1은 간선으로 연결 → 이 때 두 노드는 인접(Adjacent)하다.차수(Degre
임의의 데이터를 받아서 특정 해시값을 반환하는 함수출처 : https://www.varonis.com/blog/the-definitive-guide-to-cryptographic-hash-functions-part-1/일관성이 있어야 한다."dog"을 넣었을