본문 바로가기

Python5

python heapq heapq 모듈은 최소 힙(min heap)을 구현하는 데 사용되며, 최소 힙은 가장 작은 요소가 루트에 위치함을 보장한다. 그러나 다른 요소들 사이의 상대적인 순서는 보장되지 않는다. heapq의 각 원소의 인덱스를 k라고 할 때, k의 자식 원소들은 이진 트리 상의 특정 노드의 자식이 되므로 2k+1, 2k+2의 인덱스를 갖는다. heapq는 부모 노드가 항상 자식 노드보다 그 값이 같거나 작다는 특징을 갖는다. import 방법 import heapq 사용 heapq.heapify heapq.heapify 함수는 기존의 자료구조를 힙으로 변환하는 함수다. 이 함수는 파라미터로 전달된 리스트의 원소들을 재배치하여 힙의 조건을 만족하도록 한다. import heapq print() nums = [-5,.. 2023. 6. 1.
algorithms/배열(array) 배열이란, 데이터 하나하나를 인덱스(index)에 대응시킨 데이터 구조다. 이 때, 배열에 저장되는 데이터들은 동일한 종류의 데이터들이 저장된다. 인덱스에 따라 데이터가 순차적으로 나열된다는 특징이 있으며, 인덱스를 이용해 곧바로 데이터에 접근할 수 있다. 순서가 중요한 데이터를 배열에 담는 것이 유용할 것이다. 순서가 중요한 데이터의 대표는 string이다. ‘computer’라는 단어를 배열에 저장한다고 할 때, c-o-m-p-u-t-e-r의 순서로 저장되는 것이 옳다. 이럴 경우 배열이 적합하다. 각각의 배열 요소에는 인덱스가 붙는데, c는 인덱스 0, o는 인덱스 1과 같은 식으로 인덱스가 부여된다. 파이썬에서는 list가 배열로서 기능한다. 파이썬의 list는 배열 자료구조 그 자체라고 보기는 .. 2019. 12. 30.
iPad/아이패드에서 파이썬 코딩하기;Pythonista 장점 iCloud를 사용한다면 더욱 편리하게 사용할 수 있다. --> 아이패드만으로도 코딩 가능한 환경이 됨 각종 필요한 라이브러리들을 설치할 수 있다. 단점 꽤 비싸다. iCloud 외의 클라우드와는 연동 불가 iPad/Pythonista에 모듈 설치하기: https://dohk.tistory.com/258 2019. 12. 22.
맥북 파이참에서 OMP 에러 OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized. OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking .. 2018. 12. 23.