[목차] #Binary Tree Maze Algorithm #구현 #참고 * 개인적인 공부 내용을 기록하기 위한 용도로 작성된 포스팅 이기에 잘못된 내용이 있을 수 있습니다. * 인프런 Rookiss 선생님의 PART2 자료구조와 알고리즘 - Binary Tree 미로 생성 알고리즘 내용을 기반으로 정리한 글 입니다. #Binary Tree Maze Algorithm Binary Tree Maze Algorithm 이란, 간단한 미로 생성 알고리즘 중 하나로 모든 벽이 막힌 정사각형 모양이 보드판이 있다고 가정할 때 오른쪽 혹은 아래쪽 (위쪽 혹은 왼쪽도 가능) 으로 길을 뚫어 가며 미로를 생성하는 원리의 알고리즘이다. 예를들어 다음과 같은 5X5 타일이 준비되어 있으며, 좌측 상단부터 미로를 생성해 나..
* 개인적인 공부 내용을 기록하는 용도로 작성된 포스팅 이기에 잘못된 내용이 있을 수 있습니다. 프로그램을 실행 시키면 실행 되기에 앞서 프로그램이 메모리에 로드(Load)된다. 그렇기에 프로그램안에 정의된 여러가지 변수와 함수들을 저장하기 위한 메모리가 필요하다. 운영체제(Operating System)는 대표적으로 다음 4가지 종류의 메모리 공간을 제공한다. 1. 코드영역 (Code Segment) 가장 낮은 수준의 메모리 영역으로, 프로그램 내부 소스파일에 정의된 함수 코드가 정의되는 영역이다. 텍스트 영역 이라고 부르기도 한다. 2. 데이터영역 (Data Segment) 전역변수 혹은 정적변수가 저장되는 공간이다. (상수, 리터럴, 전역변수, Static 등..) 데이터영역은 프로그램 시작 시 할..
[목차] #1 반환형이 참조자(&)인 함수 #2 반환형이 기본자료형인데, 참조자(&)를 반환하는 함수 *개인적인 C++ 공부 내용을 정리하는 용도로 작성된 글 이기에 잘못된 내용이 있을 수 있습니다. #1 반환형이 참조자(&)인 함수 함수의 반환형은 기본 자료형 뿐 만 아니라 참조자(&)가 선언될 수 도 있다. 다음 코드를 보고 num1 과 num2 변수의 결과값을 예측해 보자. #include using namespace std; int& RefReturn(int &ref) { ref++; return ref; } int main(){ int num1 = 10; int &num2 = RefReturn(num1); num1++; num2++; cout
[목차] #1 참조자의 단점 #2 참조자의 상수 참조 *개인적인 C++ 공부 내용을 정리하는 용도로 작성된 글 이기에 잘못된 내용이 있을 수 있습니다. #1 참조자의 단점 #5 참조자와 함수 - 참조자가 필요한 이유 포스팅에서 참조자를 이용하면 포인터를 사용하는 것 보다 쉽게 Call-By-Reference 방식 함수를 선언할 수 있다고 공부했다. 하지만 참조자를 사용하는 방식은 단점이 존재한다. 다음 코드를 보고 출력 결과를 예상해보자. int num1 = 100; PrintNum1(100); cout
[목차] # 참조자가 필요한 이유 *개인적인 C++ 공부 내용을 정리하는 용도로 작성된 글 이기에 잘못된 내용이 있을 수 있습니다. # 참조자가 필요한 이유 앞선 #4 참조자(Reference) - 참조자는 변수의 별칭이다. 포스팅에서 참조자에 대해서 간략하게 알아 보았다. 하지만 여전히 왜 굳이 메모리 공간에 참조자라는 것을 사용해 별칭을 하나 더 지어 주어야 하는 지 찝찝한 기분이 사라지지 않을 것이다. 사실 앞의 코드들은 단순히 예시일 뿐 이고, 참조자는 함수에서 큰 역할을 차지한다. 참조자를 사용하면 Call-By-Value 형태의 함수가 아닌, Call-By-Reference 형태의 함수를 선언할 수 있다. 예를 들어 변수 X 와 변수 B 의 값을 바꾸는 temp 함수를 아래와 같이 선언 했다고..