この記事はWeChatの公開アカウント「Light City」から転載したもので、著者はlightcityです。この記事を転載する場合は、Guangcheng公式アカウントまでご連絡ください。 最近、アルゴリズムを再検討し、acwing を最初からフォローして、Go で実装する予定です。 今日の目標は、Go で書かれたクイックソートを学ぶことです。 acwingから学びました。 入力:
出力:
ちょっとした考察: 1. ピボットを定義する 2. ピボットに従って間隔を分割する 3. 再帰的な部分問題 ピボットはランダムに選択できます。例: arr[l]、arr[r]など。 再帰時には 2 つのオプションがあります。1 つは j を取ることですが、無限ループを防ぐために pivot が arr[r] を取らないようにする必要があります。 この記事ではこれを実装します:
もう 1 つの方法は、i を取ることです。無限ループを防ぐために、pivot が arr[l] を取らないようにする必要があります。同時に、arr[(l+r)>>1] を使用することはできず、切り上げる必要があります。たとえば、arr[(l+r+1)>>1] です。 この記事ではこれを実装します:
最後に、囲碁の知識を追加します。 1. 入力go で入力を処理するには、fmt.Scan を使用してアドレスを渡します。ここでは、後で直接再利用できる関数を実装しました。
2. 交換2 つの要素をすばやく交換する方法。
これにより、素早い交換が可能になります。 3.do...while{}以下を使用できます:
4.i++ と ++i++i と --i はサポートされていません。 最終的に、完全なコードは次のようになります。
|
<<: データセットと DataLoader を使用して PyTorch でデータをカスタマイズする
>>: AIを活用した自動化はエンタープライズレベルの自動化2.0です
パート 01.アプリケーション プロトコル識別とは何ですか?アプリケーション プロトコル識別とは、ネ...
Huawei Pangu シリーズが建築に革新をもたらします! Quantum位は、Huawei ...
[[406604]]コロナウイルスの流行を受けて、企業はサプライチェーンの複雑性と労働力不足の課題を...
「これは、ノーベル賞受賞が期待される最初の人工知能の成果かもしれない。しかし、その画期的な進歩は間違...
マクロ的な視点で見ると、人工知能(AI)は労働力を補完する存在です。AIはデータに基づく意思決定のツ...
わずか 13 億のパラメータを持つ大規模なモデルが、なぜインターネット上で白熱した議論を引き起こした...
最近は「顔カード」、つまり「顔を売る」という言葉をよく耳にしますが、あなたの「顔」が身分証明書や電話...
ChatGPT を使用して有料の Web コンテンツに無料でアクセスすることは、まもなくできなくな...
2020年、カリフォルニア大学バークレー校、Google、カリフォルニア大学サンディエゴ校の研究者...
ロボットの電源を切ったり、人工知能アルゴリズムをオフにしたりするのは悲しいですか? まだそうではあり...
人工知能はすでに多くの業界に大きな影響を与えています。調査会社IDCの調査によると、2019年の人工...
「人工知能はすべての仕事を自動化し、人間を失業させるだろう。」 「人工知能は単なる架空の技術だ。」 ...