728x90
반응형

개발/알고리즘 개념 정리 5

[알고리즘] 이분 검색

이분 검색: 정렬된 배열에서 탐색 범위를 절반씩 줄이며 원하는 값을 효율적으로 찾는 알고리즘  코드 예시function solution(target, arr) { let answer; // 오름차순 정렬 arr.sort((a, b) => a - b); let lt = 0; let rt = arr.length - 1; while (lt target) { rt = mid - 1; } else { lt = mid + 1; } } return answer;}let arr = [23, 87, 65, 12, 57, 32, 99, 81];console.log(solution(32, arr));

[알고리즘] 삽입 정렬

삽입 정렬: 현재 요소를 그보다 앞쪽의 정렬된 부분과 비교하여 적절한 위치에 삽입하여 정렬을 완성하는 알고리즘 코드 예시function solution(arr) { let answer = arr; for (let i = 0; i = 0; j--) { if (arr[j] > tmp) { arr[j + 1] = arr[j]; } else { break; } } arr[j + 1] = tmp; } return answer;}let arr = [11, 7, 5, 6, 10, 9];console.log(solution(arr)); 개념 문제다음 자료에 대하여 삽입 정렬을 사용하여 오름차순으로 정렬한 경우 Pass 2의 결과는?64, 28, 33..

[알고리즘] 버블 정렬

버블 정렬: 인접한 두 요소를 비교하여 정렬하는 단순한 정렬 알고리즘 코드 예시function solution(arr) { let answer = arr; for (let i = 0; i arr[j + 1]) { [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]; } } } return answer;}let arr = [13, 5, 11, 7, 23, 15];console.log(solution(arr)); 개념 문제다음 자료에 대하여 버블 정렬을 사용하여 오름차순 정렬할 경우 1회전 후의 결과는?8, 5, 6, 2, 4 1회전:5, 8, 6, 2, 45, 6, 8, 2, 45, 6, 2, 8, 45, 6, 2, 4, 8

[알고리즘] 선택 정렬

선택 정렬주어진 리스트에서 가장 작은 요소를 찾아서 맨 앞의 요소와 교환하는 과정을 반복하여 정렬  코드 예시function solution(arr) { let answer = arr; for (let i = 0; i  개념 문제다음 자료에 대하여 선택 정렬(Selection Sort)을 이용하여 오름차순으로 정렬하고자 한다. 3회전 수행 결과는?8, 3, 4, 9, 7 1회전: 3, 8, 4, 9, 72회전: 3, 4, 8, 9, 73회전: 3, 4, 7, 9, 8

[알고리즘] 스택 / 큐

스택: 후입선출, LIFO (Last-In, First-Out)마지막에 들어온 것이 가장 먼저 나가는 방식ex. 웹 브라우저에서 뒤로 가기 / 앞으로 가기명령어설명push()스택의 맨 위에 요소를 추가pop()스택의 맨 위 요소를 제거하고, 제거된 값을 반환peek() 또는 top()스택의 맨 위 요소를 제거하지 않고 반환isEmpty()스택이 비어 있는지 확인  큐: 선입선출, FIFO (First-In, First Out)처음에 들어온 것이 가장 먼저 나가는 방식ex. 은행에서 대기열 처리 명령어설명push()큐의 맨 뒤에 요소를 추가 (enqueue)shift()큐의 맨 앞 요소를 제거하고, 제거된 값을 반환 (dequeue)front()큐의 맨 앞 요소를 제거하지 않고 반환isEmpty()큐가 비..

728x90
반응형