CS 14

[자료구조] priority_queue 컨테이너_C++

우선순위 큐(priority_queue) : 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다. priority_queue 컨테이너 #include templete class priority_queue 🌀 설명 C++ STL에 포함되어 있는 맵를 표현하는 컨테이너. 🌀 인자 T: 자료형 Container: 구현체 Compare: 비교 연산자 🌀 선언 및 초기화 예시 // std::priority_queue mypq; //가장 작은 값이 우선순위가 되는 큐 std::priority_queue mypq; 🌀 ..

CS/자료구조 2022.05.10

[영상처리] Corner Detection

Corner : 두 edge가 만나는 점으로, 두 방향사이의 Image intensity에서 급격하게 변화하는 곳 Image Gradients white - largest value int the image. strong positive value black - strong negative value corner region에서 대부분의 구역은 low values를 갖지만, ix에서 오른쪽에 위치한 edge는 strong positive value를 갖고 왼쪽에 위치한 edge는 strong negative value를 갖는다. iy에서 오른쪽에 위치한 edge는 strong negative value를 갖고 왼쪽에 위치한 edge는 strong positive value를 갖는다. Distributio..

CS/컴퓨터비전 2022.01.21

[알고리즘] Divide and Conquer(분할정복)

Divide and Conquer : 여러 알고리즘의 기본이 되는 해결 방법으로, 크고 방대한 문제를 작은 문제로 나눠가면서 풀고 합쳐서 해결하는 방식 -> 재귀적인 마인드로 문제를 해결하는 기법 -> sort, search step1 : Divide - 주어진 input을 small instance로 나눈다 step2 : Conquer - smaller instance에 대한 solution - 쉽게 solution을 구하지 못하면 recursive(divide된 conquer도 divide & conquer 반복) step3 : Combine(If necessary) - original instance의 해를 구할 수 있도록 smaller instance 이용 ✔️ Merge Sort : 원소 개수가..

CS/알고리즘 2021.07.13

[컴퓨터 구조] 용어정리

4장 Forwarding Limitations - Since ALU complete in a cycle (ALU가 cycle 안에서 완료되었을때) - Memory does not return until the end of MEM Branch Prediction - 정적과 동적 예측 : 분기 조건의 결과를 미리 예측하고, 예측된 결과에 기반하여 다음 명령을ㅁㅁ fetch하고 파이프라인을 계속 진행 Dynamic Branch Prediction - 프로그램 실행 중 계산 이력에 따라 분기를 동적으로 예측 Precise Exception - 파이프라인 컴퓨터에서 정확한 명령어와 연관짓는 인터럽트 또는 예외 프로세서와 입출력방식 Polling 장점 : 프로세서가 완전히 제어되고 모든 작업을 수행한다. 단점 : ..

CS/컴퓨터구조 2021.06.06

[자료구조] 그래프 (Graph)

그래프 (Graph) 👉 비선형적 자료구조 👉 정점(vertex)과 정점을 연결하는 간선(edge)을 포함 👉 연결에 일정한 패턴을 이루고 있지 않음 👉 그래프는 비어있을 수 있음 👉 그래프는 순환(Cycle) 혹은 비순환(Acycle) ❗️순환(Cycle) : 경로 중에서 경로의 시작 정점과 마지막 정점이 같은 경로 무방향 그래프 (Undirected Graph) : 두 정점를 연결하는 간선의 방향이 없는 그래프 방향 그래프 (Directed Graph) : 두 정점 연결하는 간선의 방향이 있는 그래프 완전 그래프 (Complete Graph) : 모든 정점들 사이에 1:1로 직접 연결된 간선을 갖는 그래프 👉 정점이 n개인 무방향 그래프인 경우, 최대 간선 수 = n(n - 1)/2 부분 그래프 (S..

CS/자료구조 2021.01.26

[자료구조] map 컨테이너_C++

맵 (map) : 맵은 특정 순서에 따라 키 값과 매핑된 값의 조합으로 형성된 요소를 저장하는 연관 컨테이너이다. 👉 key 값 중복 불가능 👉 삽입이 되면서 자동으로 정렬 👉 저장공간의 필요에 따라 동적할당 👉 균형 이진 트리 구조 map 컨테이너 #include template class map; 🌀 설명 C++ STL에 포함되어 있는 맵를 표현하는 컨테이너. 🌀 인자 Key : 키의 자료형 T : 데이터의 자료형 🌀 선언 및 초기화 예시 //int형 키와 value를 갖는 map 선언 std::map m; //m1과 동일한 map 생성 std::map m2(m1); 🌀 멤버함수 //map이 비어있는지 여부를 반환 bool empty() const; //map의 크기를 반환 size_type size..

CS/자료구조 2021.01.23

[자료구조]이진 힙 (Binary Heap)

이진 힙 (Binary Heap) 👉 완전 이진트리를 기본으로 하는 자료구조 👉 각 노드의 값은 해당 노드의 후손 노드의 값보다 크거나 같음 👉 새로운 entry를 추가하기 위해서는, 새로운 entry를 가장 마지막 spot에 위치하고 reheapification 👉 가장 큰 entry를 삭제하기 위해서는, 가장 마지막 노드를 root에 위치하고 reheapfication 👉 배열에 트리의 값들을 넣어줄 때, 0 번째는 건너뛰고 1 번 index 부터 루트노드가 시작 (노드의 고유번호 값과 배열의 index 를 일치시켜 혼동을 줄이기 위함) 최대 힙 (max heap) 구현 🌀 왼쪽 자식 인덱스 : (부모 인덱스) * 2 🌀 오른쪽 자식 인덱스 : (부모 인덱스) * 2 + 1 🌀 부모 인덱스 : (자식..

CS/자료구조 2021.01.12

[자료구조] 트리 (Tree)

트리 트리는 노드들의 집합으로 이루어진 자료구조 트리는 하나의 루트 노드를 갖음 루트 노드는 0개 이상의 자식 노드를 갖고 있음 그 자식 노드 또한 0개 이상의 자식 노드를 갖고 있고, 이는 반복적으로 정의됨 트리 구조는 그래프의 일종 트리에서 사용되는 용어 조상 노드 : 선택된 노드에서 루트 노드까지 연결된 모든 노드들 후손 노드 : 선택된 노드의 하위(루트 노드 반대방향)에 있는 모든 노드들 리프 노드 : 자식이 없는 노드 서브 트리 : 트리에서 트리의 형태를 갖춘 일부 노드 집합 차수 : 선택된 노드의 자식 노드의 개수 깊이 : 루트 노드부터 선택된 노드까지 연결된 선의 개수 높이 : 깊이나 최대값과 동일 이진트리 (Binary Tree) : 이진 트리는 트리를 구성하는 모든 노드의 차수가 2이하인..

CS/자료구조 2021.01.03
반응형