Python のデータ構造とアルゴリズム - 順序付きリストの維持と二分

Python のデータ構造とアルゴリズム - 順序付きリストの維持と二分

[[402075]]

序文

Bisect は、リストをソートしたままリストに要素を挿入するアルゴリズムを実装します。

この記事では、bisectライブラリを使用してリストを効率的に操作する方法を詳しく紹介します。

注文された挿入物

まず、bisect ライブラリがリスト挿入をどのように実装するかを見てみましょう。具体的なコードは次のとおりです。

  1. インポート二分
  2.  
  3. a = [7, 5, 4, 1, 9, 8, 2, 3, 6, 0, 5]
  4. 印刷(a)
  5. 新しい_a = []
  6. ai場合:
  7. 位置 = bisect.bisect(new_a, i)
  8. bisect.insort(new_a, i)
  9. print(位置、new_a)

実行後の効果は次のようになります。

ご覧のとおり、bisect は挿入用に自動的にソートされ、position は挿入のインデックス位置になります。もちろん、このような挿入の場合は、リストを直接構築してから並べ替える方が速い場合があります。ただし、これは短いリストの場合にのみ非常に高速です。非常に長いリストの場合、上記の挿入ソートを使用すると、特に 2 つのリスト メンバーを比較すると計算オーバーヘッドが大きくなる場合に、時間とメモリを大幅に節約できます。

重複値の処理

実際のリスト処理では、重複した値を処理する場合があります。上記のように、デフォルトでは重複値の右側に余分な 5 が挿入されます。これは、insort_right() 関数を使用するのと同じです。同様に、左側では insort_left() 関数を使用できます。

  1. インポート二分
  2.  
  3. a = [7, 5, 4, 1, 9, 8, 2, 3, 6, 0, 5]
  4. 印刷(a)
  5. 新しい_a = []
  6. ai場合:
  7. 位置 = bisect.bisect_left(new_a, i)
  8. bisect.insort_left(new_a, i)
  9. print(位置、new_a)

実行後の効果は次のようになります。

読者は上の 2 つの画像を比較すると、最後の行のインデックスが変わることがわかります。ご覧のとおり、1 つは 6 で、もう 1 つは 5 です。積極的に変更したため、重複した値はデフォルトで左側に挿入されます。

<<:  アメリカ人教授がAI会議での不正行為を暴露:著者は査読者と共謀し、ゴミ論文も査読を通過

>>:  データ分析技術:エッジ人工知能の応用

ブログ    
ブログ    
ブログ    

推薦する

Gen-2 は AI 生成ビデオに革命をもたらします。一言で4K高画質映画が作れる。ネットユーザー「ゲームのルールを完全に変えた」

これは間違いなく、生成 AI の進歩における画期的な出来事です。深夜、Runway の象徴的な AI...

...

Baidu Brain CVサービスでは、100~1000元のクーポンを提供しています。

覚えていますか? 「小都」はかつて「The Brain」の舞台でエネルギー溢れる出場者たちと競い合い...

Nature: 光コンピューティングと AI 推論を統合して高速かつ高帯域幅の AI コンピューティングを実現

電子コンピューティングと比較すると、光コンピューティングは高速、高帯域幅、低消費電力という利点があり...

NetEase はデータ指標の異常をどのように検出し、診断するのでしょうか?

1. 背景指標はビジネスと密接に関係しており、その価値は、問題点やハイライトを発見し、タイムリーに...

...

GPT の成熟への道に関する公式メモ | OpenAI Developer Day

OpenAI は ChatGPT 製品の作成の詳細を明らかにしました。そして、この共有の波は、次の...

20年後、AIはデータセンターアーキテクチャを再び分裂に引きずり込むのでしょうか?

Alpha GO が人間の囲碁プレイヤーに勝利して以来、AI はビジネス界全体で最もホットな用語に...

GoogleのAIチップ設計能力は人間より優れているのか?社内研究者が疑問を呈し解雇された

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

人工知能(AI)とスポーツスタジアムの融合

新型コロナウイルスCOVID-19の影響は今も続いており、世界中の多くのスポーツスタジアムが麻痺状態...

米国、政府による顔認識技術の使用禁止を再法制化へ

[[406332]]米議会は火曜日、連邦法執行機関やその他の機関による顔認識技術の使用を禁止する法案...

2020年に人工知能を始める正しい方法、トップ10のテクノロジートレンド予測が発表されました

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

アリババが自然言語理解の世界記録を更新、AIの常識的推論は人間のそれに近づいている

最近、アリババAIは常識QA分野の権威あるデータセットであるCommonsenseQAで新たな世界記...