2021년 2월 22일 복기(TIL REDUX)

Ji Taek Lim·2021년 2월 21일

04_bubbleSort

문제
정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 합니다.
버블 정렬(bubble sort)은 여러 정렬 알고리즘(삽입 정렬, 퀵 정렬, 병합 정렬, 기수 정렬 등) 중 가장 기본적인 알고리즘입니다.

버블 정렬 알고리즘은 아래와 같습니다.
첫 번째 요소가 두 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap)
두 번째 요소와 세 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap)
1, 2를 마지막까지 반복합니다. (마지막에서 두 번째 요소와 마지막 요소를 비교)
1~3의 과정을 한 번 거치게 되면, 가장 큰 요소가 배열의 마지막으로 밀려납니다.
1~3의 과정을 첫 요소부터 다시 반복합니다.
5를 통해 두 번째로 큰 요소가 배열의 마지막 바로 두 번째로 밀려납니다.
1~3의 과정을 총 n번(배열의 크기) 반복합니다.
이 모습이 마치 '거품이 밀려 올라가는 것과 같은 모습'과 같아서 bubble sort라고 부릅니다.

Case 1

function bubbleSort(arr) {
  let isSorted = false;
  for (let i = 0; i <= arr.length - 1; i++) {
    if (arr[i] >= arr[i + 1]) {
      [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
      isSorted = true;
    }
  }
  return isSorted ? bubbleSort(arr) : arr;
}

https://velog.io/@760kry/JS-Sorting-Algorithms

https://www.youtube.com/watch?v=ltw4FYagLfM

Single Side Routing

https://www.youtube.com/watch?v=xq34NS4S59o

Redux

https://velog.io/@velopert/using-redux-in-2021

https://velopert.com/3533

https://www.youtube.com/watch?v=CVpUuw9XSjY

블로그

https://qiita.com/mpyw/items/a816c6380219b1d5a3bf?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items

https://www.youtube.com/watch?v=poQXNp9ItL4

/// STORE -> GLOBALIZED STATE

/// ACTION INCREMENT

const increment = () => {
  return {
    type: "INCREMENT",
  };
};
const decrement = () => {
  return {
    type: "DECREMENT",
  };
};

/// REDUCER
const counter = (state = 0, action) => {
  switch (action.type) {
    case "INCREMENT":
      return state + 1;
    case "DECREMENT":
      return state - 1;
  }
};

let store = createStore(counter);

// Disply it in the console

store.subscribe(() => console.log(store.getState()));

/// DISPATCH

store.dispatch(increment());
store.dispatch(decrement());
store.dispatch(decrement());
profile
임지택입니다.

0개의 댓글