2023.04.12 TIL

0

TIL

목록 보기
8/37
post-thumbnail

오늘의 나는 무엇을 잘했을까?

강의 내용을 단순 정리하는 것에서 벗어나서 능동적으로 다른 영상이나 자료들을 찾아가면서 공부했다.

오늘의 나는 무엇을 배웠을까?

  • 정렬 알고리즘

    • 선택정렬 (Selection sort)

      우선 모든 정렬 알고리즘은 오름차순 정렬 기준으로 설명한다. 선택정렬은 특정 자리에 와야 할 요소를 전체에서 선택해서 넣는 알고리즘이다. 예를 들어 0번 인덱스에 와야 할 값은 가장 작은 값인데, 배열을 전체적으로 훑으며 가장 작은 min값을 선택하여 0번 인덱스에 넣는 것이다. 0번 인덱스가 채워졌으면 이제 1번부터 차례로 반복하며 정렬한다.

    • 삽입정렬 (Insertion sort)

      각 인덱스에 어떤 값이 들어가는 지 선택한 선택정렬과 다르게 삽입정렬은 각 값이 어떤 인덱스에 가야할 지 찾는 알고리즘이다. 배열의 앞 부분에서부터 차례로 조금씩 정렬해나가는 알고리즘이다. 각 인덱스의 값들을 보며 앞쪽에 이미 정렬된 부분의 어느 위치에 가야할 지 값들을 비교해나가며 위치를 선정한다.

    • Big-O Notation

      점근 표기법이라고도 부르며, 인풋의 갯수 n에 대한 식으로 알고리즘의 연산 횟수를 나타내었을 때, n의 영향력이 가장 큰 최고차항만 계수를 제외하고 나타내는 표기법이다. 점금 표기법의 핵심은 n이 아주 큰 수라고 가정하는 것이다. 그래서 최고차항의 계수를 무시해도 될 만큼 영향력이 커지기 때문에 200n2200n^2이나 0.5n20.5n^2이나 같은 O(n2)O(n^2)인 것이다.

    • 파이썬 내장 메서드의 시간복잡도 정리

      OperationCodeAverage Case
      인덱싱my_list[index]O(1)O(1)
      정렬my_list.sort()sorted(my_list)O(nlogn)O(nlogn)
      뒤집기my_list.reverse()O(n)O(n)
      탐색element in my_listO(n)O(n)
      끝에 요소 추가my_list.append(element)O(1)O(1)
      중간에 요소 추가my_list.insert(index, element)O(n)O(n)
      삭제del my_list[index]O(n)O(n)
      최솟값, 최댓값 찾기min(my_list)max(my_list)O(n)O(n)
      길이 구하기len(my_list)O(1)O(1)
      슬라이싱my_list[a:b]O(ba)O(b−a)
  • 자바스크립트 this

    정리한 내용은 여기에서

    자바스크립트 this와 bind

  • 웹 컴포넌트

    자세한 정리내용은 여기에서 참고

    Web Component

  • AJAX

    자세한 정리내용은 여기에서 참고

    AJAX로 이뤄낸 비동기 통신

오늘의 나는 어떤 어려움이 있었을까?

코드잇 부트캠프에서 1차 평가가 있었다. 많이 어려웠던 것 같다. 지금까지 공부한 내용들이 머릿속에서 제대로 정리가 되어 있지 않다는 것을 느꼈고, 이건 이거 아닌가? 이런걸로 알고있는데? 와 같이 100% 확신이 들지 않은 채로 머릿속에 떠다니는 지식이 많은 것 같다.

내일의 나는 무엇을 해야할까?

  • Weekly Mission 시작(웹 컴포넌트화)

0개의 댓글