cari
RumahJavajavaTutorialCuba Struktur Data dalam Java

Cuba Struktur Data dalam Java

Aug 30, 2024 pm 04:19 PM
java

Artikel berikut menyediakan garis besar untuk Trie Data Structure dalam Java. Pada asasnya, struktur data memainkan peranan yang sangat penting dalam pengaturcaraan komputer dan juga, kita mesti tahu bila dan mengapa kita menggunakan pelbagai jenis struktur data dalam pengaturcaraan komputer. Biasanya trie ialah struktur data diskret, dan ini tidak biasa, atau kita boleh mengatakan bahawa ini bukan struktur data yang digunakan secara meluas tetapi ini digunakan dalam algoritma biasa, percubaan juga dikenali sebagai pokok digital; ia juga mempunyai nama lain iaitu radix atau awalan.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Menggunakan struktur data percubaan, kami mencari elemen dengan awalan dalam pepohon yang tersusun dengan baik dengan kunci, dan adalah berfaedah untuk menyimpan rentetan. Selain itu, kami boleh melaksanakan struktur data percubaan operasi yang berbeza seperti sisipan, pemadaman dan carian.

Sintaks Struktur Data Trie dalam Java

Diberikan di bawah ialah sintaks yang disebut:

public void insert_node(specified string of word){
TrieNode present = rootNode;
For (char i: word.toCharArray()){
Present = present.getChildren().computeIfAbsent(I, c->new TrieNode());
}
Present.setEndOfWord(true)
}

Penjelasan:

Dengan menggunakan sintaks di atas, kami cuba memasukkan elemen ke dalam struktur data percubaan; untuk itu, kita perlu mengikuti langkah-langkah berikut seperti berikut:

  • Pertama, kita perlu menetapkan nod sekarang sebagai nod akar untuk operasi sisipan.
  • Selepas itu, kita perlu menetapkan watak sekarang sebagai watak pertama perkataan.
  • Jika nod sekarang wujud dalam pepohon digital, maka rujuk kepada aksara sekarang, dan jika nod sekarang tidak wujud, kita perlu mencipta nod baharu.
  • Akhir sekali, kita boleh menggunakan kekunci Trie untuk merentasi digital.

Begitu juga, kita boleh menulis sintaks untuk operasi pemadaman dan carian.

Bagaimanakah Trie Data Structure berfungsi dalam Java?

Diberikan di bawah menunjukkan cara struktur data try berfungsi dalam java:

Biasanya kami boleh melakukan 3 operasi berbeza dalam struktur data percubaan seperti berikut:

1. Operasi Elemen Sisip

Kami telah menerangkan cara operasi sisipan berfungsi dalam java pada titik di atas. Kerumitan operasi sisipan ialah O (n), dengan n mewakili saiz kekunci.

2. Operasi Elemen Mencari

Selepas operasi sisipan, kami boleh melakukan operasi carian atau cari pada struktur data cuba dengan menggunakan algoritma berikut seperti berikut.

Kod:

public void find_node(specified string of word){
TrieNode present = rootNode;
For (char j = 0; j 
<p><strong>Penjelasan:</strong></p>
<p>Sekarang ikut langkah berikut untuk elemen carian dalam struktur data percubaan seperti berikut:</p>
  • Pertama, dapatkan nod anak daripada akar.
  • Selepas kita perlu mengulangi setiap aksara dalam rentetan.
  • Sekarang semak sama ada aksara yang dinyatakan itu ada, atau kita boleh katakan ia adalah sebahagian daripada percubaan kecil; jika aksara yang dinyatakan bukan sebahagian daripada sub cubaan, maka kembalikan yang palsu dan keluar.
  • Ulang langkah kedua dan ketiga sehingga tiada aksara hadir dalam rentetan.
  • Kerumitan operasi sisipan ialah O (n), dengan n mewakili saiz kekunci.

3. Padamkan Operasi Elemen

Selain operasi sisipan dan cari elemen; jelas, kita juga sepatutnya mempunyai pilihan untuk memadam operasi, jadi kita perlu mengikuti langkah-langkah berikut seperti berikut.

  • Semak sama ada elemen yang dinyatakan adalah pada masa ini sebahagian daripada percubaan.
  • Sekiranya unsur itu ditemui, hapuskan ia daripada percubaan.
  • Kerumitan pengiraan ini ialah O(n), dengan n merujuk kepada panjang kunci.

Contoh Struktur Data Trie dalam Java

Diberikan di bawah adalah contoh Trie Data Structure dalam Java:

Kod:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
// created class to store node into the trie data structure
class trie_data
{
// Define the size of alphabet size
private static final int CHAR_AlPHA_SIZE = 26;
private boolean isLeaf;
private List<trie_data> child = null;
// Created Constructor of class
trie_data()
{
isLeaf = false;
child = new ArrayList(Collections.nCopies(CHAR_AlPHA_SIZE, null));
}
// function for insertion operation
public void trie_insert(String id)
{
System.out.println("We inserted new element into the data structure \"" + id + "\"");
// Staritng from the parent node that is root node
trie_data present = this;
for (char ch: id.toCharArray())
{
// if node is not exist then create new node in trie
if (present.child.get(ch - 'a') == null) {
present.child.set(ch - 'a', new trie_data());
}
// visit next node
present = present.child.get(ch - 'a');
}
// mark present as leaf node
present.isLeaf = true;
}
// search function to search element into trie data structure
// if key value is not present then it return the false
public boolean trie_search(String id)
{
System.out.print("We searched element\"" + id + "\" : ");
trie_data present = this;
for (char ch: id.toCharArray())
{
// visit next node
present = present.child.get(ch - 'a');
if (present == null) {
return false;
}
}
return present.isLeaf;
}
}
class Main
{
public static void main (String[] args)
{
// construct a new Trie node
trie_data head = new trie_data();
head.trie_insert("the");
head.trie_insert("they");
head.trie_insert("final");
System.out.println(head.trie_search("the")); // true
System.out.println(head.trie_search("they")); // true
System.out.println(head.trie_search("final")); // true
System.out.println(head.trie_search("Sample")); // false
head.trie_insert("Sample");
System.out.println(head.trie_search("the")); // true
System.out.println(head.trie_search("they")); // true
System.out.println(head.trie_search("final")); // true
System.out.println(head.trie_search("Sample")); // true
}
}</trie_data>

Penjelasan:

  • Dalam contoh di atas, kami cuba melaksanakan struktur data cuba dalam java, di sini mula-mula kami mencipta kelas untuk menyimpan nod ke dalam struktur data cuba. Kemudian, kami menentukan saiz abjad dengan menggunakan CHAR_AlPHA_SIZE. Kemudian, kami mencipta pembina untuk kelas.
  • Terdapat fungsi untuk operasi sisipan ‘trie_insert’ () serta untuk mencari elemen daripada struktur data cuba seperti yang ditunjukkan dalam atur cara di atas. Pada penghujung program, kami hanya memanggil fungsi sisip dan carian dengan nilai berbeza yang perlu kami masukkan dan cari dalam struktur data cuba.

Output:

Cuba Struktur Data dalam Java

Kesimpulan

Daripada artikel di atas, kami melihat sintaks asas struktur data Trie dan kami juga melihat contoh struktur data Trie yang berbeza. Daripada artikel ini, kami melihat cara dan bila kami menggunakan struktur data Trie dalam Java.

Atas ialah kandungan terperinci Cuba Struktur Data dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

See all articles

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 laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular