일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 비디오 스트리밍
- 네이버 부스트캠프
- 파이썬 웹크롤링
- 브라우저 동작
- 프로그래머스
- 코딩테스트
- react
- git checkout
- React.js
- 자바스크립트 객체
- Next/Image 캐싱
- Image 컴포넌트
- Next.js
- 자바 프로젝트
- 네이버 부캠
- 자바스크립트
- Server Side Rendering
- 파이썬 코딩테스트
- 파이썬
- React ssr
- 네이버 부스트캠프 멤버십
- 멘션 추천 기능
- beautifulsoup
- 씨쁠쁠
- 자바스크립트 컴파일
- 스택
- 웹크롤링
- 부스트캠프
- c++
- PubSub 패턴
- Today
- Total
목록CS공부/자료구조 (11)
코린이의 개발 일지
1. 트리(Trees) 트리 (Trees) 란? → node와 edge 를 이용하여 테이터의 배치 형태를 추상화한 자료구조 개념 이해를 위해 적당한 그림을 가져왔다. 위의 그림을 보면 9개의 노드, 8개의 edge Root node = A -> 가장 머리가 되는 노드 Leaf node = H, I, E, F, G -> 가장 끝에 있는 노드, 즉 자식 노드가 없는 노드 Internal node = 그외의 노드 부모 자식 관계 (parent, child) 그리고 같은 부모 아래 child 들은 sibling 관계 부모의 부모 - 조상(ancestor), 자식의 자식 - 후손(descendant) 노드의 level → Root 부터 level 0으로 지정 (그림 참조) 트리의 높이 (Height) = 최대 수..
큐의 활용 자료를 생성하는 작업과 그 자료를 이용하는 작업이 비동기적으로 일어나는 경우. 자료를 생성하는 작업이 여러 곳에서 일어나는 경우 자료를 이용하는 작업이 여러 곳에서 일어나는 경우 자료를 생성하는 작업과 그 자료를 이용하는 작업이 양쪽 다 여러 곳에서 일어나는 경우 자료를 처리하여 새로운 자료를 생성하고 나중에 그 자료를 또 처리해야 하는 작업의 경우 2. 환형 큐 (Circular Queue) 환형 큐는 왼쪽과 같이 동그랗게 정해진 개수의 저장 공간을 빙 돌려가며 이용하는 것을 말한다. 예를 들어 Q. enqueue(A) -> 큐에 A를 집어 넣는다. Q.enqueue(B) -> 큐에 B를 집어 넣는다. Q.enqueue(C) -> 큐에 C를 집어 넣는다. r1 = Q.dequeue() → 들..
이번에는 '큐'라는 자료구조를 알아보자. 큐는 스택과 마찬가지로 자료를 (data element)를 보관할 수 있는 (선형) 구조를 뜻한다. 단, 넣을 때에는 한 쪽 끝에서 밀어 넣어야 하고 → 인큐 (enqueue) 연산 꺼낼 때에는 반대 쪽에서 뽑아 꺼내야 하는 제약이 있다. → 디큐 (dequeue) 연산 즉 선입선출 특징을 가지는 선형 자료구조이다. 이 점에서 스택과 차이점이 있다. 연산의 정의 큐의 연산은 스택과 거의 비슷하다. 단지 push 를 enqueue로 pop을 dequeue로 바꾸고 isFull을 추가하였다. size() - 현재 큐에 들어 있는 데이터 원소의 수를 구함 isEmpty() - 현재 큐가 비어 있는지를 판단 isFull() - 큐에 데이터 원소가 꽉 차 있는지를 판단 e..
스택을 이용한 수식의 후위 표기법 중위 표기법 → 연산자가 피연산자들 사이에 위치 (A+B)*(C+D) 후위 표기법 →연산자가 피연산자들 뒤에 위치 AB+CD+* 중위 표기 수식 → 후위 표기 수식 알고리즘 class ArrayStack: def __init__(self): self.data = [] def size(self): return len(self.data) def isEmpty(self): return self.size() == 0 def push(self, item): self.data.append(item) def pop(self): return self.data.pop() def peek(self): return self.data[-1] prec = { '*': 3, '/': 3, '+'..