樹的表示 1 雙親表示法

2021-09-29 00:01:16 字數 1175 閱讀 3005

#include

using namespace std;

const

int maxsize =30;

struct node

;struct ptree

;int

getfirstchild

(ptree &t,

int i)}if

(j < t.n)

return j;

else

return-1

;}intgetnextsibling

(ptree &t,

int j)

//從j開始找下乙個兄弟結點

return-1

;//沒找到返回-1

}int

getparent

(ptree &t,

int i)

void

createptree

(ptree& pt,

char a[

2],int n)

parentend = cnt;

//最後乙個有可能是雙親的下標位置

cnt++

;break;}

}} pt.n = cnt;

}int

main()

,,,,

,,,,

};ptree t;

int n =9;

createptree

(t,a,n)

;for

(int i =

0; i < t.n; i++

) cout<

int k =6;

cout<

"的雙親是:"

<<

getparent

(t,k)

<

cout<

"的第乙個子女是:"

<<

getfirstchild

(t,k)

<

cout<

"的下乙個兄弟是:"

樹的雙親表示法

之前學習樹多是採用鍊錶的,在羊村捕羊的演算法上,採用了線性儲存,為此學習一下。雙親表示法區別於,鍊錶,是用線性陣列來存放樹的。既然是線性的,就用一維陣列來完成,開始想法是,每個陣列的元素為乙個結構體。typedef struct node n,pn 再用乙個結構體將這個線性陣列的資訊包含起來 typ...

樹的雙親表示法

演算法思想 將這兩個節點的所有祖先節點從下至上依次存放到兩個陣列中,然後遍歷這兩個陣列,第乙個相等的值便是所求值。include define maxsize 100 typedef struct ptnode ptnode 樹的節點結構 typedef struct ptree ptree 樹pt...

雙親表示法

include include define maxsize 100 typedef struct pnode ptnode typedef struct ptree ptree inittree void creat ptree t,int n t nodes 0 parent 1 void de...