일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터공학
- 파이썬
- execution context
- useState
- 자바스크립트
- algorithm
- Computer Science
- Operating System
- 자료구조
- python algorithm
- 알고리즘
- OS
- Python
- context switching
- typeScript
- 비동기
- react 기초
- JavaScript
- 글또
- codestates
- java
- Zerobase
- 코드스테이츠
- 자바
- REACT
- 파이썬 알고리즘 인터뷰
- 개발공부
- node.js
- 운영체제
- 프로그래머스
- Today
- Total
목록자료구조 (5)
Back to the Basics
Rock Paper Scissors 1. 문제 이 문제는 가위바위보를 n 판 했을 때 한 사람이 낼 수 있는 모든 경우의 수를 구하는 문제이다. R=Rock , P=Paper, S=Scissors라고 할 때 4판을 했을 때 트리 구조로 구성을 해보면 아래와 같다. 중학생 때 배웠던 수학을 떠올려보자, 한 판을 할 때마다 R, P, S 3개 중 중복을 허용하여 뽑는 경우의 수 3Π\PiΠ1과 같다. 바로 중복순열이다. 중복순열은 자료구조 DFS를 이용하여 전체를 순환하는 방식을 사용한다. DFS에 대한 개념적인 내용은 Section2의 첫 부분인 자료구조에서 이미 정리한 바가 있으니 참고하자 자료구조/알고리즘] Graph - BFS , DFS 입력 : depth 또는 없음 출력 : 2차원 배열 조건 : 여..
정적 배열 : 배열의 길이가 정해져서 변하지 않는 배열 동적 배열 (dynamic array) : 배열의 길이가 동적으로 변하는 배열: 배열이 꽉 찼을 때 다른 메모리 공간에 기존 배열 크기의 두 배의 공간을 할당하고, 기존 배열을 복사하는 형식으로 내부적으로 공간을 늘린다 동적 배열은 내부적으로는 정적 배열을 기반으로 한 자료구조라고 한다. 그림출처 추가 연산 (append operation) 시간 복잡도 append는 아래의 그림과 같이 배열의 끝에 요소를 추가해주는 연산이다. 그림출처 동적 배열에 값을 추가할 때 시간 복잡도를 알아보자 경우 1 : 정적 배열 남는 공간 있을 때 단순히 index를 이용하여 접근하므로 O(1)이다. 겨우 2: 정적 배열이 꽉 찼을 때 값을 추가하기 위해 현재 사용 중..
그래프를 순회하는 방법 중 가장 일반적인 너비 우선 검색과 깊이 우선 검색에 대해 공부한다 1. 너비 우선 방법 (BFS , Breadth-First Search) 그림출처 위의 그림과 같이 그래프에서 연결된 노드와 해당 노드들 간의 간선을 순서대로 검색하는 알고리즘을 말한다. 한 단계씩 내려가면서 해당 노드와 같은 레벨에 있는 노드들을 먼저 순회한다. 이진트리검색의 차수 우선 순회와 비슷한 개념이다. 구현을 위해서는 Queue를 필요로 한다. 시간 복잡도 O(V+E) : V는 정점의 개수이고 E는 간선의 개수이다. 전체 그래프를 순회하기 위해 모든 정점과 간선을 방문해야 하기 때문 아래의 무지향성 그래프의 예와 함께 코드를 분석해보자 탐색 순서는 a → b → d→ c →e 이다. 아래 코드에서 ver..
자료구조 Queue에 대해서 알아아보고, 이를 어떤 방식으로 사용하는지 알아본다. 코드스테이트 Lesson 내용의 일부와 윤성우의 열혈 자료구조 책을 참고하였다. Achievement Goals Queue 자료구조에 대해 이해한다 Queue 자료구조가 가진 특징을 학습한다. Queue 자료구조를 사용하기 적합한 상황을 이해한다 다른 자료구조 와의 차이점을 이해하기 위해 자료 구조 내부를 직접 구현한다. Queue 자료구조를 배열로 대체해볼 수 있다. 1. Queue Queue 란 Queue도 Stack과 비슷하게 데이터를 순서대로 쌓는 자료구조이다. Stack과는 다르게, 먼저 들어온 건이 먼저 나오는 구조이다. 선입선출 , Firts-In-First-Out (FIFO) OR Last-In-Last-Ou..
자료구조 Stack과 Queue에 대해서 알아아보고, 이를 어떤 방식으로 사용하는지 알아본다. 코드스테이트 Lesson 내용의 일부와 윤성우의 열혈 자료구조 책을 참고하였다. Achievement Goals 자료구조에 대해 이해한다. Stack , Queue 자료구조에 대해 이해한다 각 자료구조가 가진 특징을 학습한다. 각 자료구조를 사용하기 적합한 상황을 이해한다 다른 자료구조와의 차이점을 이해하기 위해 자료 구조 내부를 직접 구현한다. 알고리즘 문제에서 Stack, Queue 자료구조를 배열로 대체해볼 수 있다. 0. 추상 자료형 (ADT : Abstract Data Type ) 자료구조를 공부하기에 앞서 추상 자료형 ADT를 먼저 이해하고 시작해야 한다. 추상 자료형은 Computer Science..