
Algorithm 공부 #04 - 자료구조(스택과 큐) 스택(Stack) ● 후입선출 구조로 삽입과 삭제가 한 쪽에서만 일어나는 자료구조 ● 깊이 우선 탐색(DFS), 백트래킹 종류의 코딩 테스트에서 효과적 https://pooreumjung.tistory.com/39 큐(Queue) ● 선입선출 구조로 삽입과 삭제가 양방향에서 일어나는 자료구조 ● 너비 우선 탐색(BFS) 종류의 코딩 테스트에서 효과적임 https://pooreumjung.tistory.com/25 ● 우선순위 큐(priority queue) : 값이 들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나오는 자료구조 예제 백준 1874번 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 ..

Algorithm 공부 #03 - 자료구조(투 포인터와 슬라이딩 윈도우) 투 포인터 ● 2개의 포인터로 알고리즘의 시간 복잡도를 최적화함 백준2018번 연속된 수들의 합 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net ※ start_index와 end_index를 1로 초기화해주고 count도 1로 초기화(N만 고를 때의 경우의 수를 미리 더해놓기) ※ ● 투 포인터 이동 원칙에 따라서 반복문 시행하기 sum > N : s..

Algorithm 공부 #02 - 자료구조(배열과 리스트, 벡터와 구간 합) 배열 ● 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 ● 인덱스를 사용하여 값에 바로 접근할 수 있음 ● 배열의 크기는 선언할 때 저장할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없음 ● 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어려움, 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요함 ● 구조가 간단하여 코테에서 많이 사용한다! 리스트 ● 값과 포인터를 묶은 노드라는 것을 포인터로 연결하는 자료구조 ● 인덱스가 없어서 값에 접근하기 위해 Head포인터부터 순서대로 접근해야 함, 값에 접근하는 속도가 느림 ● 포인터로 연결되어 있어 데이터를 삽입하거나 연산하..

Algorithm 공부 #01 - 시간 복잡도와 디버깅 시간 복잡도 ● C++에서는 1억 번의 연산을 1초의 수행 시간으로 예측한다 ● 시간 복잡도 → 컴퓨터 프로그램의 입력값과 연산 수행 시간의 상관관계를 나타내는 척도로 총 3가지의 표기법이 있음 1. 빅-오메가(Ω(n)) : 최선일 때(best case)의 연산 횟수를 나타낸 표기법 2. 빅-세타( : 보통일 때(average case)의 연산 횟수를 나타낸 표기법 3. 빅-오(O(n)) : 최악일 때(worst case)의 연산 횟수를 나타낸 표기법 ※ 코딩 테스트에서는 빅-오 표기법(O(n))을 기준으로 수행 시간을 계산하기 ● 시간 복잡도 도출 기준 1. 상수는 시간 복잡도 계산에서 제외한다. 2. 가장 많이 중첩된 반복문의 수행 횟수가 시간 ..
- Total
- Today
- Yesterday
- 자바스크립트
- 에라토스테네스의 체
- 이분 매칭
- 자료구조
- 백준 풀이
- 스택
- DP
- js
- HTML5
- C++ Stack
- 우선순위 큐
- Do it!
- 반복문
- c++ string
- 스프링 부트 crud 게시판 구현
- 백준
- 자바
- 알고리즘 공부
- 알고리즘
- C++
- html
- CSS
- 투 포인터
- DFS
- 세그먼트 트리
- 카운팅 정렬
- BFS
- java
- 유니온 파인드
- 유클리드 호제법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |