この記事は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です
1月22日、アリババはHanyi Fontと提携し、世界初の人工知能中国語フォント「 Ali Han...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
スマート コンストラクションは、最適化されたプロセス、モデリング、仮想現実、3D レンダリング、監視...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
[[439113]]人工知能により、非常に有用であることが証明された素晴らしいビデオ会議アプリケーシ...
自動運転車は自動車の知能化の究極の目標であると広く考えられていますが、自動車技術のさまざまな段階の発...
[[201516]]機械学習について学びたい、または機械学習に専念することを決心した場合、すぐにさま...
[[219484]] 2017 年に 1 年間眠っていたのに、突然目が覚めて、今年世界で最も誇るべ...
[[285648]]今日、開発者にとっての参入障壁はかつてないほど高くなっています。ソフトウェア開...
今日の小売ショッピング体験は、データを活用しカスタマイズと体験を実現することがすべてです。モノのイン...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
人工知能は長年にわたって世界を支配しており、さまざまな分野における主要な問題が AI を使用して解決...