Konverter Infiks ke Prefiks
Ubah ekspresi infiks ke notasi prefiks dan ikuti setiap langkah konversinya.
Konverter ekspresi
Gagal menyalin. Pilih hasil prefiks dan salin secara manual.
Visualisasi
Lihat visualisasi interaktif ini mengubah ekspresi infiks ke prefiks langkah demi langkah. Ikuti pembalikan token, pertukaran tanda kurung, penyusunan postfiks dengan tumpukan operator, dan pembalikan hasil menjadi prefiks. Putar, jeda, atau maju dan mundur untuk memeriksa setiap perubahan.
Variabel, angka, + โ * / ^, dan tanda kurung. Hingga 32 token; tulis perkalian secara eksplisit. Tanda unary dan fungsi tidak didukung.
Konversi langkah demi langkah ยท Metode pembalikan
Ikuti langkah ini untuk mengubah ekspresi infiks ke notasi prefiks menggunakan prioritas operator dan tumpukan. Balik token dan tukar tanda kurung, ubah ke postfiks dengan asosiativitas terbalik, lalu balik token postfiks untuk mendapatkan prefiks.
- 1
Balik dan tukar tanda kurung
C * B + A - 2
Ubah ke postfiks
C B * A + - 3
Balik untuk mendapatkan prefiks
+ A * B C
Metode konversi
Empat cara umum untuk mengubah infiks ke prefiks.
- 1
Metode pembalikan
Digunakan di siniBalik token dan tukar tanda kurung, ubah ke postfiks, lalu balik menjadi prefiks.
- 2
Konversi langsung dengan tumpukan
Gunakan tumpukan operator dan ekspresi untuk menyusun prefiks langsung sesuai aturan operator.
- 3
Pohon ekspresi
Bangun pohon, lalu kunjungi setiap operator sebelum operand kiri dan kanannya.
- 4
Penguraian rekursif
Uraikan ekspresi bersarang berdasarkan prioritas, lalu gabungkan setiap operator dengan operandnya.
Istilah penting untuk dipelajari
- Infiks
Operator berada di antara operandnya.
Contoh
A + Bmenempatkan operator di antara A dan B.- Prefiks
Operator berada sebelum operandnya.
Contoh
+ A Bmenempatkan operator di awal.- Postfiks
Operator berada setelah operandnya.
Contoh
A B +berarti jumlahkan A dan B.- Operator
Simbol yang menentukan operasi.
Contoh
+menjumlahkan;*mengalikan.- Operand
Nilai atau variabel yang dikenai operasi oleh operator.
Contoh
Dalam
A + 5, A dan 5 adalah operand.- Prioritas operator
Operator mana yang memiliki prioritas lebih tinggi.
Contoh
Dalam
A + B * C, kalikan B dan C terlebih dahulu.- Asosiativitas
Cara mengelompokkan operator dengan prioritas sama.
Contoh
A - B - Cdikelompokkan sebagai(A - B) - C.- Tumpukan
Menyimpan elemen dengan urutan terakhir masuk, pertama keluar.
Contoh
Masukkan
+, lalu*; keluarkan*terlebih dahulu.