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 |