드래곤알고리즘 <v1.0.0> C++ 라이브러리 배포
개발환경 >> Visual Studio
언어 >> C++17이상
운영체제 >> Windows10
안녕하세요!!
이번에는 여러가지 알고리즘을 앞으로 천천히 하나씩 넣어볼 라이브러리입니다~!
말그대로 여러가지 알고리즘이 들어가있는 c++17이상의 라이브러리입니다.
현재 추가해 놓은 알고리즘은 다익스트라 알고리즘(Dijkstra), 크루스칼 알고리즘(Kruskal)이 들어있습니다.
추후에 알고리즘은 천천히 하나씩 추가해나가겠습니다.
본 라이브러리의 제작목적은 개인공부입니다.
정적라이브러리를 만들어서 배포하는연습+여러가지 알고리즘공부 입니다.
최근에 알고리즘에 관해서 관심이 생겨서 이론을 공부한뒤, 만들어봤습니다.
라이브러리 다운로드
https://github.com/DRAGONPROCESS/DragonAlgorithm/tree/master
라이브러리 문서
[ 열거형 클래스 ]
KRUSKAL_RETURN_TYPE::Sum : Kruskal::Return함수에 쓰인다. 최솟값만을 반환한다.
KRUSKAL_RETURN_TYPE::Nodes : Kruskal::Return함수에 쓰인다. 최솟값을 가지는 배열만을 반환한다.
KRUSKAL_RETURN_TYPE::All : Kruskal::Return함수에 쓰인다. 모두 반환한다.
[ 클래스 ]
Edge::Edge(int a, int b, int dst) : 그래프 알고리즘에서의 두 정점과 그 비용을 저장하는 클래스
Kruskal::Kruskal() : 크루스칼 알고리즘을 사용하는 클래스의 생성자.
Kruskal::Kruskal(std::vector<dp::Edge>, size_t) : 크루스칼알고리즘을 사용하는 클래스의 생성자. 첫번째인자는 그래프내용이고, 두번째인자는 최솟값을 얻고싶은 정점의 수이다.
bool Kruskal::Input(std::vector<Edge>&, size_t) : 만약에 위 생성자를 사용했다면, 사용하지않아도된다.
bool Kruskal::Execute() : 크루스칼 알고리즘 실행하는 함수.
std::tuple<std::vector<Edge>, int> Kruskal::Return(KRUSKAL_RETURN_TYPE) : 얻은 최솟값과, 최솟값만을 이어놓은 정점들의 집합을 첫번째 파라미터를 통해 반환받는다.
Dijkstra::Dijkstra() : 다익스트라 알고리즘을 사용하는 클래스의 생성자.
Dijkstra::Dijkstra(std::vector<Edge>&, int) : 다익스트라 알고리즘을 사용하는 클래스의 생성자. 첫번째인자는 그래프내용이고, 두번째인자는 정점의 총 갯수이다.
bool Input(std::vector<Edge>&, int) : 만약, 위의 생성자를 사용했다면, 안적어줘도된다.
bool Execute(int) : 다익스트라 알고리즘을 실행하는 함수.
std::vector<int> Return() : 각 정점에 대한 최솟값을 가지는 배열을 반환한다.
void Print() : 각 정점에 대한 최솟값을 가지는 배열을 출력한다.
시연영상
'🔓알고리즘' 카테고리의 다른 글
알고리즘 문제풀이 캡슐코드 (0) | 2021.07.22 |
---|
댓글