본문 바로가기
반응형

개발/알고리즘36

Bubble Sort 정리 목표 bubbleSort 알고리즘 이해 자바스크립트로 bubbleSort 구현 bubbleSort 특징 이해 bubbleSort 알고리즘의 시간복잡도 이해 BubbleSort 알고리즘의 개념 서로 인접한 두 원소를 비교하여 크기순으로 정렬한다. 첫번째 원소와 두번째 원소를, 두번쨰 원소와 세번째 원소를,... 이런 식으로 마지막-1 번째 원소와 마지막 원소를 반복 비교하며 크기순으로 정렬 한다. 1회전을 수행하고 나면 가장 큰 원소가 맨 뒤로 이동한다. 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외된다. 이렇게 회전이 늘어날 수록 제외되는 데이터가 늘어난다. 선택 정렬과 기본개념이 유사하다. BubbleSort 예시 BubbleSort 자바스크립트 코드 const bubbleSort = function.. 2021. 10. 16.
알고리즘 20 : Binary Heap(Max) BinaryHeap 배열의 최대값, 최솟값을 찾아내는 메소드는 다음과 같다. Math.max(...arr) Math.min(...arr) 위 메소드들은 배열의 모든 요소를 순회한다. 이는 배열의 길이가 길때 연산시간이 오래걸린다는 단점이 있다. BinaryHeap은 시간복잡도를 줄이면서 최대값, 최솟값을 빠르게 찾아내기 위한 자료구조 알고리즘이다. 이진 힙에서 부모 노드의 값이 자식 노드의 값보다 큰 경우를 최대 힙(max heap), 반대의 경우를 최소 힙(min heap)이라고 한다. (이진 트리이므로 자식노드는 2개이다.) 문제 정수를 요소로 갖는 배열을 입력받아 이진 힙(binary heap)*을 리턴해야 합니다. 이진 힙(binary heap)은 노드의 값이 특정한 순서를 가지고 있는 완전 이진.. 2021. 10. 14.
알고리즘 19 : robotPath 문제 세로와 가로의 길이가 각각 M, N인 방의 지도가 2차원 배열로 주어졌을 때, 1은 장애물을 의미하고 0 이동이 가능한 통로를 의미합니다. 로봇은 지도 위를 일분에 한 칸씩 상하좌우로 이동할 수 있습니다. 로봇의 위치와 목표 지점이 함께 주어질 경우, 로봇이 목표 지점까지 도달하는 데 걸리는 최소 시간을 리턴해야 합니다. 입력 인자 1 : room 배열을 요소로 갖는 배열 room.length는 M room[i]는 number 타입을 요소로 갖는 배열 room[i].length는 N room[i][j]는 세로로 i, 가로로 j인 지점의 정보를 의미 room[i][j]는 0 또는 1 인자 2 : src number 타입을 요소로 갖는 배열 src.length는 2 src[i]는 0 이상의 정수 src.. 2021. 10. 13.
알고리즘 13-2 : spiralTraversal,배열 나선형으로 순회 https://wnsdufdl.tistory.com/142 알고리즘 13 : spiralTraversal, 배열 나선형으로 순회 문제 2차원 M x N 배열을 나선형(spiral)으로 순회해야 합니다. 입력 인자 1 : matrix 세로 길이(matrix.length)가 M, 가로 길이(matrix[i].length)가 N인 2차원 배열 matrix[i]는 string 타입을 요소로 갖는 배.. wnsdufdl.tistory.com 저번에 올린 알고리즘은 일일히 배열을 수작업으로 순회하는 알고리즘이었다. 이번엔 레퍼런스코드를 보고 자동화된 알고리즘을 익혔다. spiralTraversal 문제 2차원 M x N 배열을 나선형(spiral)으로 순회해야 합니다. 입력 인자 1 : matrix 세로 길이(ma.. 2021. 10. 13.
반응형