분류 전체보기62 [자료구조 공부기록] 3. Stack + Python 구현 특징 선형구조를 가진 자료구조입니다. LIFO(Last In First Out / 제일 나중에 들어온 원소가 제일 먼저 나감) 구조를 가지고 있습니다. 장점 및 단점 1) 장점 구조가 단순하여 구현이 간단합니다. 성능이 좋습니다. 2) 단점 일부 구현 방법은 미리 크기를 정해주어야 합니다. 오래된 데이터에 접근이 힘듭니다. 데이터가 들어가고 나가는 방법만 이해하신다면 스택은 구조가 정말 단순하여 크게 말씀드릴 것은 없습니다. 왼쪽의 사진처럼 Push로 데이터를 넣게 되면 맨 위에 저장되고 오른쪽 사진처럼 Pop으로 데이터를 뺀다면 맨 위의 데이터가 나가는 형식입니다. # 데이터 저장 노드 정의 class Node: def __init__(self, data): self.data = data self.be.. 2021. 5. 20. [자료구조 공부기록] 2. List(Linked List) + Python 구현 일반적인 특징 선형구조의 자료구조 입니다. 배열과 달리 순서가 중요하기 때문에 sequence(시퀀스)라고도 부릅니다. 구현 방식이 두 가지로 나뉩니다. Array List : 배열과 비슷한 방식으로 구현됩니다. Linked List : 처음 그림과 같이 다음 노드의 주소를 가지고 찾아가는 방식입니다. 사이즈 크기가 변하는 동적 자료형입니다. 장점 및 단점 1) 장점 배열과 비교하면 삽입과 삭제가 편합니다. 삭제를 한다고 하면 Array(배열)과 달리 원소들을 당기거나 밀어낼 필요 없이 다음 노드의 주소만 바꿔주면 됩니다. 삽입도 마찬가지로 노드의 주소만 바꿔 주면 되므로 배열에 비해 삽입과 삭제가 간단해진 것입니다. 2) 단점 (상대적으로) 배열에 비하면 검색이 느립니다. 주소를 담고 있는 포인터에 메.. 2021. 5. 20. [자료구조 공부 기록] 1. 배열 특징 선형 구조를 가진 자료구조입니다. Array를 만들 때부터 길이를 지정하고 만듭니다. 같은 자료형들만 넣을 수 있습니다. Index가 존재하여 빠르게 데이터를 찾을 수 있습니다. 연속된 메모리 주소에 순차적으로 데이터가 저장됩니다. 다차원으로 저장이 가능합니다. 장점 및 단점 1) 장점 빠른 접근이 가능합니다. 비교적 성능이 좋습니다. 연속된 메모리에 저장되있으니 순서만 알고 있다면 빠르게 데이터를 가져올 수 있습니다. 2) 단점 데이터를 추가/삭제 하는 것이 어렵습니다. 길이를 바꿀 수 없습니다. (메모리 낭비가 될 수 있다.) 만약 2번째 원소인 C를 삭제해야 된다면 JAVA와 LISP를 앞으로 1번 index 자리에 넣어줘야 하기 때문에 비효율 적인 삭제가 되는 것입니다. 만약 중간에 삽입을 .. 2021. 5. 15. [pyspark] StreamingQueryException: Writing job aborted. 오류 Pyspark 통해 Structured Streaming을 구현하다보면 이런 오류가 날때가 있습니다. 이는 Batch Queries 로 구현할 때가 아닌 Streaming Queries로 구현할 때 이런 오류가 발생합니다. 간단합니다. readStream 을 read로 바꾸고 writeStream 앞쪽에서 show() 한번 써보시면 됩니다. 그러면 어느 부분에서 에러가 발생했는지 아실 수 있습니다. 다만 이렇게 해도 오류가 발견 되지 않는 경우가 있습니다. 이 경우에는 offset 관련 오류로 체크포인트 폴더를 지워주시면 해결 됩니다. 참조 : https://stackoverflow.com/questions/63191950/how-to-resolve-current-committed-offsets-diff.. 2021. 5. 15. 이전 1 ··· 10 11 12 13 14 15 16 다음