この記事は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です
メアリー・ブランスコム編纂者 | Yan Zheng生成型AIの寵児であるOpenAIは最近、混沌と...
[[441873]]バランスの取れた文字列を分割するLeetCode の問題へのリンク: https...
Turbonomic の買収計画により、IBM はビジネスと IT 全体にわたって人工知能の自動化機...
12月20日、2023年百度クラウドインテリジェンスカンファレンスとインテリジェントコンピューティン...
ノイズ除去拡散確率モデル (DDPM) の仕組みを詳しく検討する前に、生成 AI の進歩、具体的には...
各段階で、「文盲」の定義は異なります。以前は、漢字を知らないことが文盲とみなされ、後には、英語を話せ...
自然言語処理とは、自然言語を使用して人間とコンピューターが効果的にコミュニケーションするためのさまざ...
人気の短編動画アプリ「TikTok」(Douyinの海外版)は、主にアルゴリズムのおかげで、世界中で...
人工知能は、その概念が最初の電子メールウイルスと同じくらい古いにもかかわらず、「ネットワークにおける...
9月1日、成都地下鉄全線で「スマート旅客サービスプラットフォーム」がオンラインで開始されました。この...
C# 再帰アルゴリズムを理解するということは、単に使いやすいと感じるということではありません。C# ...
危機に対処する最善の方法は常に変化を求めることです。 国連は5月18日、最新の世界経済情勢予測を発表...
[[432947]] JAVA ベースで開発された Weka は、機械学習やデータマイニングに適した...