PHP は 4 つの並べ替えアルゴリズムを実装します_PHP チュートリアル
phpは4つのソートアルゴリズムを実装しています
この記事は「PHP100中国語ウェブサイト」からのものです
前提: バブル ソート、クイック ソート、選択ソート、および挿入ソートを使用して、次の配列内の値を小さい値から大きい値の順に並べ替えます。
$arr(1,43,54,62,21,66,32,78,36,76,39);
1. バブルソート
アイデア分析: 並べ替える数値のグループで、現在並べ替えられていない順序について、大きい数値が下に下がり、小さい数値が下に移動するように、隣接する 2 つの数値を前から後ろに比較して調整します。つまり、2 つの隣接する数値が比較され、それらの順序が順序要件と逆であることが判明するたびに、それらは交換されます。
コードの実装:
$arr=配列(1,43,54,62,21,66,32,78,36,76,39);
関数 bubbleSort($arr)
{
$len=count($arr);
//このレイヤー ループは、バブルする必要があるラウンドの数を制御します
for($i=1;$i
{ //このループ層は、各ラウンドで数値を比較する必要がある回数を制御するために使用されます
for($k=0;$k
{
if($arr[$k]>$arr[$k+1])
{
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}
}
$arr を返します;
}
アイデア分析: 並べ替える一連の数値から最小の数値を選択し、それを最初の位置の数値と交換します。次に、残りの数値の中から最小のものを見つけて、それを 2 番目の数値と交換します。このサイクルは、最後から 2 番目の数値が最後の数値と比較されるまで続きます。
コードの実装:
関数 selectSort($arr) {
//二重ループが完了し、外側の層はラウンド数を制御し、内側の層は比較の数を制御します
$len=count($arr);
for($i=0; $i
//まず最小値の位置を仮定します
$p = $i;
for($j=$i+1; $j
//$arr[$p] は現在知られている最小値です
if($arr[$p] > $arr[$j]) {
//比較し、より小さい値を見つけて、最小値の位置を記録し、次の比較で既知の最小値を使用します。
$p = $j;
}
}
//現在の最小値の位置が決定され、$p に保存されました。最小値の位置が現在仮定されている位置$iと異なることが判明した場合には、位置を入れ替えることができる。
if($p != $i) {
$tmp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
}
// 最終結果を返します
$arr を返します;
}
アイデア分析: 並べ替える一連の数値において、前の数値がすでに順序どおりであると仮定すると、これらの n 数値も順序どおりになるように、n 番目の数値を前の順序の数値に挿入する必要があります。すべてが整うまでこのサイクルを繰り返します。
コードの実装:
関数 insertSort($arr) {
$len=カウント($arr);
for($i=1, $i
$tmp = $arr[$i];
// 内部ループの制御、比較、挿入
for($j=$i-1;$j>=0;$j--) {
if($tmp
//挿入された要素の方が小さいことが判明したので、位置を入れ替え、後の要素を前の要素と交換します
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
} その他 {
// 移動する必要のない要素が見つかった場合、それはソートされた配列であるため、前の要素を再度比較する必要はありません。
休憩;
}
}
}
$arr を返します;
}
4.クイックソート
アイデア分析: ベンチマーク要素 (通常は最初の要素または最後の要素) を選択します。 1 回のスキャンで、ソート対象の列が 2 つの部分に分割され、1 つの部分は参照要素より小さく、もう 1 つの部分は参照要素以上になります。このとき、ベース要素はソート後の正しい位置にあり、分割された 2 つの部分も同様に再帰的にソートされます。
コードの実装:
関数クイックソート($arr) {
// まず続行する必要があるかどうかを決定します
$length = count($arr);
if($length
$arr を返します;
}
//最初の要素をベースとして選択します
$base_num = $arr[0];
//ルーラーを除くすべての要素をトラバースし、サイズ関係に従って 2 つの配列に入れます
// 2 つの配列を初期化します
$left_array = array() // ベースラインより小さい
;
$right_array = array() // ベースラインより大きい
;
for($i=1; $i
if($base_num > $arr[$i]) {
//それを左の配列に入れます
$left_array[] = $arr[$i];
} その他 {
//右側に置きます
$right_array[] = $arr[$i];
}
}
//次に、左と右の配列に対して同じソートを実行し、この関数を再帰的に呼び出します
$left_array = クイックソート($left_array);
$right_array = クイックソート($right_array);
//マージ
return array_merge($left_array, array($base_num), $right_array);
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











上記および筆者の個人的な理解: 現在、自動運転システム全体において、認識モジュールが重要な役割を果たしている。道路を走行する自動運転車は、認識モジュールを通じてのみ正確な認識結果を得ることができる。下流の規制および制御モジュール自動運転システムでは、タイムリーかつ正確な判断と行動決定が行われます。現在、自動運転機能を備えた自動車には通常、サラウンドビューカメラセンサー、ライダーセンサー、ミリ波レーダーセンサーなどのさまざまなデータ情報センサーが搭載されており、さまざまなモダリティで情報を収集して正確な認識タスクを実現しています。純粋な視覚に基づく BEV 認識アルゴリズムは、ハードウェア コストが低く導入が容易であるため、業界で好まれており、その出力結果はさまざまな下流タスクに簡単に適用できます。

C++ の機械学習アルゴリズムが直面する一般的な課題には、メモリ管理、マルチスレッド、パフォーマンスの最適化、保守性などがあります。解決策には、スマート ポインター、最新のスレッド ライブラリ、SIMD 命令、サードパーティ ライブラリの使用、コーディング スタイル ガイドラインの遵守、自動化ツールの使用が含まれます。実践的な事例では、Eigen ライブラリを使用して線形回帰アルゴリズムを実装し、メモリを効果的に管理し、高性能の行列演算を使用する方法を示します。

C++sort 関数の最下層はマージ ソートを使用し、その複雑さは O(nlogn) で、クイック ソート、ヒープ ソート、安定したソートなど、さまざまなソート アルゴリズムの選択肢を提供します。

人工知能 (AI) と法執行機関の融合により、犯罪の予防と検出の新たな可能性が開かれます。人工知能の予測機能は、犯罪行為を予測するためにCrimeGPT (犯罪予測技術) などのシステムで広く使用されています。この記事では、犯罪予測における人工知能の可能性、その現在の応用、人工知能が直面する課題、およびこの技術の倫理的影響について考察します。人工知能と犯罪予測: 基本 CrimeGPT は、機械学習アルゴリズムを使用して大規模なデータセットを分析し、犯罪がいつどこで発生する可能性があるかを予測できるパターンを特定します。これらのデータセットには、過去の犯罪統計、人口統計情報、経済指標、気象パターンなどが含まれます。人間のアナリストが見逃す可能性のある傾向を特定することで、人工知能は法執行機関に力を与えることができます

01 今後の概要 現時点では、検出効率と検出結果の適切なバランスを実現することが困難です。我々は、光学リモートセンシング画像におけるターゲット検出ネットワークの効果を向上させるために、多層特徴ピラミッド、マルチ検出ヘッド戦略、およびハイブリッドアテンションモジュールを使用して、高解像度光学リモートセンシング画像におけるターゲット検出のための強化されたYOLOv5アルゴリズムを開発しました。 SIMD データセットによると、新しいアルゴリズムの mAP は YOLOv5 より 2.2%、YOLOX より 8.48% 優れており、検出結果と速度のバランスがより優れています。 02 背景と動機 リモート センシング技術の急速な発展に伴い、航空機、自動車、建物など、地表上の多くの物体を記述するために高解像度の光学式リモート センシング画像が使用されています。リモートセンシング画像の判読における物体検出

1. マルチモーダル大型モデルの発展の歴史 上の写真は、1956 年に米国のダートマス大学で開催された最初の人工知能ワークショップです。このカンファレンスが人工知能開発の始まりとも考えられています。記号論理学の先駆者たち(前列中央の神経生物学者ピーター・ミルナーを除く)。しかし、この記号論理理論は長い間実現できず、1980 年代と 1990 年代に最初の AI の冬の到来さえもたらしました。最近の大規模な言語モデルが実装されて初めて、ニューラル ネットワークが実際にこの論理的思考を担っていることがわかりました。神経生物学者ピーター ミルナーの研究は、その後の人工ニューラル ネットワークの開発に影響を与えました。彼が参加に招待されたのはこのためです。このプロジェクトでは。

1. 58 Portraits プラットフォーム構築の背景 まず、58 Portraits プラットフォーム構築の背景についてお話ししたいと思います。 1. 従来のプロファイリング プラットフォームの従来の考え方ではもはや十分ではありません。ユーザー プロファイリング プラットフォームを構築するには、複数のビジネス分野からのデータを統合して、ユーザーの行動や関心を理解するためのデータ マイニングも必要です。最後に、ユーザー プロファイル データを効率的に保存、クエリ、共有し、プロファイル サービスを提供するためのデータ プラットフォーム機能も必要です。自社構築のビジネス プロファイリング プラットフォームとミドルオフィス プロファイリング プラットフォームの主な違いは、自社構築のプロファイリング プラットフォームは単一のビジネス ラインにサービスを提供し、オンデマンドでカスタマイズできることです。ミッドオフィス プラットフォームは複数のビジネス ラインにサービスを提供し、複雑な機能を備えていることです。モデリングを提供し、より一般的な機能を提供します。 2.58 中間プラットフォームのポートレート構築の背景のユーザーのポートレート 58

上記と著者の個人的な理解は、自動運転システムにおいて、認識タスクは自動運転システム全体の重要な要素であるということです。認識タスクの主な目的は、自動運転車が道路を走行する車両、路側の歩行者、運転中に遭遇する障害物、道路上の交通標識などの周囲の環境要素を理解して認識できるようにすることで、それによって下流のシステムを支援できるようにすることです。モジュール 正しく合理的な決定と行動を行います。自動運転機能を備えた車両には、通常、サラウンドビューカメラセンサー、ライダーセンサー、ミリ波レーダーセンサーなど、さまざまな種類の情報収集センサーが装備されており、自動運転車が正確に認識し、認識できるようにします。周囲の環境要素を理解することで、自動運転車が自動運転中に正しい判断を下せるようになります。頭
