-final project 진행 중
-final project 백엔드: 서비스 시작(실 사용자 받기), 피드백 받은 부분 수정 진행
-개인학습 : 알고리즘 자료구조 스택, 큐(선형 큐, 원형 큐 - deque)
-매일 백준 알고리즘 문제 풀이
큐(Queue)
큐는 스택과 다르게 "선입선출 (FIFO : First In First Out) " 구조를 가지고 있다. 큐는 마치 치킨 집 벽에 달린 밑에 구멍이 있는 휴지케이스 처럼 먼저 들어 온 것이 먼저 나가는 구조이다. 또한 은행 반호표 체계가 큐 구조이다.
- Queue 연산 종류
CreateQueue : 큐 생성. 맨 앞을 나타내는front
, 끝을 나타내는rear
는 초기에 인덱스 -1
Enqueue : 큐에 요소를 추가. rear + 1을 하고 그 자리에 요소를 추가.
Dequeue : 큐에서 맨 앞의 요소를 뺀다. front + 1을 하고 그 자리에 있던 요소를 출력한다.
isFull : 큐가 꽉 찼는지 확인. rear = n - 1, 즉 rear가 마지막 인덱스를 가리키면 꽉 찬 것.
isEmpty : 큐가 비었는지 확인. front = rear이면 큐가 비었다고 판단한다.
QPeek : 큐에서 맨 앞의 요소를 빼내지 않고 값을 확인한다.선형 큐
배열을 선형으로 사용하여 구현된 큐이다. 데이터를 넣을때마다 번거로움이 있다는 문제점이 있는 방식이다. 삽입을 계속하기 위해서는 요소들을 이동시켜야 한다. 또한 인덱스를 감소하지는 않고 증가만 하면서 사용하는 방식이라 실제로 앞부분에는 데이터가 없을 때에도 비어있는 공간을 활용할 수 없어 비효율적인 부분이 있다.
원형 큐
선형 큐의 문제점을 보완하기 위한 자료구조로, front와 rear값이 계속 증가하기만 한다는 문제점을 극복한 구조이다. 앞에 비어있는 공간을 재활용하는 구조로 front와 rear의 값이 배열의 끝인 (MAZ_QUEUE_SIZE -1)에 도달하면 다음에 증가되는 값은 0이 되도록 한다.
따라서 front와 rear가 순환되도록 enqueue / dequeue 동작이 이루어져야 하고,
비어있는 상태 / 가득 찬 상태를 구분해야 한다.
- 원형 큐에 사용되는 python-deque 데크(deque)는 무엇인가?
이미지 참고
내용 참고
파이널 프로젝트! 이제는 실 사용자를 받아 서비스를 운영했다! 감사하게 실 사용자들의 피드백을 받을 수 있었는데, 정말 많은 도움이 되었고 하나의 기능에도 신경 쓸 것이 매우 많음을 느끼는 시간이었다. 많은 분들이 우리 사이트를 좋게 봐주는 것도 매우 기분이 좋았지만, 버그 또는 개선 부분을 알려주신 점이 정말 감사했다. 내가 만든 사이트, 내가 만든 기능이라 그런지 단점이 잘 안 보였는데... 이렇게 여러 사람들에게 여러 방면으로 많은 이야기를 들을 수 있다니!👍 매우 값진 시간이었다.
-이제 정말 끝이 보이는 내일배움캠프.. 마지막을 남겨두고 있다.. 만감교차🥲
-final project 감사한 피드백, 내 경험치로 쌓이길!
-당장 내 뜻대로 안될지라도 조급하지 말자.
-곧 취업에 뛰어들 내 자신 당당하자 : )