Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk melaksanakan struktur data teknologi asas Python

Bagaimana untuk melaksanakan struktur data teknologi asas Python

Nov 08, 2023 pm 09:26 PM
Pelaksanaan teknikal pelaksanaan asas struktur data python

Bagaimana untuk melaksanakan struktur data teknologi asas Python

Cara melaksanakan struktur data teknologi asas Python

Struktur data adalah bahagian yang sangat penting dalam sains komputer Ia digunakan untuk mengatur dan menyimpan data supaya ia boleh dimanipulasi dan diakses dengan cekap. Sebagai bahasa pengaturcaraan peringkat tinggi, Python menyediakan banyak struktur data terbina dalam, seperti senarai, tupel, kamus, dll., tetapi kadangkala kita juga perlu melaksanakan beberapa struktur data asas untuk memenuhi keperluan khusus.

Artikel ini akan memperkenalkan cara menggunakan Python untuk melaksanakan beberapa struktur data asas yang biasa, termasuk tindanan, baris gilir dan senarai terpaut, serta memberikan contoh kod yang sepadan.

  1. Timbunan

Timbunan ialah struktur data masuk-dahulu-keluar (LIFO) yang hanya membenarkan operasi sisipan (tolak) dan pemadaman (pop) pada bahagian atas tindanan. Dalam Python, anda boleh menggunakan senarai untuk melaksanakan timbunan mudah.

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)
Salin selepas log masuk

Gunakan kelas Tindanan untuk mencipta objek tindanan dan melaksanakan operasi:

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
Salin selepas log masuk
  1. Baris Gilir (Baris Gilir)

Baris Gilir ialah struktur data masuk dahulu keluar dahulu (FIFO) yang hanya membenarkan pemasukan (enqueue) pada penghujung Operasi baris gilir, lakukan operasi dequeue di kepala baris gilir. Anda boleh menggunakan senarai untuk melaksanakan baris gilir mudah dalam 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)
Salin selepas log masuk

Gunakan kelas Queue untuk mencipta objek baris gilir dan melaksanakan operasi:

queue = Queue()
queue.enqueue('a')
queue.enqueue('b')
queue.enqueue('c')
print(queue.size())    # 输出:3
print(queue.dequeue())     # 输出:'a'
print(queue.is_empty())    # 输出:False
Salin selepas log masuk
  1. Senarai Terpaut

Senarai terpaut ialah struktur data dinamik yang terdiri daripada satu siri nod, setiap nod mengandungi dua bahagian: data dan penunjuk ke nod seterusnya. Dalam Python, anda boleh menggunakan kelas untuk melaksanakan senarai terpaut mudah.

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
Salin selepas log masuk

Gunakan kelas LinkedList untuk mencipta objek senarai terpaut dan melaksanakan operasi:

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
Salin selepas log masuk

Melalui contoh kod di atas, kami menunjukkan cara menggunakan Python untuk melaksanakan struktur data asas yang biasa seperti tindanan, baris gilir dan senarai terpaut. Struktur data ini digunakan secara meluas dalam algoritma dan pemprosesan data Menguasai prinsip pelaksanaan dan kaedah penggunaannya adalah sangat penting untuk meningkatkan lagi kebolehan pengaturcaraan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan struktur data teknologi asas Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pelaksanaan teknologi visualisasi data masa nyata PHP Pelaksanaan teknologi visualisasi data masa nyata PHP Jun 28, 2023 am 08:20 AM

Dengan pembangunan pemprosesan data dan teknologi analisis data, visualisasi data masa nyata telah menarik lebih banyak perhatian daripada perusahaan dan individu. PHP ialah bahasa skrip sebelah pelayan yang popular yang mempunyai potensi besar dalam pemprosesan data masa nyata. Artikel ini akan memperkenalkan teknologi PHP untuk mencapai visualisasi data masa nyata. 1. PHP merealisasikan pemerolehan data masa nyata Dalam PHP, teknologi Ajax digunakan untuk mendapatkan data masa nyata. Ajax boleh menghantar permintaan HTTP secara tidak segerak untuk mendapatkan data yang dikembalikan oleh pelayan bahagian belakang, supaya data boleh dikemas kini secara dinamik tanpa menyegarkan halaman. oleh

Teknologi pengurusan kuasa pelbagai peringkat dalam PHP Teknologi pengurusan kuasa pelbagai peringkat dalam PHP May 24, 2023 am 08:15 AM

Dengan pembangunan berterusan aplikasi rangkaian, pengurusan kebenaran menjadi semakin penting dalam pembangunan Web. Antaranya, teknologi pengurusan kebenaran berbilang peringkat adalah teknologi pengurusan kebenaran yang sangat praktikal dan juga telah digunakan dan dipromosikan secara meluas dalam PHP. Teknologi pengurusan kebenaran berbilang peringkat sebenarnya merujuk kepada pengurusan hierarki kebenaran pengguna yang berbeza untuk memenuhi keperluan pengguna yang berbeza untuk akses dan pengubahsuaian data. Secara khusus, teknologi pengurusan kuasa berbilang peringkat terbahagi kepada tiga peringkat, iaitu pentadbir super, pentadbir biasa dan pengguna biasa. Pengguna yang berbeza mempunyai hak yang berbeza

Analisis mendalam tentang mekanisme pelaksanaan asas kunci Golang Analisis mendalam tentang mekanisme pelaksanaan asas kunci Golang Dec 28, 2023 am 11:26 AM

Penjelasan terperinci tentang prinsip pelaksanaan asas kunci Golang memerlukan contoh kod khusus: Pengaturcaraan serentak ialah bahagian yang sangat penting dalam pembangunan perisian moden, dan kunci ialah mekanisme untuk mencapai kawalan serentak. Di Golang, konsep kunci digunakan secara meluas dalam pengaturcaraan serentak. Artikel ini akan meneroka secara mendalam prinsip pelaksanaan asas kunci Golang dan memberikan contoh kod khusus. Prinsip pelaksanaan asas kunci mutex (Mutex) Kunci Mutex ialah salah satu jenis kunci yang paling biasa digunakan di Golang. Ia menggunakan penyegerakan struktur data asas.M

Petua penggunaan model dalam Python Petua penggunaan model dalam Python Jun 10, 2023 am 08:01 AM

Apabila kecerdasan buatan dan pembelajaran mesin berkembang, semakin banyak syarikat dan organisasi perlu menggunakan model mereka ke dalam persekitaran pengeluaran. Model ini boleh digunakan dalam pemprosesan bahasa semula jadi, penglihatan komputer, dan pelbagai aplikasi lain. Python ialah rangka kerja pembelajaran mesin yang sangat popular, jadi dalam artikel ini, kami akan berkongsi beberapa petua penggunaan model dalam Python untuk membantu anda menggunakan model anda dengan lebih baik ke dalam persekitaran pengeluaran. 1. Pilih perpustakaan Python yang sesuai dengan keperluan anda Pertama, memilih perpustakaan Python yang sesuai dengan keperluan anda adalah sangat

Pelaksanaan teknologi enjin carian masa nyata PHP Pelaksanaan teknologi enjin carian masa nyata PHP Jun 28, 2023 pm 01:31 PM

Dengan perkembangan Internet, enjin carian telah menjadi salah satu cara penting untuk orang ramai mendapatkan maklumat. Walau bagaimanapun, enjin carian tradisional biasanya mengalami masalah seperti carian yang tidak tepat dan kelajuan carian yang perlahan. Sebagai tindak balas kepada masalah ini, semakin ramai pembangun telah mula mencuba untuk melaksanakan teknologi enjin carian masa nyata, antaranya pelaksanaan teknikal enjin carian masa nyata PHP telah menjadi salah satu topik hangat. 1. Kepentingan enjin carian masa nyata ialah enjin carian yang boleh memaparkan hasil carian kandungan berkaitan dalam masa nyata apabila pengguna memasukkan kata kunci, supaya pengguna boleh mendapatkan maklumat mereka sendiri dengan lebih cepat.

Melaksanakan sistem pengurusan fail dalam talian menggunakan teknologi WebMan Melaksanakan sistem pengurusan fail dalam talian menggunakan teknologi WebMan Aug 15, 2023 am 11:18 AM

Menggunakan teknologi WebMan untuk melaksanakan sistem pengurusan fail dalam talian Dengan perkembangan pemformatan, pelbagai jenis dokumen dan fail elektronik telah meletup, dan pengurusan fail kertas tradisional tidak lagi dapat memenuhi permintaan yang semakin meningkat untuk pengurusan fail. Untuk mengurus dan menggunakan arkib dengan lebih cekap, banyak institusi dan perusahaan telah mula mengguna pakai sistem pengurusan arkib dalam talian. Artikel ini akan memperkenalkan cara menggunakan teknologi WebMan untuk melaksanakan sistem pengurusan fail dalam talian yang mudah dan menyediakan contoh kod yang sepadan. Analisis Keperluan Sistem Sebelum mereka bentuk sistem pengurusan fail dalam talian, kita perlu memahami terlebih dahulu

Bagaimana untuk menggandakan kekayaan anda melalui teknologi operasi dan penyelenggaraan Linux Bagaimana untuk menggandakan kekayaan anda melalui teknologi operasi dan penyelenggaraan Linux Sep 10, 2023 am 10:57 AM

Cara Melipatgandakan Kekayaan melalui Teknologi Operasi dan Penyelenggaraan Linux Dalam era maklumat hari ini, teknologi komputer berubah setiap hari, membawa peluang perniagaan tanpa had dan peluang untuk pertumbuhan kekayaan. Sebagai salah satu sistem pengendalian terpenting dalam bidang komputer, penguasaan dan aplikasi teknologi operasi dan penyelenggaraan Linux telah menjadi kunci untuk menggandakan kekayaan. Sebagai sistem pengendalian sumber terbuka, Linux terkenal dengan kestabilan, kebolehpercayaan dan keselamatan yang tinggi. Ia mempunyai skalabiliti dan fleksibiliti yang kuat, menyediakan pengguna dengan pelbagai fungsi penyesuaian dan sokongan alat yang berkuasa. lulus

Bagaimana untuk melaksanakan struktur data teknologi asas Python Bagaimana untuk melaksanakan struktur data teknologi asas Python Nov 08, 2023 pm 09:26 PM

Cara melaksanakan struktur data teknologi asas Python Struktur data adalah bahagian yang sangat penting dalam sains komputer Ia digunakan untuk mengatur dan menyimpan data supaya ia boleh dimanipulasi dan diakses dengan cekap. Sebagai bahasa pengaturcaraan peringkat tinggi, Python menyediakan banyak struktur data terbina dalam, seperti senarai, tupel, kamus, dll., tetapi kadangkala kita juga perlu melaksanakan beberapa struktur data asas untuk memenuhi keperluan khusus. Artikel ini akan memperkenalkan cara menggunakan Python untuk melaksanakan beberapa struktur data asas yang biasa, termasuk tindanan, baris gilir dan senarai terpaut, dan menyediakan yang sepadan.

See all articles