Binary Tree Traversal, 즉 2진트리 탐색에 대해 알아보자. 정보처리기사 시험문제에도 나오는 이론이기 때문에 중요할듯 싶다 ㅋ 이진트리탐색에서 항상 나오는 3가지 방법, Inorder Traversal, Preorder Traversal, Postorder Traversal이 있고, 한가지 더 추가적으로 보자면 Levelorder Traversal을 이야기 할 수 있을 것이다 이들의 방법은 각각 이렇다. 먼저 그림을 보고 이해하자면 다음과 같은 Binary Tree, 즉 2진트리가 있을 때 Inorder는 Left child -> Root -> Right child 순으로, Preorder는 Root -> Left child -> Right child 순으로, Postorder는 Left..
전체 소스 및 보고서 다운받기 다항식을 Linked LIst를 이용하여 표현하기 위해 다음과 같은 node를 구성하였다.typedef struct node { int coef; // 계수 int exp; // 지수 struct node *next;} node; 즉 2x^3 이라는 항이 있다면 node에 coef = 2; exp = 3; 이 저장되는 방식이다. 이러한 다항식을 List로 표현해 보았다. 값으로 0, 0을 가지는 header노드와 -1, -1을 가지는 tail 노드를 포함하여 List형태로 표현한다.node* makePolynomial(int _index){ node* h = (node*)malloc(sizeof(node)); node* s; int i, rannum, ranCoef, c..
Linked List란 다음 그림과 같은 구조로 포인터를 이용하여 List를 만들어 내는 것이다. 즉 데이터와 link를 이용하여 하나의 배열 형태로 이루어 져 있지만 실제로는 List형태로 연결되어 있는 것이다. List를 사용하면 Array를 이용할 때 정적인 방법으로 코드 작성시에 Array 사이즈를 지정해 주던것을 동적인 방법으로 만들어 줄 수 있고, 구조체의 내용에 따라 다양한 data를 이용하여 List를 만들어 낼 수 있다.typedef struct node { int data; struct node *next;}node; 위의 구조대로 node를 만들어 낸다면 구조체의 선언을 위와 같이 해주면 되고, 만약에 int형 data말고도 추가적으로 더 넣고 싶은게 있다면 구조체에 넣어주기만 하면..
괄호가 없는 식일 때 Infix (중위표기식)에서 Postfix (후위표기식) 로 바꾸는 방법을 구현해 보았다. 이 과정에서는 연산자의 위치를 결정하기 위해 STACK을 이용하였다. 보고서 및 전체 소스 다운받으러 가기 예를들어 a+b*c 라는 식을 후위표기식으로 변환한다고 해보자. 연산자를 위한 STACK을 만들고 연산자를 만났을 때 STACK에 저장한다. 이 과정에서 연산자의 우선순위를 생각해 주어야 하는데, 우선순위는 우리가 일반적으로 알고 있는것과 같이 *,/ 가 +,- 보다 더 높은 경우들을 생각하면 된다. 이러한 우선순위를 적용하기 위해 프로그램 내에서 따로 우선순위를 결정해주는 함수를 만들어 주었다.int Oper_order(char oper) //스택 내부의 연산자의 우선순위{ if(..
Postfix로 작성된 수식을 STACK을 이용하여 연산하는 프로그램을 작성해 보았다. 보고서 및 전체 소스 다운로드 연산과정은 다음과 같다. 예를들어 8/2-3 이라는 Infix방식의 수를 82/3- 의 Postfix방식으로 바꾼뒤 STACK을 이용하여 연산을 하게 되면 연산될 두 숫자를 STACK에 저장하고 연산자를 만났을 때 연산, 결과를 다시 STACK에 넣는다. 같은 방식으로 식이 종료될 때 까지 반복하면 STACK에는 전체의 연산 결과가 저장될 것이고, 이를 결과로 출력해 준다.int calculate(char *oper) { int i=0; int j; int temp = 0; // 연산된 값을 저장하기 위한 temp 변수 int temp_mul = 1; // 제곱 연산을 하기 위한 ..
수식의 표기방법에는 Prefix (전위표기법), Infix (중위표기법), Postfix (후위표기법) 이 있다. 예를들어 보자면 위의 표에 나와있는것 처럼 표현할 수 있다. 컴퓨터에서는 수식을 계산할 때 중위표기식으로 표현된 것을 후위표기식으로 바꾼뒤 계산한다. 그리고 이 과정에서 STACK이 사용된다. 예를들어 사용자가 2+3*4 의 연산을 입력하면 컴퓨터는 후위표기법인 234*+ 로 바꾼 뒤 계산하여 14라는 결과를 얻어내는 것이다.
- Total
- Today
- Yesterday
- LGG6
- LG페이
- 커플여권케이스
- 커플여권지갑
- 가죽여권지갑
- LGPay
- 에어팟안드로이드
- LG워치
- Chromecast
- AR Stickers
- 워치어베인
- 유리스톤칩
- 크롬캐스트
- LG워치 어베인
- 증여세셀프신고
- chromecast2
- 글자수 세는 프로그램
- AR스티커
- 자동차유리스톤칩
- 크롬캐스트2
- 여권케이스
- 워치어베인 2nd edition
- 글로벌자동차유리
- 오드컨테이너
- 미성년자녀증여세
- 워치어베인 2nd 에디션
- 가죽여권케이스
- 글자수 세기 프로그램
- 앞유리돌빵
- 무료복원
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |