C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. バイナリツリーをスレッド化されたバイナリツリーに変換する| C ++でセット1(キューを使用)

    このチュートリアルでは、キューデータ構造を使用してバイナリツリーをスレッド化されたバイナリツリーに変換するプログラムについて説明します。 このために、二分木が提供されます。私たちのタスクは、キューデータ構造の助けを借りて、より迅速な順序トラバーサルのためにルートを追加することにより、その特定のバイナリツリーをスレッド化されたバイナリツリーに変換することです。 例 #include <iostream> #include <queue> using namespace std; //node structure for threaded tree struct Node

  2. すべての大きいキーの合計がC++のすべてのキーに追加されるように、BSTをバイナリツリーに変換します

    このチュートリアルでは、すべての大きいキーの合計がすべてのキーに追加されるように、BSTをバイナリツリーに変換するプログラムについて説明します。 このために、二分探索木が提供されます。私たちのタスクは、そのツリーを、現在のキーに追加されたすべての大きいキーの合計を使用してバイナリツリーに変換することです。これは、前のすべての要素の合計を取得し、最後にそれを現在の要素に追加するとともに、指定されたBSTの順序で逆に実行されます。 例 #include <bits/stdc++.h> using namespace std; //node structure of BST struc

  3. C ++ STLのバイナリ検索関数(binary_search、lower_bound、upper_bound)

    バイナリ検索は、要素を配列の中央の値と比較し、値に基づいて分割することによって要素を検索する検索アルゴリズムです。アルゴリズムは、要素が見つかるまでこれを繰り返し実行します。 二分探索を適用するには、配列を並べ替える必要があります。 二分探索の時間計算量は対数です 注文。そのため、プログラマーは、アルゴリズムのコーディング時間を短縮するために、その実装とともにバイナリ検索にも関連する速記を知ることが非常に重要です。ここでは、標準テンプレートライブラリ(STL)に含まれる二分探索アルゴリズムに関連する関数について説明します。 下界と下界 −下限検索は、要素が見つかった位置を返します。 構文

  4. C ++標準テンプレートライブラリ(STL)でのバイナリ検索

    対数探索と呼ばれる二分探索は、ソートされた配列内の要素を検索する検索アルゴリズムです。アルゴリズムは、配列を再帰的に2つに分割します。要素が中央の位置にある場合は戻り、それ以外の場合は除算を呼び出して、要素が見つかるまで再度確認します。 動作中 このアルゴリズムは、並べ替えられた配列の中央の要素を検索対象の要素と比較することで機能します。 検索要素が等しいの場合 真ん中の要素に移動し、インデックスを返す 要素の。 検索要素が大きい場合 中央の要素よりも、左側のサブ配列を検索 つまり、配列の中央から最後までの次の要素からのサブ配列。 検索要素が少ない場合 真ん中の要素よりも、右のサブ配列

  5. C++での単一リンクリストの二分探索

    単一リンクリスト はリンクリスト(ノードの値と次のノードのメモリ位置を格納するデータ構造)であり、一方向にしか移動できません。 二分探索 分割統治に基づく検索アルゴリズムです。これにより、構造の中央の要素が検出され、不等式について同じアルゴリズムへの再帰呼び出しが比較および使用されます。 ここでは、単一リンクリストと、二分探索を使用して検出される要素が示されています。 単一リンクリストは1つのポインタのみを使用するデータ構造であるため、その中間要素を見つけるのは簡単ではありません。単一リンクリストの真ん中には、2つのポインターアプローチを使用します。 アルゴリズム Step 1 : Ini

  6. 二分探索木-C++での検索および挿入操作

    二分探索木(BST) は、次のルールに従う特殊なタイプのツリーです- 左の子ノードの値は常に親の注よりも小さくなります 右の子ノードの値は親ノードよりも大きくなります。 すべてのノードが個別に二分探索木を形成します。 二分探索木(BST)の例- バイナリ検索ツリーは、検索、最小値と最大値の検索などの操作の複雑さを軽減するために作成されます。 BSTでの検索操作 二分探索木で検索を実行する ツリーでキーを検索する必要があります。このために、キーをツリーのルートノードと比較します。 キーがルートノードと等しい場合、キーが見つかります。 キーの値がルートノードより大きい場合は、

  7. 二分探索木-C++での削除操作

    二分探索木(BST) は、次のルールに従う特殊なタイプのツリーです- 左の子ノードの値は常に親よりも小さくなります注 右の子ノードの値は親ノードよりも大きくなります。 すべてのノードが個別に二分探索木を形成します。 二分探索木(BST)の例 − バイナリ検索ツリーは、検索、最小値と最大値の検索などの操作の複雑さを軽減するために作成されます。 削除操作二分探索木(BST) 削除操作は、指定されたノードをツリーから削除しています。ノードを削除する場合、3つの可能性があります- ツリーからのリーフノードの削除:最も簡単な削除は、バイナリ検索ツリーからのリーフ

  8. C++で配列を実装した二分木

    二分木は、ツリーの各ノードが最大2つの子ノードを持つことができる特殊なタイプのツリーです。これらの子ノードは、右子および左子と呼ばれます。 単純な二分木は-です 木を表現するには、2つの方法があります。 リンクリストを使用する動的ノード表現 配列を使用する順次表現。 ここでは、二分木の配列表現について説明します。このために、BTのノードに番号を付ける必要があります。この番号付けは、0から(n-1)または1からnまで開始できます。 配列内のノードとその親ノードおよび子ノードの位置を導き出します。 0インデックスベースのシーケンスを使用する場合 親ノードがインデックスpであ

  9. C++での二分木から二分探索木への変換

    二分木 は、ツリーの各ノードが最大2つの子ノードを持つことができる特殊なタイプのツリーです。これらの子ノードは、右の子および左の子と呼ばれます。 単純な二分木は-です 二分探索木(BST) は、次のルールに従う特殊なタイプのツリーです- 左の子ノードの値は常に親よりも小さくなります注 右側の子ノードは、親ノードよりも大きな値を持っています。 すべてのノードが個別に二分探索木を形成します。 二分探索木(BST)の例 − バイナリ検索ツリーは、検索、最小値と最大値の検索などの操作の複雑さを軽減するために作成されます。 ここでは、二分木が与えられており、

  10. C++の二項確率変数

    確率変数 複数の結果を引き起こす可能性のあるプロセスの結果の結果である変数です。たとえば、コインを投げた結果として頭または尻尾を示す変数は確率変数です。 二項確率変数は、イベントの結果の確率が固定されているイベントに値が関連付けられている特殊なタイプの確率変数です。 それを特別にする二項確率変数が持つ特定の特性があります。これらは、変数が二項確率変数になるための必須条件です- 結果の総数は固定されています。 証跡の結果は真か偽のどちらかであり、その間には何もありません。 発生の確率は各トレイルで同じです。 2つのトレイルが相互に依存していることはありません。 二

  11. C++の入力で許可された重複を含む個別のソートされた順列を出力します

    このプログラミングの問題では、文字列が与えられ、形成できる文字列要素の個別にソートされた順列を出力する必要があります。この問題の条件は、文字列に複数回出現する文字が含まれている可能性があることです。また、指定された文字列はソート順に入力されます。 概念をよりよく理解するために例を見てみましょう。 Input : ABD Output : ABD , ADB , BAD , BDA , DAB , DBA INPUT : RSTU OUTPUT : RSTU , RSUT , RTSU , RTUS , RUST , RUTS , SRTU , SRUT , STRU , STUR , SUR

  12. C ++で[-k、+ k]境界内にとどまるように、移動の方向を出力します

    この問題では、ユーザーが提供する特定の制限内にとどまるように、正の方向または負の方向に移動する有効な方法を見つける必要があります。 ここでは、移動できる最大値である特定の最大制限Kと、移動するn個の正の値の配列が与えられます。シーケンスを返す必要があります。つまり、K値と交差しないように、正または負の方向に移動する必要があります。 トピックをよりよく理解するために例を見てみましょう Input : K = 56 and the array is [25 , 14 , 31 , 16 , 5]. Output : positive positive negative positive pos

  13. 削除する桁の位置を印刷して、C++で数値を6で割り切れるようにします

    この問題では、番号が与えられ、番号からさらに数字を削除する必要があります。削除後に形成された新しい数が6で割り切れるようにします。 概念をよりよく学ぶために例を見てみましょう- Input : 1324 Output : 4 説明 − 4番目の数値を削除すると、6で割り切れる132が得られます。 ここでは、番号が与えられており、番号を6で割り切れるようにするには、番号を削除した位置を返す必要があります。 この問題を解決するために、問題を解決するロジックを作成しようとします。このために、数値が2と3で割り切れる場合、それは6で割り切れるという知識を使用します。 数字から数字を削除した後

  14. Binary TreeinC++で特定のノードのいとこを出力します

    二分木 は、すべてのノードに最大2つの子ノードがある特別なツリーです。したがって、すべてのノードはリーフノードであるか、1つまたは2つの子ノードを持っています。 例 この問題では、二分木が与えられ、その木のノードがあり、そのノードのいとこノードを見つける必要があります。二分木には兄弟ノードは出力されません。 例を見てみましょう 上記の二分木では、いとこノードは5です。 概念をより明確にするために、いとこノードについて説明しましょう。二分木では、2つのノードが二分木の同じレベル(深さ)にあるが、同じ親ノードを持たない場合、2つのノードはいとこノードであると言われます。

  15. C++で1行に連続する文字を一緒に印刷します

    この問題では、文字列が与えられ、2つ以上の文字が連続している場合は、それらを1行にまとめて印刷するように同じ文字列を印刷する必要があります。それ以外の場合は、別の行に、つまり改行を付けて印刷します。 概念をよりよく理解するために例を見てみましょう。 Input : abcxstk Output : abc x st k 説明 − abc以降 順番に並んでいるので、1行に印刷されます。次に、順番になっていないxが来るので、ここに改行を追加します。次はxのシーケンスではないsなので、改行を追加します。次はtで、これはsと順番に印刷されます。次はtと連続していないkなので、改行を追加します。

  16. 同心の長方形パターンをC++の2次元マトリックスに印刷します

    この問題では、長方形のパターンを2Dマトリックスで印刷する必要があります。 それらが互いに同心であるような方法で。 この問題をよりよく理解するために例を見てみましょう。 For n=4 is :    4 4 4 4 4 4 4    4 3 3 3 3 3 4    4 3 2 2 2 3 4    4 3 2 1 2 3 4    4 3 2 2 2 3 4    4 3 3 3 3 3 4    4 4 4 4 4 4 4 ここでは、上記のように

  17. C++のn行のジグザグ文字列の連結を出力します

    この問題では、文字のシーケンスである文字列が与えられます。そして、ジグザグパターンの長さが与えられ、このジグザグ文字列の連結文字列をn行で印刷する必要があります。 概念をよりよく理解するために、いくつかの例を見てみましょう。 例 Input : string = ‘STUVWXYZ’ n = 2. Output : SUWYTVXZ 説明 − 2行パターンの文字列のジグザグパターンは− S    U    W    Y    T    V    

  18. C ++のルート(または共通の祖先)からのパスに共通ノードを出力します

    この問題では、二分木が与えられ、二分木の2つのノードが定義されます。また、ノードのすべての共通の祖先、つまりルートからノードへのトラバーサルからのパスで発生する共通のノードを印刷する必要があります。 二分木 は、すべてのノードに最大2つの子ノードがある特別なツリーです。したがって、すべてのノードはリーフノードであるか、1つまたは2つの子ノードを持っています。 例 祖先ノード ツリー内の下位レベルのノードに接続されているノードです。 共通の祖先ノード 2つのノードのうち、ツリー内の両方のノードの祖先ノードであるノードです。 たとえば − 上記の二分木では、0と6の共通の祖

  19. C++の2つの二分探索木の共通ノードを印刷する

    この問題では、2つの二分探索木が与えられ、共通のノードを見つける必要があります。 二分木 は、すべてのノードに最大2つの子ノードがある特別なツリーです。したがって、すべてのノードはリーフノードであるか、1つまたは2つの子ノードを持っています。 例 ここでは、2つのバイナリツリーがあり、両方のツリーで同じであるすべてのノードを出力する必要があります。 この問題の解決策を見つけるために補助スタックを使用するプログラムを作成しましょう。 2つの同じ値が発生したときに要素をポップすることで機能します。 例 #include<iostream> #include<sta

  20. C++で2つの文字列の一般的な文字をアルファベット順に印刷します

    このプログラミング問題では、2つの文字列が与えられます。また、両方の文字列に共通する文字列のすべての文字を検索する必要があり、これらの共通文字をアルファベット順に印刷する必要があります。 。そして、一般的な文字が発生しない場合は、「NOCOMMONCHARACTERS」を印刷します。文字列にすべて小文字のアルファベットが含まれているわけではありません。 例を見てみましょう- Input : string1 : adsfhslf    string2 : fsrakf Output : affs 説明 − 2つの文字列の間には、a、f、sがあります。したがって、辞書式出力

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:113/300  20-コンピューター/Page Goto:1 107 108 109 110 111 112 113 114 115 116 117 118 119