Skip to content

Commit 058ae9d

Browse files
committed
feature: ham cycle initial draft
Initial code commit for Hamiltonian Cycle finding
1 parent c7342dc commit 058ae9d

File tree

5 files changed

+30
-0
lines changed

5 files changed

+30
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#pragma once
2+
3+
#include<map>
4+
#include<list>
5+
#include<vector>
6+
using namespace std;
7+
8+
class HamiltonianNode
9+
{
10+
public:
11+
int data;
12+
bool isVisited;
13+
HamiltonianNode(int value);
14+
};
15+
16+
class HamiltonianGraph
17+
{
18+
private:
19+
bool isHamiltonianCyclePresent;
20+
bool isHamiltonianPathPresent;
21+
map<HamiltonianNode*, list<HamiltonianNode*>> _adjlist;
22+
map<int, HamiltonianNode*> _nodeMap;
23+
HamiltonianNode* MakeOrFindNode(int value);
24+
25+
public:
26+
void PushUndirectedEdge(int valueU, int valueV);
27+
void PushSingleNode(int valueU);
28+
};

SourceCodes/0003_Graph/0005_HamiltonianPathAndCycle.cc

Whitespace-only changes.

SourceCodes/0003_Graph/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ set(0003GRAPH_SOURCES
44
0002_DepthFirstSearch.cc
55
0003_TopologicalSort.cc
66
0004_StronglyConnectedComponents.cc
7+
0005_HamiltonianPathAndCycle.cc
78
)
89

910
# Create a library target

Tests/0003_Graph/0005_HamiltonianPathAndCycleTest.cc

Whitespace-only changes.

Tests/0003_Graph/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ add_executable(
1616
0002_DepthFirstSearchTest.cc
1717
0003_TopologicalSortTest.cc
1818
0004_StronglyConnectedComponentsTest.cc
19+
0005_HamiltonianPathAndCycleTest.cc
1920
)
2021

2122
target_link_libraries(

0 commit comments

Comments
 (0)