삽입 정렬 (Insertion Sort)
·
Algorithm/Theory
삽입 정렬(Insertion Sort) 소개삽입 정렬은 비교적 간단하고 직관적인 정렬 알고리즘입니다. 작은 데이터를 정렬할 때는 매우 효율적이지만, 데이터의 양이 많아지면 비효율적이 될 수 있습니다. 삽입 정렬의 기본 아이디어는 이미 정렬된 부분 배열을 확장해 나가면서 새로운 요소를 올바른 위치에 삽입하는 것입니다. 삽입 정렬의 의사 코드배열에서 두 번째 요소를 선택하여 시작합니다.두 번째 요소를 이전 요소와 비교하고 필요한 경우 스왑합니다.다음 요소로 계속 진행하고, 잘못된 순서일 경우 정렬된 부분(즉, 왼쪽)을 반복하여 요소를 올바른 위치에 배치합니다.배열이 정렬될 때까지 이 과정을 반복합니다. 삽입 정렬 구현다음은 삽입 정렬을 JavaScript의 ES6 문법으로 구현한 예제입니다:const ins..
선택 정렬 (Selection Sort)
·
Algorithm/Theory
선택 정렬 소개선택 정렬은 정렬 알고리즘 중 하나로, 버블 정렬과 비슷하지만 큰 값을 배열 끝에 위치시키는 대신 작은 값을 한 번에 하나씩 위치에 배열하는 방식입니다. 선택 정렬 동작 방식첫 번째 요소를 가장 작은 값으로 저장합니다.이 요소를 배열의 다음 요소와 비교하여 더 작은 수를 찾을 때까지 계속합니다.더 작은 수를 찾으면, 그 작은 수를 새로운 "최소값"으로 지정하고 배열의 끝까지 계속합니다."최소값"이 처음 시작한 값(인덱스)이 아닌 경우, 두 값을 교환합니다.배열이 정렬될 때까지 다음 요소로 이 과정을 반복합니다. 선택 정렬 의사 코드{for i from 0 to n-1: minIndex = i for j from i+1 to n: if array[j]  선택 정렬 구현..
버블 정렬 (Bubble Sort) 정렬 알고리즘 소개
·
Algorithm/Theory
정렬이란?정렬이란 컬렉션(ex: 배열)의 항목을 재배열하는 과정을 의미합니다. 왜 배워야 하나?정렬은 프로그래밍에서 매우 흔하게 사용됩니다.데이터를 정렬할 수 있는 방법은 많고, 각각 장단점이 있습니다.특정 상황에서 더 빠른 알고리즘이 있습니다. 목표버블 정렬선택 정렬삽입 정렬 기본 내장 JS 정렬array 내장 sortMDN을 살펴보면 문자열은 A, B, C, D 순으로 나오지만 숫자는 오름차순이 아닌 것을 알 수 있습니다. 그 이유는 기본 정렬 순서가 문자열 유니코드에 따르기 때문입니다.하지만 정렬 방식, 정렬의 기준이 되는 속성, 비교 대상을 실제로 지정할 수 있다면 다른 결과를 낼 수 있습니다. 버블 정렬 개요버블 정렬의 개념은 예를 들어 배열을 오름차순으로 정렬한다면, 더 큰 숫자가 한 번에 하..
검색 알고리즘
·
Algorithm/Theory
검색 알고리즘은 컴퓨터 과학에서 필수적인 주제입니다. 데이터를 효율적으로 검색하는 방법을 이해하면 프로그램의 성능을 크게 향상시킬 수 있습니다. 이 글에서는 다양한 검색 알고리즘을 소개하고, 각각의 구현 방법과 시간 복잡도를 설명합니다. 목표선형 검색분류된 배열에서의 이진 검색나이브 문자열 검색 알고리즘선형 검색 소개선형 검색은 가장 간단한 검색 방법 중 하나입니다. 이 방법은 배열의 각 요소를 순서대로 확인하여 값이 일치하는지 확인합니다. JavaScript에서는 indexOf, includes, find, findIndex와 같은 배열 함수를 사용하여 선형 검색을 수행할 수 있습니다.한 번에 하나씩 검색하는 이 방법을 선형 검색이라고 합니다. 선형 검색 연습배열과 값을 받아들이고 그 값이 배열 안에 ..
얼은펭귄
'알고리즘' 태그의 글 목록