git에는 코드를 복사하여 독립적인 작업을 진행할 수 있도록 도와주는 기능으로 브랜치가 있다. git에서 commit을 하면 파일에 대한 정보, 디렉토리 구조에 대한 정보, 이전 커밋에 대한 포인터 등의 정보 등이 저장된다. 브랜치는 일종의 포인터로 현재 작업중인 가장 마지막의 commit을 가리킨다. head는 현재 작업하는 브랜치를 가리키는 포인터이다. git checkout 브랜치이름 명령어로 head를 이동시킬 수 있다. head가 가리키는 브랜치가 앞으로 수행되는 commit을 계속 따라가게 된다. 각각의 브랜치에서 commit을 수행하면 분기가 되어 별도의 commit을 진행한다. 브랜치의 분기는 git log --graph --all로 확인할 수 있다. 브랜치를 만들면서 head까지 바로 이..
원소를 삽입할 때 Enqueue, 원소를 제거할 때 Dequeue를 한다. 큐는 FIFO(first in, first out, 선입선출)의 특성을 같는다. 큐는 머리(head)와 꼬리(tail)을 갖는 데, 원소는 꼬리로 삽입되고 머리에서 제거된다. tail은 원소가 삽입될 위치를 가리키며 head는 삭제될 원소를 가리킨다. 따라서 head=tail이면 큐는 비어있으며, 이때 원소를 삭제하려고 하면 underflow가 발생한다. head=tail+1 또는 head=1일 때 tail이 배열의 마지막 원소를 가리키는 상태이면 큐가 가득찬 상태이며, 이때 원소를 삽입하려고 하면 overflow가 발생한다. 수행시간 Enqueue와 Dequeue에는 O(1)만큼의 시간이 걸린다.
- Total
- Today
- Yesterday
- 취미
- recursive
- 재귀함수
- C++
- Verilog
- 이분법
- backtracking
- 구조체
- 완전탐색
- 건이의 특제 떡국 끓이기
- 백트래킹
- BOJ
- 이진탐색
- 구현
- BFS
- 정렬
- 영어 어휘
- 스택
- Push
- C언어
- 베릴로그
- Git
- 너비우선탐색
- 알고리즘
- 백준
- gem5
- 영화
- 큐
- 메이플스토리
- 애니메이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |