二叉树の作成と遍歴(再帰と非再帰)

1. 二叉树から文字列の生成 アイデア:通常の前順再帰遍歴に基づいて、右部分木が空の場合を考慮する。 class Solution { public: string tree2str(TreeNode* root) { if (root == nullptr) return ""; if (root->left == nullptr && root->right == nullptr) return to_string(root->val); if (root->right ...

7月26日 19:56 投稿

二叉木の構造と概念の詳細解説

一、木の構造と概念 1.1 木の概念 木は非線形のデータ構造であり、n(n≧0)個の有限ノードが階層関係を持つ集合です。根ノードは特別なノードで、前駆ノードを持たないです。 1.2 木に関連する概念 ノードの次数:ノードが持つ子木の数。 葉ノードまたは終端ノード:次数が0のノード。 非終端ノードまたは分岐ノード:次数が0でないノード。 親ノードまたは父ノ ...

7月19日 22:28 投稿

二叉树をめぐる遍历アルゴリズム

二叉树の探索方法には、主に以下の3つの方式があります: 先順序探索 中順序探索 後順序探索 以下に、それぞれの探索方法の実装例を示します: 再帰的探索 class Solution { public: vector<int> result; void preorder(BinaryTreeNode<int>* node) { if (node == nullptr) return; result.push_back(node->value); p ...

5月20日 03:41 投稿