이번 포스팅에서는 지난 포스팅에 이어 DELETE와 PUT를 사용한 데이터의 수정, 삭제 기능을 구현해보겠습니다. https://recordofwonseok.tistory.com/363 Django로 RESTful API 서버 구축해보기 (2) - 가상 데이터를 사용한 REST API의 동작방식의 이해 이번 포스팅에서는 지난 포스팅까지 구축된 API 서버와 간단한 가상 데이터를 이용하여 Client가 CRUD 작업을 요청하면 API서버에서 어떤 방식으로 동작하는지 알아보겠습니다. API 서버 구축은 이전 recordofwonseok.tistory.com pk를 이용한 단건조회 기능 구현 REST API를 사용한 수정과 삭제를 구현하기 위해, 먼저 단건 조회를 구현해야 합니다. 지금까지 구현한 GET 방식..
https://www.acmicpc.net/problem/1325 A 쪽으로 그래프의 간선을 연결하고 1부터 N까지 모든 노드에 대해 갈 수 있는 노드의 개수를 카운팅한다. 이 값이 max일 경우에만 시작노드를 정답배열에 넣어 마지막에 출력하면 된다. 소스코드 : import sys from collections import deque def bfs(start): queue = deque() queue.append(start) check = [0]*(N+1) check[start] = 1 while queue: X = queue.popleft() for Y in trust[X]: if check[Y] == 0: check[Y] = 1 queue.append(Y) return sum(check) if __..
힙(Heap) 힙(Heap)은 우선 순위 큐를 구현하기 위해 사용되는 자료구조이다. 기반은 트리 형태이며 삽입, 삭제 모두 O(logN)의 시간복잡도를 가진다. 우선순위 큐(Priority Queue) 우선순위 큐는 큐의 구조에서 요소별 가중치를 두어 우선순위를 정하여 pop()을 실행하는 자료구조이다. 예전에 queue를 정리해놓은 포스팅에서 언급한 적이 있듯이 어떤 작업을 수행할 때 단순 FIFO 방식을 따르는 것은 때론 비효율적으로 동작할 수 있다. 예를 들어, 운영체제의 프로세스 작업 스케쥴링에서 여러 방법들 중 우선순위 큐를 사용하여 스케쥴링 하는 방법이 있다. 힙의 특징 위에서 언급했듯 힙은 트리의 형태를 취하고 있으며 많은 트리의 종류들 중에서도 완전 이진 트리의 구조를 가진다..힙은 결국 ..