일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JWT 쓰는이유
- 알림생성
- 알림생성모듈
- getComputedStyle
- 3계층구조
- 메뉴바 한번에
- 쿼리스트링
- N+1
- Winston
- 스테이지어스
- 레포지토리
- 게시글 이미지
- 부트캠프
- element.style
- N+1문제
- 이미지가 포함된 게시글
- 패스파라미터
- .env
- 포트번호
- 메뉴바
- secret코드
- 게시글 이미지 업로드
- 네비게이션 한번에
- JWT
- JWT 쓰는 방법
- unnest
- 토큰
- 환경변수
- route 53
- JSON Web Token
- Today
- Total
목록알고리즘/자료구조 (3)
기주

B-tree 알아보기이진탐색트리(BST)-각 노드는 최대 2개의 자녀 노드를 가진다.-모든 노드의 왼쪽 서브 트리는 부모보다 작은 값들만 가지고 모든 노드의 오른쪽 서브 트리는 부모보다 큰 값을 가진다.-삽입,검색,삭제의 평균적인 시간복잡도: O(logN)-하지만 편향된 트리가되면 최악의 경우 O(N)까지 떨어질 수 있다 이진 탐색트리의 문제점-깊이가 깊어지면 검색, 삽입성능이 떨어진다.-균형유지가 어렵다. 자녀노드를 더 많이 갖기위해서는 어떻게 해야하는가?-> 상위 노드에 더 많은 키값을 가지면 된다.예를들어 자녀 노드를 3개씩 갖기위해서는 부모 노드에 2개의 키값을 가져야한다. 2개의 키 값이 있다면 3가지 값의 범위를 만들어 낼 수 있기 때문. ( k2)왼쪽자식: 작은 키값보다 작은값중간자식:..
1. 배열 -연속적인 메모리 공간에 저장-크기가 고정-인덱스로 빠른 조회(O(1))-삽입/삭제 느림 (O(n)) 세부분류정적배열: 자바에서 쓰는 방식. 크기가 고정되어 삽입/삭제 시 개발자가 직접 새로운 배열을 생성해 값을 옮겨야 한다. 동적배열: 자바스크립트에서 쓰는 방식. 내부적으로 새로운 배열로 값을 옮겨주므로 개발자가 직접 배열을 생성해 옮길 필요가 없다. 장점:인덱스로 빠른 조회가능.메모리 사용 효율적. (연속된 메모리공간) 단점:크기가 고정.삽입/삭제 시, 기존 요소들을 옮기는 작업으로 오래 걸림 2. 연속 리스트 배열처럼 연속된 메모리 공간에 저장하나, 크기 조절 가능.크기조정 시, 기존데이터를 옮기는 작업이 필요하다 일반적으로 동적배열과 연속리스트를 구분하지 않는 경우가 많다...
해시 테이블 -가장 유용한 자료 구조중 하나 1. 가게에서 물건의 가격 찾을때 빨리 찾는 순서는? -> 모든 가격표를 외운 알바생 > 정렬된리스트 > 정렬되지 않은 리스트 2. 가게에서 물건의 가격 찾을때 빨리찾는 순서와 시간복잡도는? -> 모든 가격표를 외운 알바생(O(1)) > 정렬된리스트(이진 탐색) (O(log n)) > 정렬되지 않은 리스트(단순 탐색)(O(1)) 가격을 외운 알바생을 만드는 법 : 해시 함수 해시테이블은 언제 사용해야할까?-> 해싱은 특정 데이터가 "들어온 순서 상관 없이" 삽입, 삭제, 검색이 자주 발생하는 경우에 사용하기에 좋다. 해시함수 조건 1. 일관성을 가져야한다 같은 문자를 넣었을때는 항상 같은 값이 나와야만 한다 ex) apple을 넣..