일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 메모이제이션
- 클로저
- scope
- IT
- 개발툴
- APPEND
- let
- 인터프리터
- 리커젼
- vscode
- 재귀함수
- var
- CSS
- 스코프
- flex기본
- node.js설치
- css기초
- AWS기초
- prototype
- AWS조사
- 원본과 복사본
- node.js
- appendChild
- 기초공부
- AWS
- complexity
- 생활코딩
- JavaScript
- 코드스테이츠
- Big-O notation
- Today
- Total
Jveloper

그래프란? - 단순히 노드(node)와 그 노드를 연결하는 간선(edge)을 하나로 모아놓은 자료구조 1. 즉, 연결되어 있는 객체간의 관계를 표현할 수 있는 자료구조이다. ex) 지도, 지하철 노선도의 최단경로, 전기 회로를 생각하면 쉽다 연결되어있는 객체간의 관계를 표현할 수 있는 자료이다 그래프는 트리와 비슷하게 노드와 엣지로 구성되어 있습니다. 그래프에서는 노드를 버텍스, 엣지를 아크라고 부릅니다 ● 그래프의 종류 - 방향 그래프 : 간선에 방향이 있는 그래프 - 무방향 그래프 : 방향이 존재하지 않아 양방향으로 이동이 가능한 그래프 - 완전 그래프 : 각 노드에서 다른 노드와 모두 연결된 그래프 ● 깊이우선탐색, 너비우선탐색 1. 깊이우선탐색 : DFS(Depth-First Search) 스택을..
오늘은 data structure(자료구조)를 중점적으로 알아보았다 Stack, Queue, Linked list, - 오늘 블로깅 완료 tree, graph, hash table, B-tree - 아직 미완료 스택과 큐는 어느정도 이해를 하고있었기에 찾아보고 의사코드를 작성하는데에 큰 어려움이 없었던것같다 트리, 그래프부터는 탐색방식도 여러가지고 의사코드 작성에 많이 어려움을 겪고있는것같다 내일까지 이것도 블로깅완료하고 오늘 강의를 들었던 Object.create도 확실히 이해를 해야되는데 하루가 너무 짧다 그날그날 일어났던 이슈에 대해서 같이 공부하는 친구와 30분씩 대화하고 해결하는 시간을 가지기로했는데 오늘 해결한 이슈는 1. git으로 항상 master만 포크뜨다가 codestates의 repo..
오늘은 어제 하루의 마지막쯤 진행됐던 check point : 스코프와 클로져 문제풀이를 하고, 언더바와 리커젼을 다시 풀어보면서 복습하는 시간을 가졌다 (+ jest라는 테스트 프레임워크 다뤄보기) 한번 했던것임에도 불구하고 시간이 꽤나 걸렸다 그리고 this강의를 들었는데 this에 대해서는 다시한번 정리를 해야할것같다 - this를 정의해보자면 호출된 함수가 가리키는 객체 - this는 한번 bind되면 다른걸로 bind시키려해도 수정이 불가능하다 - 오늘은 언더바와 리커젼을 복습하면서 jest(테스트 코드가 어떻게 작성되는지)와 eslint, git에 익숙해지는것을 중점으로 다뤄봤던 시간이었던것같다

스택이란? ● 스택의연산 - 스택의 pop함수를 이용하여 빼내면 1이 먼저 나오는것이 아닌 5가 먼저 나오게된다 - 스택은 같은 방향에서 아이템을 추가하고 삭제한다는 조건하에 연결리스트로도 구현이 가능하다 ● 스택의 추상 데이터타입(ADT) (-> 단순하게 생각해서 쉽게 해결하기 위해 추상적으로 내가 정의한 코드라고 이해할 수 있을것같다 ) - pop() : 스택에서 가장 위에있는 항목을 제거함 - push(item) : item 하나를 스택의 가장 윗부분에 추가함 - peek() : 스택의 가장 위에있는 항목을 반환함 - isEmpty() : 스택이 비어있을때에 true를 반환함 ● 스택의 활용사례 1. 재귀 알고리즘 - 재귀적으로 함수를 호출해야 하는 경우에 임시 데이터를 스택에 넣어준다. - 재귀함..
하루 수업의 반은 OT시간이었던것 같다 서로 소개하고 어떤 개발자가 되고싶은지, 그걸 위한 계획을 세워보고 발표하는 시간을 가졌다 그리고 정말 중요했던 질문을 하는 방법과 태도를 배우는 세션이 있었다 바보같은질문은 없지만 성의없는질문은 많다라는 말이 인상깊었다 그리고 오후에는 프리때 학습했던 scope와 closure개념을 다시 공부하였고, 그거에 관한 문제를 풀어보는 시간을 가졌다 또, 중요했던건 git 에서 새로운것을 배웠다 git remote add ______
recursion의 핵심 : recursion을 만들때는 탈출구부터 생각하라 ! 대표적인 예) factorial, fibonacci fibonacci 를 살펴보자 function fib(n){ if(n === 0) return 0; // 탈출구 else if(n === 1) return 1; // 탈출구 else if(n > 1){ return fib(n-1) + fib(n-2); // 재귀 } } fib(6); // 8 - 리커전의 단점 : 호출횟수가 너무 많음, 성능상 손해임( 대안책(?) : 메모이제이션 ) - 리커전의 장점 : 표현방법에 있어서는 반복문보다 낫다 메모이제이션이란? 캐시를 구현한것이다 ( 한번 불려졌던건 기억해놓는다 그러므로 호출횟수가 훨씬 적어진다) 다른 케이스들) - 트리구조에..
시간복잡도 * 시간복잡도와 공간복잡도 // 여기서는 시간복잡도에 대해서만 정리를 한다 - 큰 프로그램일수록 효율적으로 코드(알고리즘)를 짜야함 - 머신러닝, 데이터분석 등등 좋은성능의 좋은 알고리즘을 필요로함 O(1) - 상수시간 즉, 한번만 연산하면 바로 답이 나온다는 소리 - example : Array lookup(indexof), HashTable Insertion(종류중 하나 : 객체 key,valuer값 찾는것이 있음) - lookup이란? array의 index를 가지고 특정 element를 찾아내는것 - Hashtable이란? object가 해쉬테이블의 하나의 형태라고 볼 수 있음 - Hashtable insertion? 특정키로 새로운 value를 추가, 또는 가져오고 삭제하는것 O(lo..

Array.~~~() : 클래스에서만 작동 // Array.prototype.~~~() : 인스턴스에서만 작동 Array.prototype.~~~() : 인스턴스에서만 작동하는거에 대해 알아보자 ex) 그렇다면 인스턴스란 무엇인가? 'new Array(1,2,3)' 또는 'let array = [1,2,3]' 이것들은 Array.prototype( 원본 ) 이 있기때문에 만들어지는 복사본(즉, 인스턴스)이다 ex) prototype이 붕어빵 틀이라면 new Array(1,2,3) , [1,2,3] 이 녀석들이 계속 복사될수 있는 붕어빵이라고 생각하면 편하다 Array.prototype.join.call([1,2,3], '-'); // "1-2-3" [1,2,3].join('-'); // "1-2-3" /..