タグ付けされた質問 「binary-tree」

それぞれが最大2つの子(左と右)を持つノードで構成される高レベルのデータ構造。子のないノードはリーフと呼ばれ、同じ親を持つ2つのノードは兄弟と呼ばれます。

2
nを法とする数論のインタープリター
(私たちの目的のための)数論の文は、次の記号のシーケンスです。 0および'(後継者)-後継者は+1、0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加算)と*(乗算) = (に等しい) (と)(括弧) 論理演算子nand(a nand bis not (a and b)) forall (ユニバーサル数量詞) v0、v1、v2、など(変数) ここに文の例があります: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) ここでnot xは省略形ですx nand x-実際の文が使用する(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

3
事前注文+注文から注文へ
仕事 完全な二分木の先行順および後順トラバーサルが与えられると、その順トラバーサルを返します。 トラバーサルは、それぞれがノードを一意に識別するn個の正の整数を含む2つのリストとして表されます。プログラムはこれらのリストを取得し、適切なI / O形式を使用して、結果の順序トラバーサルを出力します。 入力が有効であると仮定することができます(つまり、リストは実際にはツリーのトラバーサルを表します)。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 定義 完全なバイナリツリーは、有限構造であるノードのユニークな正の整数で、ここで示され、。 完全な二分木は、単一のノードで構成されるリーフのいずれかです。 1 または、2つのサブツリー(左および右サブツリーと呼ばれる)を持つ1つのノードで構成されるブランチ。各サブツリーは完全な二分木です。 1 / \ … … 完全なバイナリツリーの完全な例を次に示します。 6 / \ 3 4 / \ / \ 1 8 5 7 / \ 2 9 完全なバイナリツリーの事前順序走査は、次のように再帰的に定義されます。 ノードnを含むリーフの事前順序走査はリスト[ n ]です。 ノードnとサブツリー(L、R)を含むブランチの事前順序走査は、リスト[ n ] + 事前順序(L)+ 事前順序(R)です。ここで、+はリスト連結演算子です。 上記のツリーの場合、それは[6、3、1、8、2、9、4、5、7]です。 完全な二分木の後順走査は、次のように再帰的に定義されます。 ノードnを含むリーフのポストオーダートラバーサルはリスト[ n ]です。 …

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

9
Stern-Brocotツリーで分数の位置を見つける
スターン- Brocotツリーは、各画分を上記のレベルでそれを隣接する2つの画分の分子と分母を添加することにより取得された画分の二分木です。 それは始まることによって生成される0/1と1/0そうように、一緒にこれらの画分の分子と分母を加えることによって分画の各連続対の間の1つの部分を配置することによって、反復、「エンドポイント画分」として、そこから: 0. 0/1 1/0 1. 0/1 1/1 1/0 2. 0/1 1/2 1/1 2/1 1/0 3. 0/1 1/3 1/2 2/3 1/1 3/2 2/1 3/1 1/0 4. 0/1 1/4 1/3 2/5 1/2 3/5 2/3 3/4 1/1 4/3 3/2 5/3 2/1 5/2 3/1 4/1 1/0 Stern-Brocotツリーの各反復(nth番目の反復)に2^n + 1は、シーケンス内の要素があり、そこから0/2^nに分数を割り当てることができ2^n/2^nます。新しい反復のたびに、連続する分数の各ペアの間に「中間」に1つの分数が挿入されます。 これにより、Stern-Brocotツリーは、正の有理数と0〜1の2進小数との間の1対1マッピングになり、2つのセットのカーディナリティが同じであるという証拠にもなります。 あなたの仕事は、最低項の正の有理数の分子と分母を与えられて、Stern-Brocotツリーにおけるその分数の位置に対応するバイナリ分数を決定するプログラムまたは関数を書くことです。 入力と出力の例を以下に示します。 …

6
n個のノードを持つすべての二分木を列挙する
整数nを指定すると、n個の内部ノードを持つすべての可能な完全な二分木を列挙します。(完全な二分木は、すべての内部ノードにちょうど2つの子を持ちます)。ツリー構造は、1が内部ノードを表し、0が外部ノード(Null)を表すツリーの事前注文トラバーサルとして出力される必要があります。 最初の数nの例を次に示します。 0: 0 1: 100 2: 11000 10100 3: 1110000 1101000 1100100 1011000 1010100 これは、最も少ないキャラクターに賞金が支払われるコードゴルフです。ツリーは、1行に1つずつ標準出力に出力されます。プログラムは、コマンドラインまたは標準入力からnを読み取る必要があります。

6
バイナリツリーの最も深いノードを見つける
バイナリツリーを入力として受け取り、最も深いノードとその深さを出力するプログラムを記述します。同点の場合は、関連するすべてのノードとその深さを出力します。各ノードは次のように表されます。 T(x,x) T(x) T ここTで、は1つ以上の英数字の識別子であり、それぞれxが別のノードです。 バイナリツリーの簡単な定義を次に示します。 バイナリツリーの先頭にはノードがあります。 バイナリツリーのノードには、最大で2つの子があります。 たとえば、入力A(B(C,D(E)))(以下)はを出力します3:E。 次のツリーは5、11、4の間の3方向のつながりであり、その深さも3(0から開始)です。 入力2(7(2,6(5,11)),5(9(4)))(下記)はを出力します3:5,11,4。 これはコードゴルフなので、バイト単位で測定された最も短いコードが優先されます。

6
あなたの木を修正してください!
情報学では、多くの場合、さまざまな形式や表現で木を使用します。バイナリツリーをシリアル化する3つの主要な方法は、プレフィックス、インフィックス、ポストフィックス表記です。たとえば、次のバイナリツリー: (出典:オランダ情報学のオリンピック、決勝、2012/13) プレフィックス表記としてabrxdbe、rbxabdeインフィックスとして、ポストフィックスとしてとして表すことができますrxbbeda。 この場合、中置記法で表現された完全なバイナリツリーに直面します。あなたの仕事は、このツリーをプレフィックス表記に変換することです。あなたの入力 STDINには2になりますnは任意の整数のための改行文字で終了-1小文字のアルファベット文字、AZおよびこれ以上、nは、その結果1≤ N ≤16したがって、あなたが取得する文字の最大数は65535です。同じ方法でツリーをstdoutに出力しますが、その後、プレフィックス形式で出力します。 これはコードゴルフなので、バイト数で数えた最短のコードが勝ちます。投票はタイブレーカーとして機能し、それらがタイアップする場合は、提出日時。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.