C++ 3

[C++] 이진 트리 구현하고 순회하기 (Binary Tree in C++)

이진트리(Binary Tree)란?모든 노드의 차수를 2 이하루 정하여 전체 트리의 차수가 2 이하가 되도록 만든 것이 이진트리다.이진트리는 왼쪽 자식노드와 오른쪽 자식노드 2개만을 가질 수 있으며, 공백노드도 이진트리의 노드로 취급한다.이진트리의 서브트리 모두 이진트리이다. 이진트리의 종류이진트리는 포화 이진 트리(Full binary tree), 완전 이진트리(Complete binary tree), 편향 이진트리(Skewed binary tree) 3가지가 있다.포화 이진트리는 모든 레벨에 노드가 꽉찬 이진트리를 말하며, 공백 노드가 없다.즉 트리의 높이가 h 일때 2^(h+1) - 1 개의 최대 노드수를 갖는 이진트리이다. 완전 이진트리는 노드 개수가 n 개일 때, 노드의 위치가 포화 이진트리의 ..

자료구조 : 큐(Queue) 이해하고, 구현하기 in C++

Queue 1분만에 파악하기! 큐(Queue)은 선입선출 (First In First Out, FIFO) 자료구조이다. 먼저 넣은 자료가 가장 마지막에 나오는 스택(Stack)과는 반대이다. >> 스택에 대한 포스트를 참조 큐에 자료를 넣는 행동은 Put(또는 Enqueue), 꺼내는 행동은 Get(또는 Dequeue)이라고 하며 큐의 제일 앞에 있는 자료를 Front(또는 Head), 가장 뒤의 자료를 Rear(또는 Tail)라고 한다. 또한 큐가 꽉 차서 더 이상 큐에 자료를 넣을 수 없는 경우를 Overflow라고 하고, 큐가 비어있어 자료를 더이상 Get(Dequeue)할 수 없는 경우를 Underflow라고 한다. Queue, 어디에 쓸까? 'Queue'는 줄, 대기행렬이라는 뜻을 가지고 있다...

Polynomial Operation in C++, 다항식 연산 덧셈/뺄셈/곱셈

자료구조 수업을 들으면서 과제로 다항식 연산을 C++코드로 구현하라는 것이 나왔다.C++ 자체가 처음이라 C++부터 공부를 했는데, 다행히도 내가 배운 C와 Java가 섞여있는 언어라배우는데 그다지 오래 걸리지는 않았다. 다항식 연산에서 termArray를 static으로 쓰는 것이 포인트고,매커니즘은 내가 그린 그림과 같다...(이렇게 그림 그려서 코드 작성하니 훨씬 쉬워지는 듯) 곱셈의 경우 추가적인 옵션 과제였는데,나는 한번 곱셈해서 나온 다항식을 계속해서 더하는 방식으로곱셈을 구현했다. 코드가 조금 길긴하지만 아래에 붙여넣도록 하겠다.(다항식 곱셈에 관해서 조금더 효율적이 있는 방법이 있으신 분은 댓글로 같이 공유해봐요!) 12345678910111213141516171819202122232425..