반응형

알고리즘 9

그래프에서 최단 거리 찾기 알고리즘, 다익스트라 알고리즘 [C++ 소스]

그래프에서 최단 거리 찾기 알고리즘다익스트라 알고리즘 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Edge.h#pragma once#include using namespace std;class Edge{ string vt1; string vt2; int weight;public: Edge(string vt1,string vt2,int height); bool Exist(string vt)const; bool Exist(string vt1, string vt2)const; string Other(string vt)const; void View()const; int GetWeight()const; };//Edge.cpp #include "Edge.h" #include using na..

너비 우선 탐색(Breath First Search) 그래프를 정점과 간선 집합으로 표현 [C++ 소스]

너비 우선 탐색(Breath First Search) 그래프를 정점과 간선 집합으로 표현 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Edge.h#pragma onceclass Edge{ int vt1; int vt2;public: Edge(int vt1,int vt2); bool Exist(int vt)const; bool Exist(int vt1, int vt2)const; int Other(int vt)const; void View()const; };//Edge.cpp #include "Edge.h" #include using namespace std; Edge::Edge(int vt1,int vt2) { this->vt1 = vt1; this->vt2 = vt2; } bo..

너비 우선 탐색(Breath First Search) 그래프를 인접 행렬 표현 [C++ 소스]

너비 우선 탐색(Breath First Search) 그래프를 인접 행렬 표현 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Graph.h#pragma once#include #include using namespace std;typedef vector Neighbors;class Graph{ const int vn;//정점의 개수 int **matrix;//인접 행렬 public: Graph(int vn); ~Graph(void); void AddEdge(int start, int goal);//간선 추가 void ViewNeighbors()const; void ViewNeighbor(int vt)const; Neighbors FindNeighbors(int vt); };//Gr..

깊이 우선 탐색(Depth First Algorithm) 그래프를 정점과 간선 집합으로 표현 [C++ 소스]

깊이 우선 탐색(Depth First Algorithm) 그래프를 정점과 간선 집합으로 표현 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Edge.h#pragma onceclass Edge{ int vt1; int vt2;public: Edge(int vt1,int vt2); bool Exist(int vt)const; bool Exist(int vt1, int vt2)const; int Other(int vt)const; void View()const; };//Edge.cpp #include "Edge.h" #include using namespace std; Edge::Edge(int vt1,int vt2) { this->vt1 = vt1; this->vt2 = vt2; } ..

동적 프로그래밍(Dynamic Programming) 순열 문제 [C++ 소스]

동적 프로그래밍(Dynamic Programming) 순열 문제 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Heuristic.h#pragma once#include #include using namespace std;typedef vector Bucket;typedef Bucket::iterator BIter;typedef Bucket::const_iterator CBIter; class Heuristic;typedef vector Heues;typedef Heues::iterator HIter;typedef Heues::const_iterator CHIter; class Heuristic{ Bucket original; Bucket out;public: Heuristic(Bu..

병합 정렬 (Merge Sort) 알고리즘 [C++ 소스]

병합 정렬 (Merge Sort) 알고리즘 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//common.h#pragma once#include #include #include #include #include #include using namespace std; class Member{ string name; int num;public: Member(string name,int num) { this->name = name; this->num = num; } string GetName()const { return name; } int GetNum()const { return num; } void View()const { cout

힙 정렬 (Heap Sort) 알고리즘 [C++ 소스]

힙 정렬 (Heap Sort) 알고리즘 [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다. //common.h (정렬 알고리즘에 공통으로 사용할 내용) #pragma once #include #include #include #include #include #include using namespace std; class Member { string name; int num; public: Member(string name,int num) { this->name = name; this->num = num; } string GetName()const { return name; } int GetNum()const { return num; } void View()const { cout

선택 정렬(Selection Sort) [C++ 소스]

선택 정렬(Selection Sort) [C++ 소스] "본문 내용"은 언제나 휴일 본 사이트에 있습니다.//Program.cpp#include "common.h" template //선택 정렬(base:배열의 시작 주소, n: 원소 개수, compare:비교 논리)void selection_sort(data *base, size_t n, compare com){ for(size_t i=0; in) { size_t min = i;//min=i for(size_t j=i+1; jn) { if(com(base[min],base[j])>0)//조건(compare(base[min], base[j]) > 0) { min = j;//min := j } } swap(base[i],base[min]);//교환(base..

반응형