선수 과목 체계 등 선행 관계가 있는 자료구조를 정렬할 때 필요한 알고리즘이 바로 위상정렬(topological sort)이다. 방향이 있는 그래프(단, 사이클이 없어야 함) 정점들의 선행 순서를 위배하지 않으면서 모든 정점을 순서대로 나열하는 알고리즘이다. 유향 그래프(방향이 있는 그래프)에서 에지 가 있다면 정점u가 정점v를 선행한다. 위상 정렬 방법 ① 진입 차수(내차수)가 0인 임의의 정점 (선행자가 없는 정점) 출력 ② 출력한 정점에 부착된 모든 에지들을 제거하여 진입 차수 재계산 ③ 모든 정점이 제거될 때까지 ①~② 반복 ④ 진입 차수가 0인 것이 없으면, 그래프가 사이클을 포함한 것으로서 해가 존재하지 않음. 위상 정렬 알고리즘 (C언어) 아래와 같은 입력 형식의 사이클이 없는 방향그..
#include 으로 불러와 사용하는 string 타입(자료구조)은 printf가 지원을 하지 않는다고 한다. 그렇기에 출력해보면 ???나 이상한 특수문자가 나온다. ex> string str = "Hello, World!"; printf("%s", str); //???로 출력 해결 방법은 간단하다. string 자료구조를 c_str()함수를 활용해 c-style의 string으로 변환해서 출력해주면 된다. ex> string str = "Hello, World!"; printf("%s", str.c_str()); // Hello, World!
수식 표기 방법 수식 표기 방법에는 전위, 중위, 후위 표기법이 있다. 우리가 일반적으로 사용하는 표기법은 중위 표기법이다. 중위 표기법: 연산자가 피연산자 가운데 위치. 전위 표기법: 연산자가 피연산자 앞에 위치. 후위 표기법: 연산자가 피연산자 뒤에 위치. 중위 표기법 전위 표기법 후위 표기법 1+3*8 +1*38 138*+ 2*5-7 -*257 25*7- (a+b)+4 ++ab4 ab+4+ 컴퓨터에서 수식을 계산하는 순서 중위 표기식을 후위 표기식으로 변환 후위 표기식을 계산 1, 2단계 모두에서 스택을 활용한다. 중위 표기식에서 후위 표기식으로 변환 중위표기식과 후위표기식의 공통점은 피연산자의 순서가 동일하다는 것이다. 둘은 연산자 순서만 다르다. 연산자만 스택을 활용해 저장했다가 출력하면 된다...
- Total
- Today
- Yesterday
- 프로그래머스
- Dash
- 자료구조
- dfs
- JS
- 코테후기
- React
- 다이나믹프로그래밍
- 머신러닝
- 회고
- 후위표기식
- 스택
- 알고리즘
- 개발
- 컴퓨터공학
- 백준
- plotly
- 자바스크립트
- MySQL
- 동적계획법
- 리액트
- 코드포매터
- 우선순위큐
- sql
- 카카오추천팀
- reactjs
- 큐
- dash-plotly
- c++
- 컴퓨터과학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |