분류 전체보기

· C++
Map의 특성 Map은 Key와 Value 쌍을 특별한 순서로 저장하고 있는 연관 컨테이너(Associative Container)다. 이진 트리(Red-Black Tree)로 구현되어있고, Key를 통해 Value에 접근하고자 할 때, [] 연산자를 사용해서 접근할 수 있다. RB Tree는 쉽게 말하면 자가 균형 이진 트리이다. https://hanseongbugi2study.tistory.com/94 Red-Black Tree (RB Tree) What? Red - Black Tree는 자가 균형 이진 탐색 트리이다. 레드 - 블랙 트리는 아래와 조건을 만족한다. 모든 노드는 빨간색 혹은 검은색이다. 루트 노드는 검은색이다. 모든 리프 노드들은 검은색이다. hanseongbugi2study.tist..
시스템 메모리 구조 프로그램을 동작시키면 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당됨 프로세스 주소 공간은 코드(Code) 영역, 데이터(Data) 영역, 스택(Stack) 영역, 힙(Heap) 영역으로 이루어져 있다. 코드(Code) 영역 실행될 프로그램 코드가 적재되는 영역 사용자가 작성한 모든 함수의 코드와 사용자가 호출한 라이브러리의 함수들의 코드가 적재 컴파일 시간에 결정되고 중간에 코드를 바꿀 수 없게 Read-Only로 지정되어 있다. 데이터(Data) 영역 프로그램에서 고정적으로 만든 변수 공간 전역 변수와 정적 데이터가 적재된다. 전역(Static) 값을 참조한 코드는 컴파일을 하고 나면 Data 영역의 주소 값을 가르키도록 바뀐다. 실행 중 전역 변수의 값이 변경될 수 있으..
· CS/Language
C++ 설계 목적 C 언어와의 호완 C 언어로 작성된 프로그램과의 호완성 유지 C 언어의 분법적 체계를 그대로 계승 C 언어로 작성되어 컴파일된 목적 파일(C object file)이나 Library를 C++ 프로그램에서 링크하여 사용할 수 있다. 객체 지향 소프트웨어의 재사용을 통해 소프트웨어 생산성을 높였다. 복잡하고 큰 규모의 소프트웨어 작성, 관리, 유지 보수를 쉽게 하기 위해서 캡슐화, 상속, 다형성 등의 객체 지향적 개념을 도입 타입 체크 타임 체크를 엄격히 하여 실행 시간 오류의 가능성을 줄이고 디버깅을 돕는다. 효율성 저하 최소화 실행 시간의 효율성 저하를 최소화 멤버 함수에 인라인 함수를 도입하는 등 함수 호출로 인한 시간 저하를 막음 C언어에 추가한 기능 인라인 함수 자주 호출되는 함수..
- 객체 객체란? 현실 세계에서 실재하는 모든 대상을 변수(상태/속성)와 함수(행동)로 추상화 시킨 개념 우리가 실생활에서 쓰는 모든 것 우리가 보고 느끼고 인지할 수 있는 그 모든 것을 의미 class Car { public: // 속성 정의 string company; string model; string color; int wheels; bool isConvertible; // 기능 정의 void startEngine() { cout
ORB_SLAM3 설치 방법 https://hanseongbugi2study.tistory.com/88 [SLAM]ORB SLAM3 설치하기 설치 환경 Ubuntu 18.04 ROS Melodic OpenCV 3.2.0 Pangolin 설치 https://github.com/stevenlovegrove/Pangolin GitHub - stevenlovegrove/Pangolin: Pangolin is a lightweight portable rapid development library for managing OpenGL display / in Pangolin is a l hanseongbugi2study.tistory.com Realsense SDK 설치 https://github.com/IntelRe..
설치 환경 Ubuntu 18.04 ROS Melodic OpenCV 3.2.0 Pangolin 설치 https://github.com/stevenlovegrove/Pangolin GitHub - stevenlovegrove/Pangolin: Pangolin is a lightweight portable rapid development library for managing OpenGL display / in Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input. - GitHub - stevenlovegrove/Pangolin: ..
https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 이 문제는 분할 정복을 이용한 거듭제곱을 사용해야 해결할 수 있다. 초기에는 이 알고리즘을 모른채 B번 제곱한 수를 구해 C로 나눈 나머지값을 출력하였다. 예제 값은 수가 작아 올바르게 출력되어 제출을 하였으나 틀리고 말았다. 분할 정복을 이용한 거듭제곱이라는 방법을 모른채 문제를 계속 시도하여 정답을 확인해 보았다. 분할 정복을 이용한 거듭제곱을 사용하면 C**n연산은 x를 n번 곱하므로 O(N)이지만, 이 방법을 사용하면 O(logN)에 거듭제곱 값을 구할 ..
https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 기존에 못풀었었던 문제와 똑같은 문제다. 단, 입출력 형식이 조금 다른 것 외엔 똑같았다. #include #include #include using namespace std; int V; int endPoint = 0; vector graph[100001]; int visited[100001] = { 0, }; long result = 0; void dfs(int node, lo..
hanseongbugi
'분류 전체보기' 카테고리의 글 목록 (30 Page)