파이썬 4

[알고리즘/정렬] 위상 정렬이란?

위상 정렬(topological sorting)이란? 비순환 유향 그래프 (싸이클이 없고 방향이 있는 그래프, DAG : directed acyclic graph)의 꼭짓점들(vertex)을 변의 방향(edge)을 거스르지 않도록 나열하는 것을 의미한다. 시간복잡도 O(|V| + |E|) Process 자기 자신을 가리키는 변이 없는 꼭짓점을 찾음. 찾은 꼭짓점을 출력하고 출력한 꼭짓점과 그 꼭짓점에서 출발하는 변을 삭제 아직 그래프에 꼭짓점이 남아있으면 단계 1로 돌아가고, 아니면 알고리즘을 종료시킨다. from collections import deque # 노드의 개수 v와 DAG v= 7 adj_list = [[1, 2], [1, 5], [2, 3], [2, 6], [3, 4], [4, 7], [..

CS 2021.10.14

[파이썬] 자주쓰이는 파이썬 자료구조 & 메소드 시간복잡도

list 순서가 있는 수정가능한 객체의 집합. 수정, 삭제, 추가가 가능합니다. list 는 [] 대괄호로 선언되어지며, 내부 원소는 ,로 구분됩니다. import copy ## List init ## list = [] list = list() ## Append ## -- O(1) list.append(3) list.append(5) ## Extend ## -- O(k) list.extend([8,7,4,1,2,6]) ## Delete ## -- O(n) del list[1] list.remove(1) ## Sort ## -- O(nlogn) list.sort() #오름차순 list.sort(reverse=True) #내림차순 res = sorted(list) ## Pop ## list.pop() #가장..

Code/파이썬 2021.10.04

[자료구조] Python_Minimum Stack, Queue : O(1) 시간복잡도로 최솟값을 반환하는 함수를 구현하라.

Stack 알고리즘에서 O(1) 시간복잡도로 최솟값을 반환하는 방법 1. Stack 을 push 할 때, [원소 x, 현재까지 스택에 저장된 원소 중 최솟값] 저장하면 된다. class minimum_Stack(): def __init__(self): self.Stack = [] #파이썬은 리스트를 스택으로 사용가능 def push(self, element): # 스택 push if not self.Stack: self.Stack.append([element, element]) else: # 현재 스택의 최솟값(top.second)과 입력값을 비교하여 추가시킴. self.Stack.append([element, min(element, self.Stack[-1][1])]) def pop(self): ret..

CS 2021.10.03

[파이썬]Opencv Mat 를 PIL image 포맷으로 변환하기 및 PIL image -> Opencv Mat

Pillow(PIL)은 이미지를 불러올때, RGB 순서를 사용하고 OpenCV는 BGR 순서을 사용한다는 점을 알고 있자. 또한 파이썬에서 openCV Mat 은 numpy.ndarray 형식을 띈다. To convert from PIL image to OpenCV use: import cv2 import numpy as np from PIL import Image pil_src =Image.open("test.jpg") # open image using PIL # use numpy to convert the pil_image into a numpy array numpy_src=numpy.array(pil_src) # convert to a openCV2 image, notice the COLOR_RGB..

Code/파이썬 2021.06.10
반응형