728x90
전체 글
519

[Python] Trie(트라이)

■ 트라이는 검색 트리의 일종으로 문자열 탐색을 위한 자료구조로 널리 쓰인다. 초창기에는 '트리'로 발음했으나, 기존의 트리와 구분하기 위해 '트라이'라 부른다. 그리고 이진 트리가 아닌 다진 트리의 형태를 띤다. 위 그림과 같이 트라이가 있을 때 "appear"이라는 단어를 찾는다고 하면 a → p → p → e → a → r 순서로 문자열의 길이만큼만 탐색하면 원하는 결과를 얻을 수 있다. 트라이는 문자열을 위한 트리의 형태이기 때문에 사실상 문자 개수만큼 자식이 있어 상당히 많은 자식 노드를 갖고 있는 트리임을 확인할 수 있다. 위 그림을 봐도 그렇다고 느낄 것이다.... ■■ 트라이에서의 Leaf(리프) 노드 즉, 문자의 끝을 True, 나머지 상위 노드(문자)들은 False인 상태를 나타내며 구..

[Python] Heap(힙)

■ Heap(힙)은 트리 기반의 자료구조이다. 그리고 부모가 항상 자식보다 작은 구조이다. 그렇기때문에 루트가 가장 작은 값을 갖게되며 가장 작은 값을 추출하는 것은 루트를 추출한다는 것이 된다. 여기서 주의해야할 점은 Heap(힙)은 정렬된 구조가 아니다. 즉, 왼쪽 자식과 오른쪽 자식의 관계를 정의하지 않았다. 오직 부모, 자식 간의 관계만 정의하였다. 위 그림을 보면 오른쪽 노드가 왼쪽 노드보다 작은 것 (33, 17)이 있듯이 왼쪽과 오른쪽의 관계는 정의하지 않았다. 그리고 위 그림을 보면 자식이 두 개로 구성되어 있는데 이것을 Binary Heap(이진 힙)이라하며 트리 중 이중 트리가 많이 사용되듯이 힙도 이진 힙이 가장 많이 사용된다. 위 그림처럼 배열로 표현할 경우 대개 계산의 편이를 위해..

[Python] 이진 탐색 트리(BST)와 트리 순회

■ 이진 탐색 트리 (Binary Search Tree) 노드의 왼쪽 서브트리에는 그 노드의 값보다 작은 값들을 지닌 노드들로 이뤄져 있는 반면, 노드의 오른쪽 서브트리에는 그 노드의 값과 같거나 큰 값들을 지닌 노드들로 이루어져 있는 트리 위 그림을 보면 이진 탐색 트리가 어떻게 생겨먹은 것인지 이해할 수 있을 것이다. 대충 어떤 것인지 알았다면 이제 이 그림에서 원하는 값을 찾는 과정을 살펴볼 것이다. ■■ 위 이진 탐색 트리에서 우리는 '7'을 찾아 볼 것이다. 당연하지만 루트인 '15'부터 시작한다. 1. '7'은 '15'보다 작기 때문에 왼쪽 자식 노드로 탐색이 진행된다. 2. '10' 또한 마찬가지로 '7'이 더 작기 때문에 왼쪽 자식 노드로 탐색이 진행된다. 3. 여기서부터 '7'은 '5'보..

[Python] Tree (트리)란?

■ 트리는 하나의 뿌리에서 위로 뻗어나가는 형상처럼 생겨서 '트리(나무)'라는 명칭이 붙었는데, 트리 구조를 표현할 때는 나무의 형상과는 반대 방향으로 표현한다. 트리는 자식도 트리고 또 그 자식도 트리고 또 그.... 흔히 서브트리(Subtree)로 구성된다고 표현한다. 좀 어렵게 표현하자면 재귀로 정의된(Recursively Defined) 자기 참조(Self-Referential) 자료구조하고 할 수 있다. ■■ 자, 이제 트리의 각 명칭을 살펴보자. 우선 트리는 항상 루트(Root)에서 시작된다. 루트는 자식(Child)를 가지며 각 간선(Edge)로 연결되어 있다. 차수(Degee) 자식 노드의 개수 크기(Size) 자신을 포함한 모든 자식 노드의 개수 리프(Leaf) 자식 노드가 없는 노드 서..

'Adobe PDF'로 출력시 설정해야 할 것들

(추가) 본 글은 AutoCAD 사용을 위해서 올렸지만 그냥 PDF출력 시 설정을 궁금해하시는 분들이 많으셔서 추가로 캡쳐 사진을 올립니다. AutoCAD상에서가 아닌 'Adobe PDF'라는 프린터의 설정을 위한 경로들입니다. 설정 내용은 같으니 기본적인 경로만 있으면 될 것이라 믿습니다. 제어판>하드웨어 및 소리>장치 설정>장치>Adobe PDF>관리>인쇄 기본 설정 ■ AutoPlot 프로그램을 사용시 Adobe PDF로 출력할때 설정해야하는 것들을 Detail하게 설명하고자 따로 글을 작성하게 되었습니다. 우선 위 사진과 같이 'Adobe PDF.pc3를 선택 - 등록정보 - 사용자 특성 - Adobe PDF 설정'으로 들어갑니다. '어? 제어판 - 장치 및 프린터 - Adobe PDF - 인쇄기..

AutoCAD/PyProgram 2020.05.08

(엑셀 텍스트 → 캐드 텍스트 수정) Text Edit With Excel Ver2.0

허접한 ver1.0을 수정했습니다... ver1.0 실제로 써보니 쓰레기가 따로 없더군요... ■ 프로그램 실행 영상 Excel File 1. Excel File Browse 버튼을 사용하여 텍스트 정보가 들어있는 엑셀 파일을 추가해줍니다. 2. Work Sheet 텍스트 정보가 들어있는 시트 이름을 입력하면 됩니다. (기본값 = Sheet1) 3. Upper-Left Cell 이후에도 설명드리겠지만 간단히 말하면 표의 가장 첫 번째 셀을 입력합니다. (기본값 = A1) Text 방향 선택 (Vertical, Horizontal) 간단하게 그림으로 표현하자면 아래처럼 되어있습니다. 자세한 텍스트 방향은 영상을 통해서 확인해 주세요. 1. Vertical 2. Horizontal Revision 1. 구분..

AutoCAD/PyProgram 2020.05.04

(좌표값에 텍스트 넣기)Excel Coordinate To Cad Ver1.0

"좌표값에 텍스트를 넣어??" "그럼 좌표값은 어떻게 얻어??" 좌표값을 얻는 것은 따로 만들지 않은 이유는 아시는 분들은 아시겠지만 'cad-to-excel' 이라는 lisp이 이미 있습니다. 이 lisp을 사용하여 원하는 위치의 좌표값을 불러들여 엑셀에 입력할 수 있습니다. 물론 좌표값을 엑셀에 입력하는 프로그램은 나중에 만들 생각은 있습니다. (지금은 굳이 만들 필요가...) ■ 실행 영상 1. 엑셀 파일 선택 좌표값과 입력할 텍스트가 작성되어있는 엑셀 파일을 선택합니다. 좌표값과 텍스트는 위에 나와있는 것처럼 (x,y,text) 순서로 작성해야합니다. 2. 워크시트 입력 값이 입력되어있는 시트를 입력해주시면 됩니다.(기본값="Sheet1") 3. 시작 셀 입력 앞서 예시로 작성한 엑셀 파일을 보면..

AutoCAD/PyProgram 2020.04.18

(원점으로 이동)Origin Move 1.0

이 프로그램은 도곽을 원점이 아닌 곳에 놓은 개... 이후에 AutoPlot 프로그램에 추가할 예정입니다. ■ 프로그램 실행영상 https://youtu.be/lDUj8pSPlkA AutoPlot을 사용해보신 분이라면 아시겠지만 거의 똑같습니다. 1. 세 개의 버튼(파일추가, 폴더추가, 삭제)으로 파일 목록을 추가&삭제 2. 실행 ■■ 실행 후... 실행 후 파일이 열립니다. 1. 도곽이 0, 0이 아닌 이상한 위치에 있다. 도곽의 Lower-Left Point(왼쪽-아래)를 선택합니다. 선택하면 도곽이 0, 0으로 이동하고 파일이 닫힙니다. 2. 도곽이 0, 0에 제대로 위치에 있다. Enter를 누릅니다. 파일이 닫힙니다. (글로 설명하는게 한계가 있네.... 나중에 영상으로 올려야지...)

AutoCAD/PyProgram 2020.04.12

(자동 플롯)AutoPlot_Beta 2.0

이 프로그램은 개인적인 목적으로 만들었고 테스트를 많이 해보지 않았기때문에 다른 사람이 사용할 시에 수많은 Error가 생길 것으로 예상되어집니다. 따라서 이 프로그램을 사용하기 전에 한 개의 도면을 테스트 시행 후 진행하시길 권고드립니다. ■ 프로그램 실행 영상 영상에서는 1분 이내에 실행된다는 것을 1분간 소요된다고 잘못 작성하였습니다. 프로그램을 실행하면 위와 같은 창이 뜹니다. (CAD가 실행되어있지않다면 자동으로 실행된 후 창이 뜹니다.) 구성이 굉장히 간단하죠?? 맨 처음에 구상했을때는 기능이 좀 더 많았는데 개인적으로 테스트&사용하면서 필요없길래 다 없애버렸습니다. 1. 플로터, 용지크기, 스타일(ctb) 플로터 : 인쇄할 프린터 선택 용지크기 : 프린트할 용지 크기 선택 (해당 목록에는 없..

AutoCAD/PyProgram 2020.04.12
728x90