반응형

전체 글 369

[日本語] 0401 _ 繰り返し方による二分木の中位順巡回です

※ この記事は韓国語の原文を日本語に翻訳したものです。 中位順巡回を スタックで 行う ルートノードから 最左側のノードまで スタックに保存する。スタックが空になるまで ループを回す。 スタックから popして ノードを出力する。 右側のノードが存在すれば 右側のサブツリーの最左側のノードまで スタックに保存する。中でvar node = Root; テンプレートのように 中で この変数を 使って変化しながら 値を比較する ものとする。まず 思考を してから コードに 変える。コードがなければ 実装されたものを見て も良い。

C#/자료구조 2026.10.07

[日本語] 0331_繰り返し方式で実装した二分木の巡回です

※ この記事は韓国語の原文を日本語に翻訳したものです。-再帰を使用せずに 再帰を使わずに実装した二分木の巡回方法です 再帰を使わなければなりません则はスタックを使用する必要があります。 ルートノードをスタックにいれるです。 スタックが空になるまでループを回します。 スタックからポップし、ノードを出力します 右の子ノードがある場合は、スタックに保存します。 左ノードがある場合はスタックに保存します。 ---- public void PreOrderIterative() { //스택생성 var stack = new Stack(); //루트를 스택에 넣는다. //Push stack.Push(this.root); //스택요소..

C#/자료구조 2026.10.07

[日本語] 0331 _ BinaryTree を配列で実装する

※ この記事は韓国語の原文を日本語に翻訳したものです。二進木(Binary Tree) 木の中で子节点数が2個以下であるものを二進木という。 二進木は実装が簡単なだけでなく、様々な利点がある。 二進木は一方的に伸びているものが1.単葉二進木 全てのノードが子を持つのが2.満二進木 3.完全二進木 - 左から子が順に存在しているもの -- ヒープ 資料構造ですか 典型的完全二分木ですに該当します。 二分木は一般的に 連結リストを用いる方法です。過です 配列を使う方法です。こちらです。 二進木のノードは データと左右のノードを持つ単純な構造です。それゆけです Preorder は 親ノードをまず巡回します。そして、 次の左側子树を、 最後に 右側のサブツリーを巡回する方法です。です。 ぼう 配列を用いた 配列に二分木を保存する方法は基本的には木のレベル順にです。 レベル順に左から右..

C#/자료구조 2026.10.07

[日本語] 0330 _ LCRSTreeの実装 // 自動的にノードを作成し、出力する機能

※ この記事は韓国語の原文を日本語に翻訳したものです。木クラスを作ろうとしてみようです 子供ノ節を追加するAddChild().兄弟節を追加するAddSibling() Addchild() : 子供を追加するものです。Addsibling() : 兄弟を追加するものです。PrintLevelOrder : 兄弟をすべて出力し、その子供はキューに保持して後で出力する。 兄弟を出力し、子供をキューから取り出して出力するです。 即、レベル順に上から下方向に表示します。 同じレベルを表示するものですですprintindentTree:レベル1のノードには前方に1つのスペースを、レベル2のノードには2つのスペースを追加する方式でインデントを付けるです。 通して階層を出力する方法、インデントを1つ追加して自分自身を再帰呼び出しし、前位順巡回のロジックを少し変更したものです。 1. ルート..

C#/자료구조 2026.10.07

[日本語] 単一連結リストでスタックを実装する

※ この記事は韓国語の原文を日本語に翻訳したものです。連結リストで実装したスタックです 連結リストは、その構造がデータを一列に連結している点で、スタックの実装に容易に利用できますです。 しかし、最後のノードの後ろに新しいノードを追加するのではなく スタックのトップポインタに新しいノードを追加しますしながら 新しいノードのネクストポインタが以前のノードを指すようにする必要がありますする。//核心追加に スタックから データを取得する動作は、topポインタのデータを返します。// データを取得する部分です しながら topのポインタをtopの下のノードに設定することができるです。 // データを設定する部分 トップのポイントは参照です// // わけが悪いなら、絵を描いてみようか // 上がありません -> 上を作りましょう // ノード追加 -> ノードのネクストをタップに // トッ..

C#/자료구조 2026.10.07

[日本語] 0330 _ 固定配列でStackを実装する

※ この記事は韓国語の原文を日本語に翻訳したものです。スタックデータ構造 スタックは、最も最近に追加したデータを最初に取り出して使用する線形的なデータ構造ですです。 LIFO(ラストイン ファーストアウト)と呼ばれるデータ構造です、後で保存したものをまず取り出す構造を拥有一つです。 topというキーワードを使用//一番上の値 スタックには新しいデータを追加するとき 上部にデータを追加(push)しますです。, データを取り出すときです。は 再度、上から データを取り出す(ポップ)構造です、スタックは、通常、配列や連結リストを使用して実装します。 配列で実装したスタックです 最も単純な実装は、固定配列を割り当てて、スタックのtopインデックスを使用してデータを追加し、取り出すものです。を 実装した方法、 追加するものはPushです 、最後です 追加された要素を削除しながら取り出すこと..

C#/자료구조 2026.10.07

[日本語] 単一連接リストでキューを実装する

※ この記事は韓国語の原文を日本語に翻訳したものです。 ノードの生成ですNode形式のhead、tailを作成します。 -- リンクedListを活用したキュー キューに新しいデータを追加するために、連結リストの最後に新しいノードを追加します。 データを取るために 連結リストの最初のノード(head)を読み取ります。来ればいいです。 単一です 連結リストを実装する際に、headとtailを保持するようにしますです。 Tailを THROUGH して Enqueueです。 そして、 ヘッドを通じてデキューしますすれば機能を簡単に実装できるです。 まず、単一連接リストを作成する。 ノード生成、 using System;using System.Collections.Generic;using System.Linq;using System.Text;using Sys..

C#/자료구조 2026.10.07
반응형