Jadual Kandungan
1 Gambaran keseluruhan senarai terpaut
Penuding kepala mempunyai fungsi pengenalan, dan penuding kepala sering dinamakan dengan nama senarai terpaut.
3. Operasi senarai terpaut tunggal
1 Operasi sisipan
1) Simulasi sisipan
2) Idea algoritma untuk memasukkan data ke-i ke dalam nod senarai terpaut tunggal
2. Operasi padam
1) Simulasi pemadaman
2) Idea algoritma memadamkan nod data ke-i dalam senarai terpaut tunggal
Rumah masalah biasa Senarai terpaut ialah senarai linear yang disimpan dalam struktur storan apa

Senarai terpaut ialah senarai linear yang disimpan dalam struktur storan apa

Nov 22, 2021 pm 03:04 PM
struktur simpanan senarai terpaut

Senarai terpaut ialah senarai linear yang disimpan dalam struktur storan "berantai". Alamat unit storan yang diduduki oleh elemen data senarai terpaut boleh menjadi berterusan atau tidak berterusan Ruang storan yang sepadan boleh diperuntukkan secara sementara dan secara dinamik mengikut keperluan. Hubungan logik antara elemen data boleh dinyatakan dengan "rantai".

Senarai terpaut ialah senarai linear yang disimpan dalam struktur storan apa

Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.

Untuk mengatasi kelemahan struktur storan jadual berjujukan, menggunakan sepenuhnya ruang storan dan meningkatkan kecekapan operasi, jadual linear boleh menggunakan struktur storan lain - Struktur storan berantai. Struktur storan terpaut senarai linear dirujuk sebagai "senarai pautan"

1 Gambaran keseluruhan senarai terpaut

Alamat unit storan yang diduduki oleh elemen data. daripada senarai terpaut boleh berturut-turut, atau ia boleh terputus, dan ruang storan yang sepadan boleh diperuntukkan buat sementara waktu dan secara dinamik mengikut keperluan. Hubungan logik antara elemen data boleh dinyatakan sebagai "rantai".

Sisipan dan pemadaman senarai terpaut tidak memerlukan elemen data yang dipindahkan, tetapi hanya perlu mengubah suai rantai.

Klasifikasi senarai utama:

1 Dikelaskan mengikut cara peruntukan memori senarai terpaut dilaksanakan

①Senarai terpaut dinamik

②Senarai terpaut statik

<.>2 .Dikelaskan mengikut kaedah memaut

①Senarai terpaut tunggal

②Senarai pautan bulat

③Senarai terpaut berganda

(semuanya adalah senarai terpaut dinamik . elemen data ai, kecuali

Selain menyimpan maklumatnya sendiri

, ia juga perlu

menyimpan maklumat

yang menunjukkan penggantinya yang terdekat ( lokasi simpanan pengganti - alamat). Medan yang menyimpan maklumat elemen data dipanggil medan data dan medan yang menyimpan kedudukan pengganti segera dipanggil

medan penunjuk

, maklumat yang disimpan dalam domain penunjuk dipanggil penunjuk atau rantai. Kedua-dua bahagian maklumat ini membentuk imej simpanan unsur data ai, yang dipanggil nod .

n nod dipautkan ke dalam senarai terpaut, iaitu struktur storan terpaut bagi senarai linear (a1, a2, a3,...,an), kerana setiap nod senarai terpaut hanya mengandungi satu penuding domain, jadi ia dipanggil

TunggalSenarai Terpaut

.

Untuk senarai linear, sentiasa ada kepala dan ekor, dan senarai terpaut tidak terkecuali. Penunjuk ke nod pertama senarai terpaut tunggal dalam senarai terpaut dipanggil penunjuk kepala

Akses keseluruhan senarai terpaut mesti bermula dari penunjuk kepala, dan setiap nod berikutnya Titik ialah kedudukan yang ditunjuk oleh penunjuk pengganti nod sebelumnya.

Penunjuk nod terakhir senarai terpaut ialah "null (biasanya diwakili oleh NULL)" - penuding nol. Untuk memudahkan pelaksanaan pelbagai operasi pada senarai terpaut, nod jenis yang sama ditetapkan sebelum nod data pertama senarai terpaut tunggal ini dipanggil nod kepala. Medan data nod kepala boleh menyimpan maklumat bendera khas seperti panjang senarai terpaut, atau ia tidak boleh menyimpan sebarang data. Nod data pertama dan nod terakhir senarai terpaut juga dipanggil

nod kepala dan nod ekor

.

2. Persamaan dan perbezaan antara penunjuk kepala dan nod kepalaPenunjuk kepala:

Penunjuk kepala merujuk kepada senarai terpaut Penunjuk ke nod pertama Jika senarai terpaut mempunyai nod kepala, ia adalah penunjuk kepada nod kepala.

Penuding kepala mempunyai fungsi pengenalan, dan penuding kepala sering dinamakan dengan nama senarai terpaut.

Tidak kira sama ada senarai pautan kosong atau tidak, penunjuk kepala tidak kosong.

Penuding kepala ialah elemen yang diperlukan dalam senarai terpaut
    .
  • Nod kepala:
  • Nod kepala disediakan untuk penyatuan dan kemudahan operasi Ia diletakkan sebelum nod elemen pertama dan medan datanya Umumnya tidak disengajakan.
  • Dengan nod kepala, operasi memasukkan nod sebelum nod elemen pertama dan memadam nod pertama disatukan dengan nod lain.

Nod kepala tidak semestinya elemen yang diperlukan dalam senarai terpaut
    .
  • 3. Demonstrasi kod
  • 3. Operasi senarai terpaut tunggal

    1 Operasi sisipan

    1) Simulasi sisipan

    Anggapkan elemen penyimpanan nod e ialah s, masukkan s ke dalam ai Bagaimana untuk beroperasi di belakang nod?

    Berfikir: Bolehkah kedua-dua kod yang dimasukkan ditukar?

    Tidak, jika anda menukarnya, elemen di belakang ai 1 dan seterusnya tidak akan ditemui, kerana medan penunjuk s tidak menghala ke alamat ai 1.

    2) Idea algoritma untuk memasukkan data ke-i ke dalam nod senarai terpaut tunggal

    • Isytiharkan nod p yang menunjuk ke nod pertama senarai terpaut, mulakan j =1;
    • Apabila j
    • Jika p kosong di hujung senarai terpaut, ini bermakna elemen ke-i tidak wujud jika carian berjaya, hasilkan nod kosong s (menggunakan fungsi malloc)
    • Tugaskan elemen data e kepada s->data, iaitu s->data=e;
    • Sisipkan pernyataan standard: s->next=p->next; p->next=s;
    • Berjaya kembali.

    2. Operasi padam

    1) Simulasi pemadaman

    Anggapkan elemen penyimpanan nod ai ialah q, dan operasi pemadaman nod q daripada satu pautan senarai akan dilaksanakan.

    2) Idea algoritma memadamkan nod data ke-i dalam senarai terpaut tunggal

    • Isytiharkan nod p yang menunjuk ke nod pertama titik senarai terpaut, mulakan j=1;
    • Apabila j
    • Jika p mencapai penghujung senarai terpaut Jika ia kosong, ini bermakna elemen ke-i tidak wujud jika carian berjaya, padamkan nod p->seterusnya dan tetapkan ia kepada q
    • . Masukkan pernyataan standard: p->next=q->next;
    • Tetapkan nod q kepada e, iaitu, e=q->data;
    • Lepaskan nod q
    • Berjaya kembali.
    4. Perbandingan antara struktur senarai terpaut tunggal dan struktur senarai berjujukan

    Kaedah storan:

      Jadual jujukan menggunakan unit storan berterusan untuk menyimpan linear jadual dalam turutan Elemen data
    • menggunakan struktur storan terpaut dan menggunakan set unit storan sewenang-wenangnya untuk menyimpan elemen jadual linear
    Prestasi masa:

    ① Carian

      Senarai jujukan O(1)
    • Senarai dipautkan tunggal O(n)
    ②Sisipan dan pemadaman

      Jujukan senarai O (n)
    • Senarai terpaut tunggal O(1)
    Prestasi ruang:

      Jadual jujukan memerlukan ruang storan yang telah diperuntukkan ia terlalu besar, ia adalah satu pembaziran Jika dibahagikan terlalu kecil, limpahan mudah berlaku
    • Senarai yang dipautkan secara tunggal tidak memerlukan pra-peruntukan ruang storan Anda boleh memperuntukkan ruang storan sebanyak yang anda perlukan, dan bilangan elemen tidak terhad
    Untuk lebih banyak pengetahuan berkaitan, sila lawati ruangan

    Soalan Lazim!

Atas ialah kandungan terperinci Senarai terpaut ialah senarai linear yang disimpan dalam struktur storan apa. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu 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)

Perbincangan mendalam tentang struktur storan fizikal sistem fail ext2 Linux Perbincangan mendalam tentang struktur storan fizikal sistem fail ext2 Linux Mar 14, 2024 pm 09:06 PM

Sistem fail Linuxext2 ialah sistem fail yang digunakan pada kebanyakan sistem pengendalian Linux Ia menggunakan struktur storan cakera yang cekap untuk mengurus storan fail dan direktori. Sebelum kita menyelidiki struktur storan fizikal sistem fail Linuxext2, kita perlu memahami beberapa konsep asas terlebih dahulu. Dalam sistem fail ext2, data disimpan dalam blok data (blok), yang merupakan unit terkecil yang boleh diperuntukkan dalam sistem fail. Setiap blok data mempunyai saiz tetap, biasanya 1KB, 2KB atau 4

Cari nod ke-n daripada senarai pautan terakhir dalam C++ menggunakan kaedah rekursif Cari nod ke-n daripada senarai pautan terakhir dalam C++ menggunakan kaedah rekursif Sep 15, 2023 pm 05:53 PM

Diberi senarai terpaut tunggal dan integer positif N sebagai input. Matlamatnya adalah untuk mencari nod N dari penghujung senarai yang diberikan menggunakan rekursi. Jika senarai input mempunyai nod a→b→c→d→e→f dan N ialah 4, maka nod ke-4 dari yang terakhir ialah c. Kita akan mula-mula melintasi sehingga nod terakhir dalam senarai dan apabila kembali daripada kiraan kenaikan rekursif (backtracking). Apabila kiraan sama dengan N, penunjuk ke nod semasa dikembalikan sebagai hasilnya. Mari kita lihat pelbagai senario input dan output untuk ini - Input - Senarai: -1→5→7→12→2→96→33N=3 Output − Nod Nth dari yang terakhir ialah: 2 Penjelasan − Nod ketiga ialah 2 . Input − Senarai: -12→53→8→19→20→96→33N=8 Output – Nod tidak wujud

Tambahkan 1 pada nombor yang diwakili oleh senarai terpaut Tambahkan 1 pada nombor yang diwakili oleh senarai terpaut Aug 29, 2023 pm 09:17 PM

Perwakilan senarai terpaut bagi nombor disediakan seperti ini: Semua nod senarai terpaut dianggap sebagai satu digit nombor. Nod menyimpan nombor supaya elemen pertama senarai terpaut memegang digit paling ketara bagi nombor itu, dan elemen terakhir senarai terpaut memegang digit nombor paling ketara. Sebagai contoh, nombor 202345 diwakili dalam senarai terpaut sebagai (2->0->2->3->4->5). Untuk menambah 1 pada senarai terpaut ini yang mewakili nombor, kita mesti menyemak nilai bit paling tidak ketara dalam senarai. Jika kurang daripada 9 tidak mengapa, jika tidak kod akan menukar nombor seterusnya dan seterusnya. Sekarang mari kita lihat contoh untuk memahami cara melakukan ini, 1999 diwakili sebagai (1->9->9->9) dan menambah 1 harus mengubahnya

Perbandingan kerumitan masa algoritma tatasusunan PHP dan senarai terpaut Perbandingan kerumitan masa algoritma tatasusunan PHP dan senarai terpaut May 07, 2024 pm 01:54 PM

Perbandingan kerumitan masa algoritma tatasusunan dan senarai terpaut: mengakses tatasusunan O(1), senarai terpaut O(n), senarai terpaut O(1)/O(n); ), senarai terpaut O(n) (n); tatasusunan carian O(n), senarai terpaut O(n).

Struktur data PHP SPL: Menyuntik kelajuan dan fleksibiliti ke dalam projek anda Struktur data PHP SPL: Menyuntik kelajuan dan fleksibiliti ke dalam projek anda Feb 19, 2024 pm 11:00 PM

Gambaran Keseluruhan Perpustakaan Struktur Data PHPSPL Pustaka struktur data PHPSPL (Perpustakaan Standard PHP) mengandungi satu set kelas dan antara muka untuk menyimpan dan memanipulasi pelbagai struktur data. Struktur data ini termasuk tatasusunan, senarai terpaut, tindanan, baris gilir dan set, setiap satunya menyediakan set kaedah dan sifat khusus untuk memanipulasi data. Tatasusunan Dalam PHP, tatasusunan ialah koleksi tertib yang menyimpan jujukan elemen. Kelas tatasusunan SPL menyediakan fungsi yang dipertingkatkan untuk tatasusunan PHP asli, termasuk pengisihan, penapisan dan pemetaan. Berikut ialah contoh menggunakan kelas tatasusunan SPL: useSplArrayObject;$array=newArrayObject(["foo","bar","baz"]);$array

Struktur data PHP: daya tarikan senarai terpaut, meneroka organisasi data dinamik Struktur data PHP: daya tarikan senarai terpaut, meneroka organisasi data dinamik Jun 04, 2024 pm 12:53 PM

Senarai terpaut ialah struktur data yang menggunakan satu siri nod dengan data dan penunjuk untuk menyusun elemen, dan amat sesuai untuk memproses set data yang besar dan operasi sisipan/pemadaman yang kerap. Komponen asasnya termasuk nod (data dan penunjuk ke nod seterusnya) dan nod kepala (menunjuk ke nod pertama dalam senarai terpaut). Operasi senarai terpaut biasa termasuk: penambahan (sisipan ekor), pemadaman (nilai khusus) dan traversal.

Program Python: tambah elemen pada kedudukan pertama dan terakhir senarai terpaut Program Python: tambah elemen pada kedudukan pertama dan terakhir senarai terpaut Aug 23, 2023 pm 11:17 PM

Dalam Python, senarai terpaut ialah struktur data linear yang terdiri daripada jujukan nod, setiap nod mengandungi nilai dan rujukan kepada nod seterusnya dalam senarai terpaut. Dalam artikel ini, kita akan membincangkan cara menambah elemen pada kedudukan pertama dan terakhir senarai terpaut dalam Python. LinkedList inPython Senarai terpaut ialah struktur data rujukan yang digunakan untuk menyimpan set elemen. Ia serupa dengan tatasusunan dalam satu cara, tetapi dalam tatasusunan, data disimpan di lokasi memori bersebelahan, manakala dalam senarai terpaut, data tidak tertakluk kepada syarat ini. Ini bermakna data tidak disimpan secara berurutan tetapi secara rawak dalam ingatan. Ini menimbulkan satu soalan iaitu, bagaimana caranya

Bagaimana untuk melaksanakan operasi senarai terpaut dalam bahasa Go? Bagaimana untuk melaksanakan operasi senarai terpaut dalam bahasa Go? Jun 10, 2023 pm 10:55 PM

LinkedList ialah struktur data biasa, yang terdiri daripada satu siri nod Setiap nod mengandungi dua atribut utama: medan data (Data) dan medan penunjuk (Seterusnya). Antaranya, medan data digunakan untuk menyimpan data sebenar, dan medan penunjuk menghala ke nod seterusnya. Dengan cara ini, senarai terpaut menyimpan data dalam cara yang fleksibel yang sesuai untuk banyak senario aplikasi yang berbeza. Dalam bahasa Go, struktur senarai terpaut juga disokong dengan baik. Cont disediakan dalam perpustakaan standard terbina dalam Go