카테고리 없음

2022.10.18.(水)

Unsung 2022. 10. 19. 17:18

CS50

선택정렬

 
(의사코드)
n개의 값이 있을때
0번째~n-1번째 배열을 돌면서
For i from 0 to n–1
    i번째 아이템과와 마지막 아이템 사이에서 가장 작은 값을 찾는다. 
    Find smallest item between i'th item and last item
    찾아서 가장 작은 값과 i번째 아이템과 자리를 서로 바꾼다.
    Swap smallest item with i'th item

(예시)
4개의 값 1,2,3,4 
i가 [0] ~ [3]가 될때까지 반복하는데
  i번째 원소에서 마지막 원소를 돌며 가장 작은 값의 원소를 찾고
  i번째 원소와 가장 작은 값의 원소의 자리를 서로 바꾼다.

Big-O(order)
O(n^2) - 버블정렬, 선택정렬
O(n log n)
O(n) - 선형 검색
O(log n) - 이진 검색
O(1)

Big Ω(omega)
Ω(n^2) - 버블정렬, 
Ω(n log n)
Ω(n) - 배열 안에 존재하는 값의 개수 세기, 선택정렬
Ω(log n)
Ω(1) - 선형 검색, 이진 검색

 


모던 Javascript 튜토리얼

주석

// 한 줄 주석
/* 여러 줄 주석 */
  • 나쁜 주석 : 코드에서 무슨 일이 일어나는지에 대해 적기

리팩토링 팁

  • 함수 분리, 함수 만들기
  • 자기 설명적(self-descriptive) 코드 : 함수 이름 자체가 주석 역할을 하게 함
  • 좋은 주석
    • 아키텍쳐 설명
    • 함수용례와 매개변수 정보 (수학공식을 미리 적어놓듯이)
    • 왜 사용했는지 설명 주석 : 나중에 더 좋은 코드를 사용하게 돕는다
    • 미묘한 기능, 기능의 쓰임