用二叉樹實現家譜的相關運算

2021-09-25 16:50:46 字數 603 閱讀 1285

/**

*   實驗題目

*       用二叉樹實現家譜的相關運算

*   實驗內容

*       編寫程式,採用一棵二叉樹表示乙個家譜關係。要求程式具有如下功能:

*   1、檔案操作功能:

*       記錄輸入,記錄輸出,清除全部檔案記錄和將家譜記錄存檔。

*   2、家譜操作功能:

*       用括號表示法和凹入表示法輸出家譜二叉樹,查詢某人的所有兒子,查詢

*   某人所有祖先。

*   分析:

*       由於家譜是一棵樹形,而不是一棵二叉樹,所以在儲存時要轉換成二叉樹的

*   形式,約定:乙個父親結點的左孩子結點表示母親結點(父親結點沒有右孩子結點),

*   母親結點的右子樹表示他們的所有兒子,其基本結構如下圖所示,該圖中表示

*   有三個兒子的這種結構。

二叉樹 二叉樹的相關操作

遞迴實現 建立求樹高 求葉子數 求節點數 統計度為2的結點個數 後序輸出 先序輸出 中序輸出 交換左右子樹 include include include define true 1 define false 0 define ok 1 define error 0 define overflow ...

二叉樹家譜查詢特定世代

此處的家譜結構為 左指標指向後代,右指標指向兄弟 假設根節點儲存的名字為張一 整個樹的結構如下 那麼第一世代為張一 第二為二 三 第三為四五六七八 第四為九十十一 從根節點出發,到達第n世代需要訪問n 1次左結點,因此可用遞迴方式實現 void search gener node root,int ...

mysql 二叉樹統計 家譜familytree

家譜原始碼familytree php mysql 二叉樹左右值 一 已實現功能 原始碼無架構,目前有族譜樹 歐式族譜 塔式族譜三種樣式,其中族譜樹有詳情頁傳值單獨頁面 二 目前存在的問題需要優化 1 add.php只能實現新增使用者name欄位 id pid l r欄位為自動生成 無法實現新增欄位...