TIL

2022.10.18.(火)

Unsung 2022. 10. 18. 14:28

CS50

알고리즘 : 버블정렬

(의사코드)
n개의 값이 주어졌을 때
 n–1번 비교한다.
 인덱스 i 가 0에서 n–2이 될 때까지 반복하는데,
 만약 i번째 원소와 i+1번째 원소의 정렬이 틀리다면
  위치를 바꾼다

 

(예시)
4개의 값 1, 2, 3, 4
비교 횟수는 4-1=3 : 12, 23, 34
인덱스 [0], [1], [2] 3개 = 4-2 = 인덱스2가 될때까지 반복하는데
만약 
> 0번째 원소와 0+1=1번째 원소의 정렬이 틀리다면
> 1번째 원소와 1+1=2번째 원소의 정렬이 틀리다면
> 2번째 원소와 2+1=3번째 원소의 정렬이 틀리다면
위치를 바꾼다

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 튜토리얼

  • 디버깅(debugging) : 스크립트 내 에러를 검출해 제거하는 일련의 과정

Chrome 개발자 도구

  • Sources 패널 : F12 - Sources - 패널
    • Watch : 표현식을 평가 후 결과 보임
    • Call Stack : 중단점을 기준으로 실행경로를 역순으로 표기
    • Scope : 정의된 모든 변수 출력
      • Local : 함수의 지역변수
      • Global : 함수 바깥의 전역변수
  • 콘솔 : F12 - Console
  • 중단점(breakpoint) : F12 - Sources - 패널의 코드 줄번호 클릭
    • 실행의 중지된 시점에 어떤 변수가 어떤 값을 담고 있는지 확인할 수 있다.
    • 새로고침으로 중단점 작동하기
  • 실행 추적하기
    • Resume : 스크립트 실행 다시 시작
    • Step : 다음 명령어를 실행함
    • Step over : 다음 명령어를 실행하되, 함수 안으로 들어가진 않음
    • Step into : 비동기 동작 담당 ??
    • Step out : 함수의 실행이 끝날 때 까지 계속 실행
    • 모든 중단점 비활성화/활성화
    • 예외 발생 시 코드 자동 중지 비활성화/활성화

 

스크립트 내

  • debugger 명령어
function hello(name) {
  let phrase = `Hello, ${name}!`;

  debugger;  // <-- 여기서 실행이 멈춥니다.

  say(phrase);
}
  • console.log : 콘솔에 출력

'TIL' 카테고리의 다른 글

2022.10.24.(月)  (0) 2022.10.24
2022.10.21.(金)  (0) 2022.10.21
2022.10.15.(土)  (1) 2022.10.15
2022.10.13.(木)  (0) 2022.10.13
2022.10.12.(水)  (0) 2022.10.12