fheap.h

来自「I implement Dijkstra s Single Source Sho」· C头文件 代码 · 共 52 行

H
52
字号
#pragma once
#include "distset.h"
#include <cmath>

class FHeapNode
{
public:	
	int degree;
	int dist;
	int node;
    bool chlidcut;
	FHeapNode *parent;
    FHeapNode *left, *right;
    FHeapNode *child;
};

class FHeap :
	public DistSet
{
public:
	FHeap(int);
public:
	~FHeap(void);
public:
	virtual int insert(int node, int dist);
public:
	virtual int decreasDist(int node, int newDist);
public:
	virtual int deleteMin(void);
public:
	virtual void initial(void);
public:
	FHeapNode * min;
	int tree_num;
	FHeapNode ** allNodes;
public:
	void pairwiseCombine(void);
public:
	static void testFHeap(void);
private:
	void meld(FHeapNode *, int);
private:
	void combineTrees(FHeapNode * tree1, FHeapNode * tree2);
private:
	void cascadingCut(FHeapNode * theNode);
private:
	void cut(FHeapNode * node, FHeapNode * parent);
private:
	int maxDegree;
	int *degreeList;
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?