Graphs

Undirected 그래프 Vertex를 연결하는 edge에 순서가 없는 pair로 표현되는 edge들로 이루어져있다. {v1,v2}를 edge라고 표현한다. 예를 들어 v1,v2,v3,v4,v5,v6,v7,v8,v9의 vertex가 있을 때 {v1,v2},{v3,v5},{v4,v7},{v4,v7}의 edge가 있으면 4개의 edge가 있다고 표현한다. 방향이 없기 때문에 v1에서 v2로 가는 edge, v2에서 v1로 가는 edge모두 있다고 본다. 자기 자신에서 자기 자신으로 가는 edge는 없다. V개의 vertext가 있는 방향이 없는 그래프에서 최대한 많은... » read more

파이썬의 정렬과 힙 #1

python의 sort 커스텀 정렬의 기준이 되는 가중치를 key 필드로 임의 지정할 수 있다. 원소가 이터러블일때 모두 사용가능하다. 가중치를 자유롭게 지정할 수 있다. is_prime 구현 소수 구하기 heapq, deque 짧은 정리 이진트리기반의 heapq와 연결리스트 기반의 데크는 원소를 추가하고 삭제하는 것이 배열보다 비용이 적다. heqpq : 우선순위 큐 deque : 양 끝단에서 데이터를 넣고 뺄 수 있는... » read more

LinkedList – Single

연결 리스트의 필요성 1) 일반적으로 배열을 사용하여 데이털르 순차적으로 저장하고, 나열할 수 있다.2) 배열을 사용하는 경우 메모리 공간이 불필요하게 낭비 될 수 있다. 배열 기반 리스트의 특징 배열로 만들었으므로 특정 위치 원소에 즉시 접근 가능하다. 데이터가 들어갈 공간을 미리 메모리에 할당해야 하는 단점이 있다. 원하는 위치로 삽입이나 삭제가 비효율적이다. -> 주소를 당기고 밀어야하기 때문에. 연결리스트의... » read more