자료구조(11)
-
후위표기식 전환 (스택이용) 1
Postfix1 정의 : 연산자를 피연산자 뒤에 표기하는 방법이다. Stack을 사용한 커퓨터의 계산을 위해서 고안된 계산법이며, 괄호가 필요 없다는 특징이 있다. infix-> postfix : infix로 표현된 수식 (a+b) * c / d + e postfix로 표현된 수식 ab+c*d/e+ postfix 수식 계산 연산자를 만나면 앞선 두개의 피연산자들을 연산자로 계산한다. i)a+bc*d/e+ ii)(a+b)*cd/e+ iii)(a+b)*(c/d)e+ iv)(a+b)*(c/d)+e Stack에서 연산 방법 피연산자가 입력되면 Stack에 넣는다 연산자가 입력되면 Stack에서 피연산자 2개를 꺼내 계산 후 결과를 Stack에 넣는다. #include #include #include typede..
2021.06.18 -
큐
큐 정의 먼저 들어온 데이터가 먼저 나가는 자료구조 구조 FIFO 구조 (First - In - First - Out) : 먼저 들어온 데이터가 먼저 나감 예제 큐 추상데이터타입(ADT) create(max_size) ::= 최대 크기가 max_size인 공백큐를 생성한다. init(q) ::= 큐를 초기화한다. is_full(s) ::= if(size== max_size) return TRUE; else return FALSE; is_empty(s) ::= if(size == 0) return TRUE; else return FALSE; enqueue(q, e) ::= if(is_full(q)) return ERROR_QUEUEFULL; else q의 끝에 e를 추가한다. dequeue(q) ::= i..
2021.06.18 -
스택
스택 정의 쌓아놓은 더미 구조 LIFO 구조 (Last - In - First - Out) : 가장 최근의 데이터가 가장 먼저 나감 pop() : 스택에 데이터를 삭제 push () : 스택에 데이터를 추가 예제 스택 추상데이터타입(ADT) create(size) ::= 최대 크기가 size인 공백 스택을 생성한다. is_full(s) ::= if(스택의 원소수 == size) return TRUE; else return FALSE; is_empty(s) ::= if(스택의 원소수 == 0) return TRUE; else return FALSE; push(s, item) ::= if(is_full(s)) return ERROR_STACKFULL; else 스택의 맨 위에 item을 추가한다 pop(s)..
2021.06.18 -
C++STL
참고 사이트-알고리즘 침고사이트-STL STL pair 정의 : 이름이 first , second인 두 개의 변수를 저장할 수 있는 struct 용도 : 이차원 배열의 인덱스 이차원 좌표 평면에서의 좌표 정점 번호와 해당 정점 번호까지의 최단거리를 묶어서 저장해야하는 경우 사용법: pair 을 사용하기 위해서는 를 include 해야 한다. pair은 다른 컨테이너들에 비해 간단한 구조이기 때문에 멤버 함수가 적다. 예제: xxxxxxxxxx //pair 선언 pair p; pair p; //pair 생성 int a = 1, b = 2; pair p = make_pair(a,b); pair p = make_pair(1,2); //pair의 멤버 변수에 접근 int valA = p.first; int va..
2020.10.16 -
[C 자료구조] 자료구조와, 알고리즘 성능 분석 방법
내용 : 자료구조의 정의와, 시간복잡도, 공간 복잡도의 개념에 대해 공부한다. 1. 자료구조란 - 정의 : 데이터를 표현하고 저장하는 방법에 대해서 설명한다. 파일도 데이터를 저장하는 도구이기 때문에 파일의 구조도 또한 자료구조에 포함이 돤다. 앞으로 공부할 내용은 선형구조와 비선형 구조를 공부한다. - 선형 자료구조 : 자료를 표현 및 저장하는 방식이 선형이다. 즉, 데이터를 선의 형태로 나란히 혹은 일렬로 저장하는 방식이다. - 비선형 자료구조 : 데이터를 나란히 저장하지 않는 구조, 선형구조에 비해 어렵다. 2. 알고리즘 -정의 : 표현 및 저장된 데이터를 대상으로하는 '문제의 해결방법'을 의미한다. 자료구조에 따라 알고리즘은 달라지며, 알고리즘은 자료구조에 의존적이다. 3. 알고리즘 성능 분석 방..
2020.05.30