# data[].attributes.body
나열된 데이터를 처음부터 차례대로 비교하며 원하는 데이터를 찾는 탐색방법

# data[].attributes.body
기준이 되는 중앙 데이터를 찾는 데이터의 크기와 비교하여 탐색 범위를 왼쪽 또는 오른쪽으로 판단하며(줄여가며) 찾는 탐색 방법

# data[].attributes.headline
탐색 알고리즘의 효율성은 상황에 따라 다름

# data[].attributes.subject
탐색 알고리즘의 효율성은 상황에 따라 다름

# data[].attributes.body
순차 탐색

• 적은 수의 데이터 탐색에 효율

• 탐색할 데이터가 맨 마지막에 위치하거나 수가 많으면 비효율적임

이진 탐색

• 중앙값을 기준으로 탐색 범위를 절반으로 줄이기에 빠름

• 탐색을 위해서 데이터를 오름차순으로 정렬하는 과정이 한 번은 필요함.

# data[].attributes.attachment_link.keywords[]
sorting bubble select selection insert insertion merge random quick counting radix

# data[].attributes.attachment_link.title
VisuAlgo - Sorting (Bubble, Selection, Insertion, Merge, Quick, Counting, Radix)

# data[].attributes.attachment_link.description
Sorting is a very classic problem of reordering items that can be compared (Integers, floating-point numbers, strings, etc) of an array (or a list) in a certain order (increasing, non-decreasing, decreasing, non-increasing, lexicographical, etc).There are many different sorting algorithms, each has its own advantages and limitations.Sorting is commonly used as the introductory problem in various Computer Science classes to showcase a range of algorithmic ideas.Without loss of generality, we assume that we will sort only Integers, not necessarily distinct, in non-decreasing order in this visualization.

# data[].attributes.body
수많은 데이터를 특정 기준에 따라 순서대로 나열하는 것

•오름차순: 데이터를 작은 것부터 큰 순서로 나열하는 방법

ex) 0→9, A→Z, ㄱ→ㅎ

•내림차순: 데이터를 큰 것부터 작은 순서로 나열하는 방법

ex) 9→0, Z→A, ㅎ→ㄱ

# data[].attributes.body
정렬된 순서대로 데이터의 값이 증가한다

# data[].attributes.body
정렬된 순서대로 데이터의 값이 감소한다.

# data[].attributes.headline
1️⃣ 정렬 알고리즘의 종류

# data[].attributes.subject
1️⃣ 정렬 알고리즘의 종류

# data[].attributes.body
데이터가 정렬되는 과정이 거품이 수면 위로 올라오는 듯한 모습을 보여 '버블 정렬'

•정렬 방법: 인접한 두 개의 데이터를 비교하여 자리를 교환하는 방법

https://youtu.be/fxuhgRRqYsY?si=rabE4KB_UeGF12jB

# data[].attributes.body
•정렬 방법: 첫 번째 값을 기준 위치로 정하고, 그 이후의 데이터 중에서 가장 작은(최소) 수를 선택하여 기준 위치의 데이터와 비교하여 교환한다.

https://youtu.be/yXE9kFLHSOs?si=l1pOGEfuyddWp8TT

# data[].attributes.body
•버블 정렬: 인접한 두 개의 데이터를 비교하여 순서를 바꿈, 최악의 경우 모든 데이터 쌍을 교환해야 함.

•선택 정렬: 최솟값 또는 최댓값을 찾아 교환하기에 버블 정렬보다 교환 횟수가 적음.

# data[].attributes.body
문제 해결을 위한 방법이나 절차를 뜻하며, 기본적인 구조는 ‘입력→ 처리 →출력’순으로 작성된다.

# data[].attributes.body
알고리즘은 순차 구조, 선택 구조, 반복 구조로 설계

# data[].attributes.body
알고리즘은 자연어, 의사 코드, 순서도로 표현된다.

•자연어: 인간의 언어 그대로 글로 표현하는 방법

•의사 코드(SUDO): 프로그래밍 언어를 흉내 내어 표현하는 방법

•순서도: 정해진 기호를 이용하여 표현하는 방법

# data[].attributes.body
순서도는 프로그래밍 알고리즘에서 가장 많이 사용되는 알고리즘 중의 하나이다.

# data[].attributes.headline
효율적인 알고리즘은 출력 결과가 나올 때

# data[].attributes.body
효율적인 알고리즘은 출력 결과가 나올 때까지의 메모리 사용량이 적고, 수행시간이 짧은 알고리즘을 뜻한다.

→ 입력과 출력이 같은 알고리즘이라도 사용된 방법에 따라 메모리 사용량과 수행 시간에 차이가 있음.

# data[].attributes.body
https://bit.ly/CodingDoodle