プログラミング

 Computer >> コンピューター >  >> プログラミング >> プログラミング
  1. 選択ソート

    選択ソート手法では、リストは2つの部分に分割されます。ある部分ではすべての要素がソートされ、別の部分ではアイテムはソートされていません。最初に、アレイから最大または最小のデータを取得します。データ(最小など)を取得した後、最初のデータを最小データに置き換えて、リストの先頭に配置します。実行後、配列は小さくなっています。したがって、このソート手法が実行されます。 選択ソート手法の複雑さ 時間計算量:O(n ^ 2) スペースの複雑さ:O(1) 入力と出力 Input: The unsorted list: 5 9 7 23 78 20 Output: Array before Sorting

  2. シェルソート

    シェルソート手法は、挿入ソートに基づいています。挿入ソートでは、アイテムを正しい場所に挿入するために大きなブロックをシフトする必要がある場合があります。シェルソートを使用すると、多数のシフトを回避できます。並べ替えは特定の間隔で行われます。各パスの後、間隔が短くなり、間隔が短くなります。 シェルソート手法の複雑さ 時間計算量:最良の場合はO(n log n)、その他の場合はギャップシーケンスに依存します。 スペースの複雑さ:O(1) 入力と出力 Input: The unsorted list: 23 56 97 21 35 689 854 12 47 66 Output: Array b

  3. 活動選択問題

    開始時間と終了時間でn種類のアクティビティが提供されます。 1人で解決するアクティビティの最大数を選択します。貪欲なアプローチを使用して、残りのアクティビティの中で終了時間が最小で、開始時間が最後に選択したアクティビティの終了時間以上である次のアクティビティを見つけます。 この問題の複雑さは、リストがソートされていない場合のO(n log n)です。 ソートされたリストが提供される場合、複雑さはO(n)になります。 入力と出力 Input: A list of different activities with starting and ending times. {(5,9), (1,2

  4. 隣接リスト表現のためのダイクストラのアルゴリズム

    隣接リスト表現を含む特定のグラフG(V、E)があり、ソース頂点も提供されます。ソース頂点からグラフGの他の頂点までの最短最短経路を見つけるダイクストラのアルゴリズム。 この問題を解決するために、2つのリストを使用します。 1つは最短経路ツリーと見なされている頂点を格納することであり、もう1つはまだ考慮されていない頂点を保持することです。アルゴリズムの各フェーズで、考慮されていない頂点が見つかり、ソースからの距離が最小になります。 別のリストは、先行ノードを保持するために使用されます。先行ノードを使用して、送信元と宛先からのパスを見つけることができます。 グラフは隣接リストを使用して

  5. ダイクストラの最短経路アルゴリズム

    主な問題は前の問題と同じで、開始ノードから他のノードまで、最小の距離を見つけます。この問題の主な違いは、グラフが隣接行列を使用して表されることです。 (この目的では、コストマトリックスと隣接マトリックスは類似しています。) 隣接リスト表現の場合、時間計算量はO(V ^ 2)です。ここで、VはグラフG(V、E)のノード数です 入力と出力 Input: The adjacency matrix: Output: 0 to 1, Using: 0, Cost: 3 0 to 2, Using: 1, Cost: 5 0 to 3, Using: 1, Cost: 4 0 to 4, Using:

  6. ハフマン符号化アルゴリズム

    ハフマン符号化は、可逆データ圧縮アルゴリズムです。このアルゴリズムでは、さまざまな文字を入力するために可変長コードが割り当てられます。コードの長さは、文字が使用される頻度に関連しています。最も頻度の高い文字のコードは最小で、頻度の最も低い文字のコードは長くなります。 主に2つの部分があります。最初の1つはハフマンツリーを作成し、もう1つはツリーをトラバースしてコードを検索します。 たとえば、いくつかの文字列「YYYZXXYYX」について考えてみます。文字Yの頻度がXより大きく、文字Zの頻度が最も低くなっています。したがって、Yのコードの長さはXよりも短く、XのコードはZよりも小さくなります

  7. ソートされた入力のための効率的なハフマン符号化

    前のハフマンコードの問題では、頻度はソートされていませんでした。頻度リストがソートされた順序で与えられている場合、コードを割り当てるタスクはより効率的です。 この問題では、2つの空のキューを使用します。次に、一意の文字ごとにリーフノードを作成し、頻度の高い順にキューに挿入します。 このアプローチでは、アルゴリズムの複雑さはO(n)です。 入力と出力 Input: Different letters and their frequency in sorted order Letters: {L, K, X, C, E, B, A, F} Frequency: {1, 1, 2, 2, 2,

  8. 期限付きのジョブシーケンス問題

    この問題では、与えられた仕事のリストがあります。リストには、各ジョブの期限と利益も示されています。すべてのジョブには1単位の時間がかかるため、ジョブの最小期限は1です。一度に1つのジョブしかスケジュールできない場合は、利益を最大化します。 この問題を解決するために、一連のジョブのすべてのサブセットが生成され、個々のサブセットが実行可能かどうかがチェックされます。また、生成されたすべての実行可能なサブセットの最大利益を追跡します。 このアルゴリズムの時間計算量はO(n ^ 2)です。 入力と出力 Input: A list of jobs with job id, deadline and

  9. バケットソート

    バケットソート手法では、データ項目はバケットのセットに分散されます。各バケットは、同様のタイプのデータを保持できます。配布後、各バケットは別の並べ替えアルゴリズムを使用して並べ替えられます。その後、すべての要素がメインリストに集められ、並べ替えられたフォームが取得されます。 バケットソート手法の複雑さ 時間計算量:最良の場合と平均的な場合はO(n + k)、最悪の場合はO(n ^ 2)。 スペースの複雑さ:最悪の場合のO(nk) 入力と出力 Input: A list of unsorted data: 0.25 0.36 0.58 0.41 0.29 0.22 0.45 0.

  10. コムソート

    コムソートとバブルソートの基本的な考え方は同じです。言い換えれば、コムソートはバブルソートの改良です。バブルソート手法では、各フェーズでアイテムが次のアイテムと比較されます。ただし、コムソートの場合、アイテムは特定のギャップでソートされます。各フェーズが完了すると、ギャップが減少します。この種の減少係数または縮小係数は1.3です。これは、各フェーズを完了した後、ギャップが1.3で除算されることを意味します。 コムソート手法の複雑さ 時間計算量: 最良の場合はO(n log n)。平均的な場合はO(n ^ 2/2 ^ p)(pは増分の数)、最悪の場合はO(n ^ 2)です。 スペースの複雑

  11. ソートのカウント

    カウントソートは安定したソート手法であり、少数のキーに従ってオブジェクトをソートするために使用されます。キー値が同じキーの数をカウントします。この並べ替え手法は、異なるキー間の差がそれほど大きくない場合に効果的です。そうでない場合は、スペースが複雑になる可能性があります。 ソート手法のカウントの複雑さ 時間計算量:O(n + r) スペースの複雑さ:O(n + r) 入力と出力 Input: A list of unsorted data: 2 5 6 2 3 10 3 6 7 8 Output: Array before Sorting: 2 5 6 2 3 10 3 6 7 8 Arr

  12. サイクルソート

    サイクルソートは、インプレースソートアルゴリズムです。また、比較ベースの並べ替えであり、他のインプレース並べ替え手法で効率的です。ソートタスクを実行するためのメモリ書き込みの最小数を見つけます。 サイクルソート手法の複雑さ 時間計算量:O(n ^ 2) スペースの複雑さ:O(1) 入力と出力 Input: A list of unsorted data: 23 63 98 74 20 14 36 45 99 78 Output: Array before Sorting: 23 63 98 74 20 14 36 45 99 78 Array after Sorting: 14 20 23

  13. ヒープソート

    ヒープソートは、ヒープデータ構造に対して実行されます。ヒープは完全な二分木であることがわかっています。ヒープツリーには2つのタイプがあります。最小ヒープまたは最大ヒープ。最小ヒープの場合、ルート要素は最小であり、最大ヒープの場合、ルートは最大です。ヒープを形成した後、ルートから要素を削除し、最後の要素をルートに送信できます。これらのスワッピング手順の後、アレイ全体を再ヒープする必要があります。ルートから要素を削除することで、配列全体を並べ替えることができます。 ヒープソート手法の複雑さ 時間計算量: O(n log n) スペースの複雑さ: O(1) 入力と出力 Input: A li

  14. 挿入ソート

    この並べ替え手法は、カードの並べ替え手法と似ています。つまり、挿入ソートメカニズムを使用してカードを並べ替えます。この手法では、データセットから1つの要素を取得し、データ要素をシフトして、取得した要素をデータセットに挿入し直す場所を作成します。 挿入ソート手法の複雑さ 時間計算量:最良の場合はO(n)、平均および最悪の場合はO(n ^ 2) スペースの複雑さ:O(1) 入力と出力 Input: The unsorted list: 9 45 23 71 80 55 Output: Array before Sorting: 9 45 23 71 80 55 Array after Sort

  15. マージソート

    マージソート手法は、除算と征服の手法に基づいています。データセット全体を小さな部分に分割し、並べ替えられた順序で大きな部分にマージします。このアルゴリズムは最悪の場合にも時間計算量が少ないため、最悪の場合にも非常に効果的です。 マージソート手法の複雑さ 時間計算量: すべての場合でO(n log n) スペースの複雑さ: O(n) 入力と出力 Input: The unsorted list: 14 20 78 98 20 45 Output: Array before Sorting: 14 20 78 98 20 45 Array after Sorting: 14 20 20 4

  16. 鳩の巣ソート

    これは、非比較ソート手法の例です。アイテムの数と可能なキー値の範囲がほぼ同じである場合に使用されます。 このようなことを行うには、いくつかの穴を開ける必要があります。必要な穴の数は、数の範囲によって決まります。各穴にアイテムが挿入されます。最後に穴から削除され、並べ替えられた順序で配列に格納されます。 鳩の巣ソート手法の複雑さ 時間計算量:O(n + 2 ^ k) スペースの複雑さ:O(2 ^ k) 入力と出力 Input: The unsorted list: 802 630 20 745 52 300 612 932 78 187 Output: Data before Sortin

  17. Git Stash

    スタッシングを使用すると、後でGitリポジトリにコードを保存できます。 Gitリポジトリで作業しているときに、後でGitコミットに適用するファイルに変更を加えることができます。 そこで、gitstashコマンドが役に立ちます。スタッシングを使用すると、後日、作業ブランチにコードを保存できます。このチュートリアルでは、例を挙げて、Gitでのスタッシングの基本とgitstashコマンドの使用方法について説明します。 Git Stashとは何ですか? スタッシングを使用すると、コードを作業ディレクトリに保存して、後で使用できるようにインデックスを付けることができます。コードを書いているときに

  18. Gitプッシュ

    git pushコマンドは、ローカルバージョンのリポジトリをリモートリポジトリにアップロードします。プッシュは、変更をリモートリポジトリにアップロードするためのメカニズムです。変更をプッシュすると、プロジェクトのすべての共同編集者が変更をダウンロードできます。 コードをリモートリポジトリにプッシュすることは、Gitリポジトリに加えた変更を「保存」する最終段階です。 プッシュプロセスは、コードをローカルリポジトリ(コンピューター)から、ローカルコードが関連付けられているリモートリポジトリに転送します。これにより、コードベースに加えた変更をプロジェクトのメインリポジトリに保存できます。 こ

  19. Git Delete Branch

    Gitブランチを削除することは、ブランチをコードベースにマージした後の一般的な方法です。 git branch -dフラグを使用して、ローカルマシンのGitブランチを削除できます。 git push origin –deleteコマンドは、リモートリポジトリからブランチを削除します。 分岐を使用すると、プロジェクトのメインバージョンに影響を与えることなく、編集できるプロジェクトの独立したバージョンを作成できます。ブランチが終了したら、それを削除する必要があります。これは、コードベースをクリーンに保つのに役立ちます。 Gitでブランチを削除するために使用できるアプローチは2つあります。どち

  20. エラー:次の追跡されていない作業ツリーファイルはマージによって上書きされます

    上記のエラーは、プルしようとしているリポジトリのクローンを作成しない場合によく発生します。プロジェクトは同じかもしれませんが、ローカルバージョンに組み込みたい他のファイルや機能が含まれている可能性があるため、Githubのリポジトリからプルしようとしているときにローカルで作業している可能性があります。 これを修正する方法はいくつかあります。 ローカルブランチにリモートブランチを追跡するように指示する 以下のコマンドを使用してこれを行うことができます。 git branch --track <branch-name> origin/<branch-name>

Total 1466 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:71/74  20-コンピューター/Page Goto:1 65 66 67 68 69 70 71 72 73 74