この記事はWeChatの公開アカウント「Beta Learns JAVA」から転載したもので、著者はSilently9527です。この記事を転載する場合は、Beta Learning JAVA パブリック アカウントにお問い合わせください。 この記事は Github リポジトリ https://github.com/silently9527/JavaCore に含まれています。 プログラマーがよく使用する IDEA プラグイン: https://github.com/silently9527/ToolsetIdeaPlugin 完全にオープンソースの Taobao プロジェクト: https://github.com/silently9527/mall-coupons-server 序文 クイック ソートは、最も広く使用されているソート アルゴリズムと言えます。その主な特徴は、インプレース ソート (補助配列が不要で、スペースを節約) に基づいていることです。実際、長さ N の配列にクイック ソートを使用する場合の時間計算量は NlogN です。以前の記事では他のソート アルゴリズムについても説明しましたが、いずれもこれら 2 つの機能を組み合わせることができませんでした。 簡単な並べ替えのアイデア クイックソートも分割統治ソートアルゴリズムであり、配列を 2 つのサブ配列に分割し、サブ配列を再帰的にソートして、最終的に配列全体が整列していることを保証します。 アルゴリズムのアイデア:
アルゴリズムの実装 クイックソートアルゴリズムの考え方に従って、実装の最初のバージョンを記述できます。
このコードはクイックソートの従来の実装です。最悪のケースとして、ソートする配列がすでに [1,2,3,4,5,6,7,8] の順序になっている場合、クイックソートを実行するプロセスは図のようになります。 長さ N の配列の場合、最悪の場合、再帰が N-1 回必要になるため、時間の計算量は O(n2) になります。この状況を回避するために、アルゴリズムを改善する方法を見てみましょう。 アルゴリズムの改善
3 方向の分割 ソートする必要がある配列内に多数の繰り返し要素がある場合、実装するクイック ソートでは、再帰中に完全に繰り返されるサブ配列が多数発生します。それでもアルゴリズムでは分割されるため、改善の余地が大いにあります。 アイデアは、まず分割要素 (el) をランダムに選択し、次に配列を 3 つの部分 (より大きい、等しい、より小さい) に切り替えることです。1 回の再帰で、分割要素に等しいすべての値をソートできます。ポインタ lt と gt を維持して、a[lo..lt-1] が分割要素より小さく、a[gt+1..hi] が分割要素より大きくなるようにします。
コード実装:
|
<<: 連休明けの電力安定供給のため、変電所点検ロボットが活躍中
>>: 機械学習で保険ビジネスの問題を簡素化する3つのシナリオ
コーディング面接でよく聞かれるアルゴリズム関連の概念トップ 10 を紹介します。簡単な例を使ってこれ...
自動運転は長い間、人々に「とても人気があるが、とても遠い存在」という印象を与えてきました。それは、何...
Python 言語に精通している研究者は、オープンソースの Python ベースの科学計算ツールキッ...
生成型 AI の台頭は単なる外的な現れに過ぎません。それが私たちに伝えているのは、新しい技術の波の到...
10月10日、「人工知能のゴッドファーザー」として知られるジェフリー・ヒントン氏は、人工知能は危険で...
[[200338]]私もディープラーニングの初心者です。この記事はあくまでも私の個人的な意見です。私...
ここ数年、AIチップの新興企業が雨後の筍のように出現した。現在、初期の参加者グループは、優れたチップ...
半年以上にわたる好調なビジネスを経て、国内の大型モデル分野は中盤戦に突入し、長年垂直分野に深く関わっ...
今日、AI プログラムは、写真やビデオ内の顔や物体を認識し、音声をリアルタイムで書き起こし、X 線ス...
海外メディアTechCrunchによると、7月26日、米上院司法委員会は昨日、人工知能に関する公聴会...
大型家電や自動車を購入するとき、インテリジェント音声機能が搭載されているかどうかを尋ねますか?はい、...
1. はじめに従来の機械学習のシナリオのほとんどでは、まず特徴エンジニアリングなどの方法を通じて特徴...
執筆者:ユン・チャオ「今日は、Stack Overflow にとってエキサイティングな新時代の始まり...
[[403843]]画像ソース: https://pixabay.com/images/id-59...
[[349350]] 10月29日、北京亦荘イノベーション発表体験研究イベントで記者らが自動運転タク...