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

グラフ理論に存在する木の概念に関連する課題。

22
Natural Pi#0-ロック
ゴール 入力を受け取るプログラム/関数を作成し、整数のランダムなペアが比較的素数であるNかどうかを確認しN、を返しますsqrt(6 * N / #coprime)。 TL; DR これらの課題は、Piを概算するために自然と脳(およびおそらく再利用可能なリソース)のみを必要とするアルゴリズムのシミュレーションです。ゾンビの黙示録中に本当にPiが必要な場合、これらの方法は弾薬を無駄にしません!さらに8つの課題があります。推奨事項を作成するには、サンドボックスの投稿をチェックしてください。 シミュレーション 何をシミュレートしていますか?さて、2つのランダムな整数が比較的素数(すなわち、コプライムまたはgcd == 1)である確率は6/Pi/Piです。それらを数える; gcdが1 かどうかを確認します。繰り返す。これを数回繰り返した後、sqrt(6.0 * total / num_coprimes)に向かう傾向がありPiます。黙示録的な世界で平方根を計算するのが不安になっても心配しないでください!そのためのニュートン法があります。 これをどのようにシミュレートしますか? 入力してください N 次のN時間を実行します。 ランダムな正の整数を均一に生成しi、j と 1 <= i , j <= 10^6 もしgcd(i , j) == 1:result = 1 その他: result = 0 N結果の合計を取り、S 戻る sqrt(6 * N / S) …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

27
*の通訳を書く
タスクは簡単です。言語*のインタープリターを作成します。 wikiへのより大きなリンクがあります。 有効なプログラムは3つだけです: * 「Hello World」を印刷します * 0〜2,147,483,647の乱数を出力します *+* 永遠に実行します。 3番目のケースは、この質問の仕様に従った無限ループでなければなりません 入力: 入力は、標準のI / Oルールで受け入れ可能な任意の入力方法で取得できます。 上記のプログラムのいずれかになります 出力: 最初のケースではHello World、末尾の改行の有無にかかわらず、正確に印刷する必要があります。 2番目の場合、言語の整数の最大値が2,147,483,647より小さい場合は、言語の整数の最大値を使用します 最初と2番目のケースは、標準のI / Oルールで受け入れ可能な出力に出力できます。 3番目のケースでは、出力は行われません。 得点: これはcode-golfであるため、バイト単位の最短回答が勝ちです。
20 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 

4
実用的な数値を計算する
定義 正の整数nは、すべてのより小さい正の整数がの別個の約数の合計として表される場合に限り、実用的な数値(OEISシーケンスA005153)ですn。 たとえば18、実用的な数値です。除数は1、2、3、6、9、18であり、18より小さい他の正の整数は次のように形成できます。 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + 9 12 = 3 + 9 = 1 + 2 + 9 = 1 + 2 + 3 …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

7
ミニマックスツリーを評価する
アリスとボブは小さなゲームをしています。最初に、ルートノード(太い点で示されている)からツリーを描画します。内部ノードはなく、葉に番号が付いています。任意のノードに任意の数の子を含めることができます。 ルートから始めて、最初にプレイするのはアリス(A)です。現在のノードの子の1つを選択する必要があります。次に、ボブの番で、彼は同様に子ノードを選択します。これは、リーフノードに到達するまで続きます。 リーフノードに到達すると、ゲームオーバーです。アリスの目標は、できるだけ大きな値を持つノードで終了することであり、ボブの目標は、できるだけ小さな値を持つノードで終了することです。 ネストされた配列形式のツリーを指定すると、アリスとボブの両方が完全にプレイした場合に到達するリーフの値を返します。 例: 18: [[67, [[100, [[67, 47], [86], 21, 16], [[46, [14], 35, 85], [71, [18, 63, 69], 99, 22], 3]]], [[18, 32, 42, 80]], [[36, 70], [86, 53, 46, 59], [[41], 86, 35]]], 3] 60: [[[84, 35], [44, 60]], [[24, 98], [16, 21]]] 58: [[53, 77], …

10
バイナリツリーのバランスが取れているかどうかを確認する最短プログラムを作成する
バランスの取れたバイナリツリーの各ノードでは、左の子サブツリーと右の子サブツリーの高さの最大差は最大1です。 二分木の高さは、ルートノードからルートから最も遠いノードの子までの距離です。 以下に例を示します。 2 <-- root: Height 1 / \ 7 5 <-- Height 2 / \ \ 2 6 9 <-- Height 3 / \ / 5 11 4 <-- Height 4 バイナリツリーの高さ:4 以下は、二分木とそれらがバランスされているかどうかに関するレポートです。 上記のツリーは不均衡です。 上記のツリーはバランスが取れています。 バイナリツリーのルートを入力として受け入れ、ツリーのバランスが取れていない場合はfalsey値を返し、ツリーのバランスが取れている場合はtrue値を返す、可能な限り最短のプログラムを作成します。 入力 バイナリツリーのルート。これは、ルートオブジェクトへの参照の形式でも、バイナリツリーの有効な表現であるリストの形式でもかまいません。 出力 真理値を返します:ツリーのバランスが取れている場合 falsey値を返します。ツリーのバランスが取れていない場合。 二分木の定義 ツリーは、値と2つの他のツリーまたはそれらへのポインターを含むオブジェクトです。 バイナリツリーの構造は次のようになります。 typedef struct T { …

11
緩い範囲の解釈
緩い範囲の解釈 ListSharpは、多くの機能を備えたインタープリター型プログラミング言語です。これらの機能の1つは、次のように機能する1つのインデックスベースの範囲作成者です。 あなたはと範囲を定義する(INT) TO (INT)か、単に(INT)どこの両方または単一のintは分からに行くことができる最大のint32値 次に、これらの範囲を使用して、境界を超えることを恐れずに配列の要素を抽出できます したがって: 1 TO 5 生成: {1,2,3,4,5} 3 生成: {3} AND演算子を使用して範囲を追加できます 1 TO 5 AND 3 TO 6 生成: {1,2,3,4,5,3,4,5,6} これは負の数でも機能することを忘れないでください 3 TO -3 生成: {3,2,1,0,-1,-2,-3} 課題は次のとおりです。 入力 文字配列および文字列として以前に定義された範囲句 出力 1インデックスの要素は範囲の位置に基づいています(非既存/負のインデックスは空の文字に変換されます) 勝つ方法 コードゴルフの挑戦として、あなたは勝つために最短のバイト数でプログラムを作成することになっています 空の文字は存在しないことが指摘されているため、無視する必要があります(ここでは、わかりやすくするためだけに示しましたが、混乱させています) テストケース: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO 3" …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

1
mtDNA突然変異ツリー
バックグラウンド: MtDNAは、母親から子供に渡されるヒトDNAの一部であり、めったに変異しません。これはすべての人間に当てはまるので、母体の祖先を通じてすべての人間が架空のEVEまでさかのぼって相互にどのように関係しているかを視覚化する巨大なツリーを作成することができます。子が生まれたときのMtDNAのすべての突然変異は、ツリーの親ブランチから新しいサブブランチを作成します。 ミトコンドリアDNA(mtDNA)の詳細については、こちらをご覧ください:https : //en.wikipedia.org/wiki/Mitochondrial_DNA 目的: プログラムにはmtDNAツリーブランチの突然変異カウントのリストが提供され、プログラムはそのツリービューを提供する必要があります。 入力と出力の例: 入力は、3列のセミコロンで区切られたテーブルで、各ブランチに1行があります。例: L0a'b'f'k;L0;14 L0a'b'f;L0a'b'f'k;23 L0;mtEVE;10 L0a'b;L0a'b'f;30 L0a;L0a'b;38 L0a1'4;L0a;39 L0a1;L0a1'4;40 L0a1a;L0a1;42 L0a1a NL;L0a1a;43 L0a1a1;L0a1a NL;44 L0a1a2;L0a1a NL;45 L0a1a3;L0a1a NL;44 L0a1 NL;L0a1;41 L0a1b;L0a1 NL;44 L0a1b NL;L0a1b;45 L0a1b1;L0a1b NL;46 L0a1b1a;L0a1b1;47 L0a1b1a1;L0a1b1a;48 L0a1b2;L0a1b NL;48 L0a1b2a;L0a1b2;50 L0a1c;L0a1 NL;45 L0a1d;L0a1 NL;44 L0a4;L0a1'4;55 L0a2;L0a;47 L0a2a;L0a2;49 L0a2a1;L0a2a;50 L0a2a1a;L0a2a1;51 L0a2a1a1;L0a2a1a;53 L0a2a1a2;L0a2a1a;53 L0a2a2;L0a2a;53 …

14
ファイルにゼロを埋め込む
今日のタスクは、既存のファイルを取得し、特定のサイズに達するまでゼロを追加することです。 現在のディレクトリ内のファイル名fとバイト数を取得するプログラムまたは関数を作成する必要がありますb。の元のコンテンツを維持しながら、新しいサイズがバイトになるように、末尾にfゼロ(ASCIIバイトではなくヌルバイト)を書き込む必要がありbます。 あなたは、と仮定してよいfことは、当初よりも大きくないと、あなたはそれを完全なアクセス許可を持っていることを、その名前だけでASCII英数字を持っていbますが、同じ大きようなものであってもよいb、と無限の空きディスク容量があること。 f空でないと仮定したり、すでにヌルバイトが含まれていないと仮定したりすることはできません。 実行が終了した後、他の既存のファイルを変更したり、新しいファイルを作成したりしないでください。 テストケース fの内容| b | fの結果の内容 12345 | 10 | 1234500000 0 | 3 | 000 [空] | 2 | 00 [空] | 0 | [空の] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

2
戦利品の折り目
前書き 長い戦いの後、謎のコンテストでスフィンクスを倒すことに成功しました。あなたのスキルに感銘を受けたスフィンクスは、あなたにあなたの賢さに見合った報酬を与えたいと望み、それぞれ数字を含む8つの箱に分割された魔法の羊皮紙のストリップを存在に想起させます。 「羊皮紙を減らしてください」とスフィンクスは言います、「箱が重なり、それらの箱が足し算または掛け算のいずれかによって融合するように。1つの箱が残っているとき、その価値は金貨であなたの報酬になります。」 仕事 8つの自然数のリスト/配列/いずれかを入力として受け取り、一連の「折り目」操作を通じて取得可能な最大の報酬を返す/印刷するプログラムまたは関数を作成する必要があります。 力学 「折り目」操作は、いくつかのセルに対して、+または*演算子として、または演算子として実行されます。リストの最初のn個のセルは折り返され、演算子を使用して宛先セルとマージされます。マージ操作で消費されないセルは変更されません。 n = 3セルを使用して折り目を付ける例を次に示します。 いずれかの追加を使用すると、次の結果になります。 または乗算。これは次のようになります。 注:簡単にするために、リストの長さ以上のセル数で折り目を付けるのと同様に、1セル未満の折り目は許可されません。ただし、リストは、そのセル数の半分以上増加する可能性があります。 8セルのリストは、5ずつ折りたたむことができ、長さ5の新しいリストに なります。演算子を[0,1,2,3,4,5,6,7]使用して5セルずつ折りたたむと、+[9,9,9,1,0] 得点 標準コードゴルフルール-正しい出力を生成し、バイト数が最も少ないコードが勝ちます。 ボーナス:コードが最大の報酬につながる折り目操作のシーケンスも返す/印刷する場合は、スコアに0.8を掛けます。出力例は次のようになります。 crease 5 + crease 2 * crease 2 + crease 1 * 例 次の形式で、これらの入力と結果を使用してコードをテストしますinput - maximum reward。 [0, 1, 2, 3, 4, 5, 6, 7] - 7560 [0, 9, 0, 3, 2, …

8
バイナリツリーエンコーディング
完全なバイナリツリーがあると仮定します(つまり、各内部ノードには正確に2つの空でない子孫があります)。各ノードにはゼロ以外の整数が含まれています。整数のリストへ/からツリーをエンコードおよびデコードするタスクが与えられます。 ツリーは内部的に次のように保存されます: struct node { int data; struct node *left, *right; }; そして、2つの機能を実装する必要があります。 int *encode(struct node *root); struct node *decode(int *array); エンコードとデコードの方法はユーザー次第です。 ポイント: 最小エンコード長 複雑さ(ノード数が理想的に線形) 独創 ソースコードの長さのポイントはなく、Cに制限されません。 ツリーの例: 5 / \ 3 2 / \ 2 1 / \ 9 9

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 

7
線形化されたツリーですか?(幅優先版)
バックグラウンド ラベルのないツリーは次のようになります。 o / | \ o o o | / \ o o o このツリーを線形化するには、まず各ノードoにその子ノードの数でラベルを付けます。 3 / | \ 1 0 2 | / \ 0 0 0 そして、一行ごとに、左から右へという意味で、数字をリストに一気に書きます。 [3, 1, 0, 2, 0, 0, 0] これは、上記のツリーの一意かつ明確な表現です。つまり、2つの異なる純粋なツリーが同じ線形化を持たず、リストから元のツリーを再構築できることを意味します。 各ツリーは特定の整数リストに対応しますが、各整数リストは有効な線形化されたツリーを[2, 0, 0, 0]表すわけではありません。たとえば、有効なツリーを表しません。 [2,0,0,0] -> 2 [0,0,0] -> 2 [0,0] -> …

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
基数ツリーの高さを計算する
前書き 基数ツリー、圧縮トライまたは圧縮プレフィックスツリーとして知られているが、文字列の集合を記憶するツリー状のデータ構造です。ツリーのエッジは空でない文字列でラベル付けされ、各ノードは終端または非終端です。ツリーに含まれる文字列は、ルートからターミナルノードまでのすべてのパスのラベルです。ツリーは、次の条件で定義される通常の形式である必要があります。 すべての非終端非ルートノードには、少なくとも2つの子があります。 すべてのノードで、すべての発信エッジの最初の文字が異なります。 たとえば、次のセットは非終端ノードと終端ノード["test", "testing", "tested", "team", "teams", "technical", "sick", "silly"]を(N)表す基数ツリーです(T)。 -(N)-te-(N)-st-(T)-ing-(T) | | | | | +-ed-(T) | | | +-am-(T)-s-(T) | | | +-chnical-(T) | +-si-(N)-ck-(T) | +-lly-(T) この課題では、入力として文字列を指定して、木の高さを計算します。 入力 入力は、小文字のASCII文字列の空でないリストです。重複は含まれませんが、どのような順序でもかまいません。空の文字列が含まれる場合があります。入力は適切な形式で取得できます。 出力 出力は、対応する基数ツリー内の最長のルートからリーフへのパスの長さで、含まれるノードの数で測定されます。 上記の例では、パスに対応する正しい出力は4です。 (N)-te-(N)-st-(T)-ing-(T) (N)-te-(N)-st-(T)-ed-(T) (N)-te-(N)-am-(T)-s-(T) 4つのノードを含みます。 さらなる例 基数ツリーの例をいくつか示します。 [""] -(T) ["","fuller"] -(T)-fuller-(T) ["","full","fuller"] -(T)-full-(T)-er-(T) ["full","fuller"] …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.