ホームページ バックエンド開発 Python チュートリアル Python の基礎となるテクノロジーのデータ構造を実装する方法

Python の基礎となるテクノロジーのデータ構造を実装する方法

Nov 08, 2023 pm 09:26 PM
技術的な実現 基礎となる実装 Pythonのデータ構造

Python の基礎となるテクノロジーのデータ構造を実装する方法

Python の基礎となるテクノロジーのデータ構造を実装する方法

データ構造はコンピューター サイエンスの非常に重要な部分であり、データを整理して保存するために使用されます。効率的に操作してデータにアクセスできます。 Python は高級プログラミング言語として、リスト、タプル、辞書などの豊富な組み込みデータ構造を提供しますが、特定のニーズを満たすために、基礎となるデータ構造を実装する必要がある場合もあります。

この記事では、Python を使用して、スタック、キュー、リンク リストなどの一般的な基盤となるデータ構造を実装する方法を紹介し、対応するコード例を示します。

  1. スタック

スタックは、先頭での挿入 (プッシュ) と削除 (ポップ) のみを許可する後入れ先出し (LIFO) データ構造です。スタックの)操作。 Python では、リストを使用して単純なスタックを実装できます。

class Stack:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return len(self.items) == 0

    def push(self, item):
        self.items.append(item)

    def pop(self):
        if not self.is_empty():
            return self.items.pop()

    def peek(self):
        if not self.is_empty():
            return self.items[-1]

    def size(self):
        return len(self.items)
ログイン後にコピー

Stack クラスを使用してスタック オブジェクトを作成し、操作を実行します。

stack = Stack()
stack.push(1)
stack.push(2)
stack.push(3)
print(stack.size())    # 输出:3
print(stack.pop())     # 输出:3
print(stack.peek())    # 输出:2
print(stack.is_empty())     # 输出:False
ログイン後にコピー
  1. Queue (キュー)

キューは先入れ方式です。 -first-out ( FIFO のデータ構造では、キューの最後での挿入 (エンキュー) 操作と、キューの先頭でのデキュー操作のみが許可されます。リストを使用して、Python で単純なキューを実装できます。

class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return len(self.items) == 0

    def enqueue(self, item):
        self.items.append(item)

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0)

    def size(self):
        return len(self.items)
ログイン後にコピー

Queue クラスを使用してキュー オブジェクトを作成し、操作を実行します。

queue = Queue()
queue.enqueue('a')
queue.enqueue('b')
queue.enqueue('c')
print(queue.size())    # 输出:3
print(queue.dequeue())     # 输出:'a'
print(queue.is_empty())    # 输出:False
ログイン後にコピー
  1. リンク リスト

リンク リストは動的なデータ構造です。は一連のノードで構成され、各ノードにはデータと次のノードへのポインターの 2 つの部分が含まれます。 Python では、クラスを使用して単純なリンク リストを実装できます。

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None

    def is_empty(self):
        return self.head is None

    def add_node(self, data):
        new_node = Node(data)
        if self.is_empty():
            self.head = new_node
        else:
            current_node = self.head
            while current_node.next:
                current_node = current_node.next
            current_node.next = new_node

    def remove_node(self, data):
        if not self.is_empty():
            current_node = self.head
            if current_node.data == data:
                self.head = current_node.next
            else:
                while current_node.next:
                    if current_node.next.data == data:
                        current_node.next = current_node.next.next
                        break
                    current_node = current_node.next

    def get_size(self):
        size = 0
        current_node = self.head
        while current_node:
            size += 1
            current_node = current_node.next
        return size
ログイン後にコピー

LinkedList クラスを使用して、リンク リスト オブジェクトを作成し、操作を実行します。

linked_list = LinkedList()
print(linked_list.is_empty())    # 输出:True

linked_list.add_node(1)
linked_list.add_node(2)
linked_list.add_node(3)
print(linked_list.get_size())    # 输出:3

linked_list.remove_node(2)
print(linked_list.get_size())    # 输出:2
ログイン後にコピー

上記のコード例を通じて、Python を使用してスタックやキューなどの一般的な基礎データを実装する方法を示します。 、およびリンクされたリストの構造。これらのデータ構造はアルゴリズムやデータ処理において広く使われており、その実装原理や利用方法をマスターすることは、プログラミング能力をさらに向上させるために非常に重要です。

以上がPython の基礎となるテクノロジーのデータ構造を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPリアルタイムデータ可視化技術の実装 PHPリアルタイムデータ可視化技術の実装 Jun 28, 2023 am 08:20 AM

データ処理およびデータ分析技術の発展に伴い、リアルタイムのデータ視覚化は企業や個人からますます注目を集めています。 PHP は、リアルタイム データ処理において大きな可能性を秘めた人気のあるサーバーサイド スクリプト言語です。この記事では、リアルタイムのデータ視覚化を実現するための PHP テクノロジーを紹介します。 1. PHP はリアルタイムデータ取得を実現 PHP では、Ajax 技術を利用してリアルタイムデータを取得します。 Ajax は HTTP リクエストを非同期に送信してバックエンド サーバーから返されたデータを取得できるため、ページを更新せずにデータを動的に更新できます。による

PHP のマルチレベル権限管理テクノロジ PHP のマルチレベル権限管理テクノロジ May 24, 2023 am 08:15 AM

ネットワーク アプリケーションの継続的な開発に伴い、Web 開発における権限管理の重要性がますます高まっています。その中でも、マルチレベル権限管理技術は非常に実用的な権限管理技術であり、PHPでも広く使用され推進されています。マルチレベルの権限管理テクノロジとは、実際には、データのアクセスと変更に対するさまざまなユーザーのニーズを満たすために、さまざまなユーザーの権限を階層的に管理することを指します。具体的には、多段階権限管理技術は主にスーパー管理者、一般管理者、一般ユーザーの3つのレベルに分かれています。ユーザーが異なれば権限も異なります

Golang ロックの基礎となる実装メカニズムの詳細な分析 Golang ロックの基礎となる実装メカニズムの詳細な分析 Dec 28, 2023 am 11:26 AM

Golang ロックの基本的な実装原理の詳細な説明には、特定のコード例が必要です 概要: 同時プログラミングは現代のソフトウェア開発の非常に重要な部分であり、ロックは同時実行制御を実現するメカニズムです。 Golang では、ロックの概念が同時プログラミングで広く使用されています。この記事では、Golang ロックの基礎となる実装原則を深く調査し、具体的なコード例を示します。ミューテックス ロック (Mutex) の基本的な実装原理 ミューテックス ロックは、Golang で最も一般的に使用されるロック タイプの 1 つです。基礎となるデータ構造 sync.M を使用します。

Python でのモデル展開のヒント Python でのモデル展開のヒント Jun 10, 2023 am 08:01 AM

人工知能と機械学習が発展するにつれて、モデルを運用環境に導入する必要がある企業や組織がますます増えています。これらのモデルは、自然言語処理、コンピューター ビジョン、その他のさまざまなアプリケーションで使用できます。 Python は非常に人気のある機械学習フレームワークであるため、この記事では、実稼働環境へのモデルのデプロイをより適切に行うのに役立つ、Python でのモデル デプロイのヒントをいくつか紹介します。 1. ニーズに合った Python ライブラリを選択する まず、ニーズに合った Python ライブラリを選択することが非常に重要です。

PHP リアルタイム検索エンジン技術の実装 PHP リアルタイム検索エンジン技術の実装 Jun 28, 2023 pm 01:31 PM

インターネットの発展に伴い、検索エンジンは人々が情報を入手する重要な方法の 1 つになりました。しかし、従来の検索エンジンは一般に、不正確な検索や検索速度の遅さなどの問題を抱えていました。これらの問題に対応して、ますます多くの開発者がリアルタイム検索エンジン技術の実装を試み始めており、その中でも PHP リアルタイム検索エンジンの技術実装が注目のトピックの 1 つとなっています。 1. リアルタイム検索エンジンの意義 リアルタイム検索エンジンは、ユーザーがキーワードを入力すると、関連するコンテンツの検索結果をリアルタイムに表示し、ユーザーが自分の情報をより早く入手できる検索エンジンです。

Linux の運用保守テクノロジを通じて資産を 2 倍にする方法 Linux の運用保守テクノロジを通じて資産を 2 倍にする方法 Sep 10, 2023 am 10:57 AM

Linux の運用および保守テクノロジを通じて富を増やす方法 今日の情報化時代において、コンピュータ テクノロジは日々変化しており、無限のビジネス チャンスと富を増やす機会をもたらしています。コンピュータ分野で最も重要なオペレーティング システムの 1 つである Linux の運用および保守テクノロジを習得し、応用することが、富を倍増させる鍵となっています。オープンソースのオペレーティング システムである Linux は、その高い安定性、信頼性、セキュリティで有名です。強力な拡張性と柔軟性を備え、ユーザーに幅広いカスタマイズ機能と強力なツールのサポートを提供します。合格

Python の基礎となるテクノロジーのデータ構造を実装する方法 Python の基礎となるテクノロジーのデータ構造を実装する方法 Nov 08, 2023 pm 09:26 PM

Python の基礎となるテクノロジーのデータ構造を実装する方法 データ構造はコンピューター サイエンスの非常に重要な部分であり、データを整理して保存し、効率的に操作したりアクセスしたりできるようにするために使用されます。 Python は高級プログラミング言語として、リスト、タプル、辞書などの豊富な組み込みデータ構造を提供しますが、特定のニーズを満たすために、基礎となるデータ構造を実装する必要がある場合もあります。この記事では、Python を使用してスタック、キュー、リンク リストなどの一般的な基礎となるデータ構造を実装し、対応するデータ構造を提供する方法を紹介します。

WebManテクノロジーを使用したオンラインファイル管理システムの実装 WebManテクノロジーを使用したオンラインファイル管理システムの実装 Aug 15, 2023 am 11:18 AM

WebMan テクノロジーを活用してオンライン ファイル管理システムを実装 情報化の発展に伴い、さまざまな種類の電子文書やファイルが爆発的に増加し、従来の紙のファイル管理では増大するファイル管理の需要に対応できなくなりました。アーカイブをより効率的に管理および利用するために、多くの機関や企業がオンライン アーカイブ管理システムを導入し始めています。この記事では、WebMan テクノロジを使用してシンプルなオンライン ファイル管理システムを実装する方法を紹介し、対応するコード例を示します。システム要件の分析 オンライン ファイル管理システムを設計する前に、まず次のことを理解する必要があります。

See all articles