[알고리즘] 플로이드 워셜 알고리즘 (Floyd - Warshall Algorithm)
·
🤔알고리즘
플로이드 워셜 알고리즘 (Floyd - Warshall Algorithm)Floyd - Warshall Algorithm은 그래프에서 가능한 모든 쌍에 대해 최단 거리를 구하는 알고리즘이다. 다익스트라 알고리즘 양의 간선들에 대해서 하나의 정점에서 다른 모든 정점까지의 최단 거리를 구하는 알고리즘2024.08.18 - [🤔알고리즘] - [알고리즘] 다익스트라 알고리즘 (Dijkstra Algorithm) [알고리즘] 다익스트라 알고리즘 (Dijkstra Algorithm)다익스트라 알고리즘 (Dijkstra Algorithm)다익스트라 알고리즘은 한 정점에서 모든 정점까지의 최단 거리를 각각 구하는 알고리즘이다. 다익스트라 알고리즘 탐색 과정[step 1] 출발 노드와 도착yobi-devlog.tist..
[Python] heapq 라이브러리
·
🗨Language/Python
힙큐(heapq)는 파이썬 표준라이브러리가 제공하는 모듈로 Heap 자료구조를 지원한다. 완전 이진트리 형태를 하고 있으며, 최솟값과 최댓값을 빠르게 찾을 수 있다 . 파이썬은 기본적으로 최소힙(min-heap)을 제공한다. (부모 노드의 값은 자식 노드의 값보다 작거나 같다.)주요 메소드heapq.heappush(heap, item)힙의 조건을 유지하면서 item을 heap에 push 해준다. ( O(logn) )import heapqheap = []for i in range(10): heapq.heappush(heap, i)print(heap)## [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]heapq.heappop(heap)힙에서 가장 작은 요소를 제거하고 반환함.  ( O(logn)..
[Python] itertools 라이브러리
·
🗨Language/Python
itertools 라이브러리를 사용하면 효율적으로 순열과 조합을 구현할 수 있다. permutations( ) - 순열순열은 서로 다른 n개의 다른 원소를 가지는 어떤 집합에서 중복 없이 순서에 상관 있게 r개의 원소를 선택하거나 나열하는 것을 의미한다. import itertoolsarr = ['A', 'B', 'C', 'D']nPr = itertools.permutations(arr, 2)print(list(nPr))"""[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'), ('B', 'C'), ('B', 'D'), ('C', 'A'), ('C', 'B'), ('C', 'D'), ('D', 'A'), ('D', 'B'), ('D', 'C')]"""combination..
[Python] sys.stdin.readline() 사용하기
·
🗨Language/Python
알고리즘 문제를 풀다보면 시간 제한이라는 벽을 마주하게 된다. Python은 입력을 받기 위해 input()과 sys.stdin.readline()을 사용하는데 sys.stdin.readline()을 사용하면 더 빠르게 입력을 처리할 수 있다.  Input( ) vs sys.stdin.readline( )input( )input( ) 은 자동으로 개행 문자를 제거한다. (입력받은 문자열에 개행 문자만을 제거하여 줄 바꿈 없이 출력함)상대적으로 느리다. 더 이상 입력이 없는 경우에 실행되면 EOF 에러를 출력한다. sys.stdin.readline( )sys.stdin.readline( )은 개행 문자를 포함하여 반환한다.상대적으로 빠르다.EOF를 만나도 에러를 반환하지 않고 빈 문자열을 반환한다. sys..
기술 면접 준비하기 - 자료구조
·
🍀CS-면접
배열(Array)배열의 장단점은? 장점 인덱스를 이용한 빠른 접근(O(1)) 연속된 공간을 사용해서 메모리 효율성이 좋다. 단점 데이터가 순차적으로 존재해서 중간에 요소가 삽입되거나 삭제되는 경우 뒤에 있는 모든 요소들을 한칸씩 움직여줘야 한다. O(n) 배열과 연결리스트의 차이점배열은 고정된 크기의 연속된 메모리 블록을 사용하지만, 연결 리스트는 동적으로 크기가 변할 수 있는 노드들의 연결로 이루어져 있다. 배열은 인덱스를 통해 O(1) 의 시간 복잡도로 요소에 접근할 수 있지만, 연결 리스트는 특정 요소에 접근하기 위해 O(n)의 시간 복잡도가 필요하다. 삽입과 삭제에 배열은 각 원소들을 옮겨주어야 해O(n)의 시간 복잡도가 필요하지만, 연결 리스트는 O(1)의 시간 복잡도가 필요하다. 연결리스트(L..
기술 면접 준비하기 - 운영체제
·
🍀CS-면접
운영체제의 주요 기능은? 운영체제는 컴퓨터 하드웨어 소프트웨어 자원을 관리하며 컴퓨터와 사용자 사이의 인터페이스를 제공한다. 주요 기능 프로세스 관리 : 프로세스의 생성, 스케줄링 등을 담당 메모리 관리 : 메모리 할당, 해제, 스왑핑 등을 관리. 가상 메모리, 페이징, 세그멘테이션 기법등을 사용 파일 시스템 관리 : 파일 및 디렉터리 구조를 제공. 파일 저장, 검색, 삭제등의 작업을 수행 입출력 시스템 관리 : 다양한 입출력 장치와 상호작용을 관리 메모리의 구조메모리는 크게 Code, Data, Heap, Stack영역으로 이루어져 있습니다. 프로세스와 스레드의 차이프로세스는 실행중인 프로그램의 인스턴스로 별도의 메모리 공간을 가진다. 각 프로세스는 자체 주소 공간을 가지고 있어 다른 프로세스와 독립적..
기술 면접 준비하기 - 웹 / 네트워크
·
🍀CS-면접
HTTP란? HyperText Transfer Protocol의 약어로 텍스트 기반의 통신 규약을 의미한다. 인터넷에서 데이터를 주고 받을 수 있는 프로토콜이다. 주요 특징 클라이언트-서버 모델 무상태성 요청-응답 모델 비연결성 텍스트기반 HTTP와 HTTPS의 차이점HTTP는 웹에서 데이터를 전송하는 프로토콜로 데이터를 암호화히지 않고 평문으로 전송한다. HTTPS는 HTTP에 SSL/TLS 암호화 계층을 추가한 프로토콜로 데이터 전송 시 암호화를 통해 보안성을 제공한다. 쿠키와 세선의 차이점 쿠키 클라이언트 측에 저장되는 데이터로 서버에서 클라이언트로 전송됨. 사용자의 브라우저에 저장되며 클라이언트와 서버 간의 상태를 유지하기 위해 사용 만료 시간을 지정할 수 있으며, 브라우저 재시작 후에도 지속됨...
기술 면접 준비하기 - 데이터베이스
·
🍀CS-면접
데이터베이스란?데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음으로서 일반적으로 컴퓨터 시스템에 전자적으로 저장된다. 데이터베이스는 일반적으로 DBMS에 의해 제어된다. 연결된 애플리케이션과 함께 데이터와 DBMS를 묶어 데이터베이스 시스템(줄여서 데이터베이스)라고 한다.  SQL과 NoSQL 데이터베이스의 차이점은?SQL관계형 데이터베이스로 SQL을 사용하여 데이터에 접근하고 조작한다. 스키마가 고정되어 있으며 ACID 트랜잭션을 지원한다. 스키마에 맞춰 데이터를 관리하기 때문에 명확한 데이터 구조를 보장한다. 시스템이 커지면 쿼리가 복잡해지고 성능이 저하됨. NoSQL비관계형 데이터베이스이다. 스키마가 유연하고 비정형 데이터를 처리하는데 적합하다높은 확장성과 성능을 제공한다. 데이터 분산이 용..
여우비_YoBi
'분류 전체보기' 카테고리의 글 목록 (20 Page)