본문 바로가기

분류 전체보기

(24)
[Data Structure] Heap : Max Heap, Min Heap | 최대힙, 최소힙이란 Heap 은 만드는데 worst case로 O(n log n) 까지도 걸린다. 하지만 제일 큰값과 작은 값을 찾을 때는 O(1)이다. 그리고 Heap sort는 inline sort를 (추가 배열 불필요) 할 수 있어서 아주 강력한 소팅 알고리즘이다. Heap의 종류는 두가지가 있다 Max Heap과 Min Heap Max Heap의 조건은 다음과 같다. - 9는 root node이다. - 8과 7은 parent node인 9보다 작다 - 2와 3은 parent node인 8보다 작다 - 5와 6을 parent node인 7보다 작다. Min heap 은 Max와 반대다. 자식이 부모보다 작아야함
[algorithm] 파이썬 후위표기식 연산 | 스택 후위표기식 연산 | how to calculate postfix expression using stack https://paigeblog.tistory.com/29 [algorithm] 후위표기식 | postfix expression | 중위표기식에서 후위표기식으로 변환하기 | infix to postfix e 우리가 흔히 아는 표현식은 중위 표현식이라고 한다. 3+5와 같이 연산자가 피연산자 사이에 있으면 중위 표현식이라고 한다. 중위 표현식을 후위 표기법으로 바꾸는 알고리즘을 공부해 보겠다. paigeblog.tistory.com 중위 표기식에서 후위표기식으로 변환하는 방법을 위 포스팅으로 작성했다. 그러면 후위표기식은 어떻게 연산을 할까..? 352+*9- 가 주어졌을때 연산하는 방법을 알아보겠다. 원리를 알면 정말 쉽고 clever하다. 개발자들 정말 대단해 ~~!! 파이썬 코드로 짜보았다. 알고나면..
[algorithm] 후위표기식 | postfix expression | 중위표기식에서 후위표기식으로 변환하기 | infix to postfix expression using python 우리가 흔히 아는 표현식은 중위 표현식이라고 한다. 3+5와 같이 연산자가 피연산자 사이에 있으면 중위 표현식이라고 한다. 중위 표현식을 후위 표기법으로 바꾸는 알고리즘을 공부해 보겠다. 처음에는 뭐지? 했는데 보다 보니깐 이해했다. 이런 거 어떻게 생각해 냈는지 아무리 생각해도 신기하다. Rule이 있음 1. 피연산자는 무조건 res로 이동 2. 연산자와 괄호 ()는 stack으로 이동하는데 조건이 있다 2-1. * 와 / 는 +와 - 보다 우선순위가 높다 2-2 )가 나오면 ( 후에 들어간 연산자들을 stack에서 pop 하고 res로 옮긴다. ( 와 )는 res로 옮기지 않는다. 3. 피연산자를 다 옮겼다면 남아있는 연산자들을 res로 옮긴다. 슬라이드를 넘기면서 보면 이해하기 쉬울 것이다. cod..
[RxJS] RxJS tutorial | scan, reduce, pluck, mergeMap, switchMap 저번 포스팅에 이어서 RxJS에서 자주 쓰이는 operator들을 공부해보겠음. https://www.youtube.com/playlist?list=PL55RiY5tL51pHpagYcrN9ubNLVXF8rGVi Understanding RxJS - YouTube RxJS and reactive programming is a hot topic - but what is it actually and how does it work? This series let's you dive into it! www.youtube.com 여기 강의가 괜찮았는데 몇 개 없어서 아쉽다. reduce operator 사실 이거 잘 쓰는 법은 모르겠음.. ㅎ 그래도 일단 적고 본다. https://rxjs-dev.firebaseap..
[RxJS] RxJs tutorial | RxJS operators: map, throttleTime, filter, debounceTime, distinctUntilChanged | RxJS 유용한 operators 요즘 듣고 있는 RxJs강의가 굉장히 재미있다. RxJs를 이렇게 쉽게 설명해주는 사람은 처음이다. Max 대단해 ^^* 시간이 있다면 쭉 듣는 것 추천! 강의가 짧지만 아주 유익하다. https://www.youtube.com/playlist?list=PL55RiY5tL51pHpagYcrN9ubNLVXF8rGVi Understanding RxJS - YouTube RxJS and reactive programming is a hot topic - but what is it actually and how does it work? This series let's you dive into it! www.youtube.com 저번 rx 공부랑 이어서 간단한 테스트를 위해 JS Bin을 이용했다.(Rx 라이브러..
[RxJS] RxJS기초1 | RxJS는 언제 쓰나요? | Observable? Observer? Subscription? 요즘에 알고리즘 공부만 하고 있다. 공부할 건 많은데 어디서 어떻게 시작해야 할지 모르겠다. RxJS는 예전부터 공부해보고싶었던 부분이긴 한데.. RxJS는 정말 어렵다. 왜 이렇게 다 어려울까 ..ㅎ 사실 공부하면 어려운 건 없지.. 못할 것도 없지 ^^! 시간 있을 때 공부해보자~ 어떻게 할까 하다가 유튜브 강의 듣기로 결정! https://www.learnrxjs.io/ https://www.youtube.com/watch?v=Tux1nhBPl_w&list=PL55RiY5tL51pHpagYcrN9ubNLVXF8rGVi&index=2 유튜브를 보고 RxJS 기초를 공부해 본다. 여기서 JS Bin이라는 사이트를 이용해봤다. 별로인데 잠깐 연습하기엔 괜찮다. https://jsbin.com/?html,..
[jupyter] jupyter notebook | 파이썬 주피터 노트북 설치 및 간단한 사용법 간단하게 파이썬 사용할 때 주피터 사용하니까 굉장히 편하네. 물론 데이터 관련으로 사용하는 것 같은데.. 아무튼 듣는 인강에서 설명을 잘해주시길래 유용해서.. 정리해 봤다. 동영상이라서 다시 까먹을 것 같아서 내가 보기 편하라고 정리하기. 먼저 pip를 이용해서 주피터를 인스톨한다. pip install jupyter terminal에서 주피터를 실행하고 싶은 디렉터리로 이동한다. cd development/jupyter 주피터 노트북 실행 jupyter notebook 주피터 노트북이 열린다. 새로운 주비터 노트북 만들기 이름 수정하기 주피터 노트북 저장하기 주피터 노트북 실행하기 실행 후 셀 생성 셀 삭제 결과 출력 마크다운으로 변경 리스트 확인 파일 만들기 + 실행 시간 확인 함수 생성 유용한 팁들..
[CS 기초] Trees Basics | 트리 알고리즘 기초 | DFS Depth First Search 이론 | 깊이 우선 탐색 트리는 정말 어렵다. 트리는 정말 진짜로 어렵다. DFS (Depth First Search) 깊이 우선 탐색 DFS는 STACK 이라는 자료 구조를 사용한다. STACK은 FIRST IN LAST OUT이다. DFS 탐색을 시작한다. - Root node V 부터 시작한다. Stack에 V 노드를 넣는다. - V 노드를 current로 옮기고 방문경로로 옮기는 순간 V노드에 연결되어있는 2개의 노드를 Stack에 추가한다. E를 넣고 A를 넣는 이유는 Stack은 마지막으로 들어간 노드가 먼저 나오기 떄문이다. - Stack에 제일 마지막에 들어온 A를 Current 로 옮긴다. - Current에 있는 A를 방문경로로 옮기는 순간 A와 연결된 노드 C를 Stack에 넣는다. - Stack에 있던 C를..