Pelacak string – indeks, substring, dan algoritme string
InformatikaAlgoritma dan pemecahan masalahUsia 15–16
Memuat…
Masuk untuk memainkanString digambar sebagai deretan sel karakter berindeks mulai 0. Mode Operasi string membahas penggabungan, panjang, karakter pada indeks, substring atau irisan [a, b) tanpa indeks akhir, pencarian (indexOf), equals, compareTo, huruf besar/kecil, penggantian, pemisahan, dan kode karakter, dengan hasil berdampingan dalam pseudokode, Python, dan Java, termasuk galat indeks. Mode Algoritme perulangan menjalankan langkah demi langkah penghitungan karakter, pembalikan, pemeriksaan palindrom, dan pencarian naif dengan tabel penelusuran, sedangkan mode terakhir menghitung perbandingan pencarian naif dan Boyer–Moore.
Pelajaran: String: indeks, irisan dan substring, metode string, serta penelusuran string
Yang ditunjukkan
String adalah barisan karakter yang tidak dapat diubah, masing-masing dengan indeks yang dimulai dari 0. Irisan s[a:b] di Python dan s.substring(a, b) di Java menyertakan indeks a dan tidak menyertakan indeks b, sehingga menghasilkan b − a karakter; Java melempar pengecualian jika indeks di luar jangkauan, sedangkan irisan Python memangkas indeksnya. Metode seperti upper, replace, dan split menghasilkan string baru. Algoritme perulangan menelusuri karakter satu indeks setiap kali, dan tabel penelusuran mencatat setiap langkah. Boyer–Moore membandingkan pola dari kanan dan melompat maju setelah ketidakcocokan.
Cara menggunakan
Ketik string s (serta t, r, atau c bila diminta). Pada Operasi string, pilih Operasi, geser a dan b, lalu bandingkan hasil Pseudokode, Python, dan Java; centang Tampilkan kode karakter untuk melihat nilai ASCII/Unicode. Pada Algoritme perulangan, pilih Algoritme dan bahasa pada Kode, lalu tekan Langkah atau Jalankan dan ikuti baris yang disorot serta tabel penelusuran. Pada Naif vs Boyer–Moore, majukan kedua pencarian dan bandingkan jumlah perbandingannya.
Parameter yang dapat diubah
- Mode Operasi string, Algoritme perulangan, Pencarian: naif vs Boyer–Moore
- Operasi s + t (penggabungan), panjang, karakter pada indeks a, substring / irisan [a, b), cari t (find / indexOf), sama dengan (equals), bandingkan (compareTo), ke huruf besar, ke huruf kecil, ganti t dengan r, pisah pada c, kode karakter (ord / chr)
- Algoritme hitung karakter c, balik string, periksa palindrom, pencarian substring naif
- Bahasa kode Pseudokode, Python, Java
- String s
- String kedua t (pola)
- Pengganti r
- Karakter c
- Indeks a 0–28
- Indeks b 0–28
- Tampilkan kode karakter
- Kecepatan 0,5–10 langkah/detik
Pertanyaan untuk dijelajahi
- Mengapa s.substring(2, 5) menghasilkan 3 karakter, dan apa yang terjadi di Java dan Python jika b lebih besar dari panjangnya?
- Mengapa "apple".compareTo("Apple") menghasilkan bilangan positif?
- Mengapa Boyer–Moore memerlukan lebih sedikit perbandingan daripada pencarian naif jika polanya panjang?