분류 전체보기(145)
-
[자료구조] 우선순위 큐(PriorityQueue) 개념 및 코드
이번 포스팅에선 우선순위 큐에 대해 알아보겠습니다. 큐, 스택에 대한 이해가 없으신 분은 밑의 포스팅을 먼저 보고 와주시면 감사하겠습니다. 본 포스팅은 python으로 진행합니다. [스택 개념 및 코드] https://mengu.tistory.com/29?category=931463 [자료구조] 스택(Stack) 개념 및 코드 구현 자료구조 중 하나인 스택(Stack)에 대해 알아보고, 직접 코드로 구현해보자. 배열 구현과 연결 리스트 구현 모두 해볼 것이다. 들어가자. 스택(Stack) 개념 가장 나중에 넣은 데이터를 가장 먼저 빼 mengu.tistory.com [큐 개념 및 코드] https://mengu.tistory.com/30?category=931463 [자료구조] 큐(Queue) 개념 및 ..
2022.07.06 -
[선형대수학] 영공간과 선형독립 간의 관계 (Relation of null space to linear independence of columns)
이번 포스팅에선 영공간과 선형독립 간의 관계(Relation of null space to linear independence of columns)에 대해 알아보겠습니다. 만약 영공간에 대한 개념을 모르신다면 아래의 포스팅들을 보고와주시길 바랍니다. 포스팅의 목표: 행렬의 열벡터들이 선형 독립인가?를 영공간과 연관지어 설명할 수 있다. [행렬의 영공간이란?] https://mengu.tistory.com/82 [선형대수학] 행렬의 영공간 (Null space of a matrix) 행렬의 영공간에 대해 알아보는 포스팅입니다. 행렬은 어느정도 이해가지만, 영공간은 대체 무슨 말인지 모르겠습니다. 영공간을 이해하기 위해선 먼저 부분 공간에 대한 복습이 이뤄져야 합니 mengu.tistory.com [행렬의 ..
2022.07.05 -
[C++] 연산자를 커스텀해보자(operator overloading)
이번 포스팅에선 연산자 오버로딩에 대해 알아보겠습니다. 연산자: 말그대로 더하기, 빼기, 곱하기 등의 연산을 하는 실행 코드. 오버로딩: 같은 이름을 쓰지만 매개 변수에 따라 다른 실행을 할 수 있게 하는 규칙. 연산자 오버로딩은 즉, 기존의 연산자 실행과 더불어 사용자가 마음대로 커스텀하여 연산자를 사용할 수 있도록 하는 것을 말한다. 개발 환경 : VSCode, Windows 10 Contents 📌 연산자 오버로딩 & 연산자 함수 정의 📌 오버로딩의 제약 사항 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 연산자 오버로딩 & 연산자 함수 정의 연산자 오버로딩이란? -, *, +..
2022.07.03 -
[C++] 생성자(constructor)와 소멸자(destructor)
이번 포스팅에선 생성자와 소멸자에 대해 알아보겠습니다. 생성자: 클래스 객체를 만들 때 매개 변수를 초기화하는 함수 소멸자: 객체의 수명이 끝나면 정리해주는 멤버 함수 생성자는 클래스의 시작, 소멸자는 클래스의 끝이라고 보면 되겠다. 개발 환경 : VSCode, Windows 10 Contents 📌 생성자 정의 및 선언 📌 디폴트 생성자 📌 복사 생성자 📌 소멸자 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 생성자 정의 및 선언 앞서 배웠던 클래스는 거의 자신만의 매개 변수를 가졌습니다. 따라서 클래스 객체를 생성할 땐 매개 변수도 무조건 초기화해줘야 합니다. 생성자는 매개 변수..
2022.07.01 -
[Algorithm] 매개 변수 탐색(Parametric Search)
매개 변수 탐색은 이분 탐색의 활용 버전입니다. 이분 탐색은 탐색을 통해 target 값을 찾는 알고리즘이었습니다. 그렇다면 매개 변수 탐색도 target 값을 찾는 또 다른 방법일까요? 아닙니다. https://mengu.tistory.com/83?category=931463 [Algorithm] 이분 탐색(Binary Search) 개념 및 코드(python) 순서대로 나열되어 있는 배열이 있습니다. 이 배열에서 target 값을 찾으려 하는데, 배열 요소가 100만개라 모두 비교하면 시간이 많이 걸립니다. 이때 더 빠르게 target 값을 찾을 순 없을까요? 이 mengu.tistory.com 📌 매개 변수 탐색(Parametric Search) 정의 매개 변수 탐색은 조건을 만족하는 값(targe..
2022.06.30 -
[C++] 클래스(class) 개념 및 선언 (plus. this 포인터)
이번 포스팅에선 클래스에 대해 알아보겠습니다. 클래스: 특정 객체를 선언하기 위해 변수와 메서드를 묶는 일종의 틀. 즉, 변수 + 메서드의 묶음. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 클래스(class) 정의 클래스는 비슷한 성향의 변수와 관련 프로세스를 수행하는 메소드를 정의한 틀입니다. 여러 타입의 데이터와 함수를 저장할 수 있는 구조체의 상위 호환으로 볼 수도 있습니다. 다수의 객체를 생성하는데 쓰이며, 객체 지향 프로그래밍(OOP)에 있어 핵심적인 개념입니다. 당연하게도 OOP의 특성인 (1) 추상화 (2) 캡슐화 (3..
2022.06.30