Rumah > Java > javaTutorial > teks badan

Bagaimana Menghuraikan dan Membina Pokok daripada Ungkapan Aritmetik di Jawa?

Patricia Arquette
Lepaskan: 2024-10-24 18:46:02
asal
709 orang telah melayarinya

How to Parse and Build a Tree from an Arithmetic Expression in Java?

Menghuraikan Ungkapan Aritmetik dan Membina Pokok daripadanya di Jawa

Artikel ini membincangkan tugas menghuraikan ungkapan aritmetik dan membina struktur data pokok yang sepadan di Jawa. Objektifnya adalah untuk memproses ungkapan seperti "(5 2)*7" menjadi pokok yang menyerupai struktur ungkapan.

Pendekatan: Menggunakan Tindanan

Untuk menghuraikan ungkapan, timbunan boleh digunakan. Pendekatan ini melibatkan pemprosesan berulang token daripada ungkapan:

  • Jika kurungan pembukaan "(" ditemui, ia ditolak ke tindanan.
  • Jika nombor (operand) ditemui , ia disimpan sebagai nod daun dan ditolak ke tindanan.
  • Jika operator ( , -, *, /) ditemui:

    • Keutamaannya dibandingkan kepada pengendali atas pada tindanan.
    • Jika keutamaan lebih rendah atau sama, ungkapan dinilai sehingga "(" atau permulaan ungkapan sebelumnya.
    • Hasil daripada penilaian ditolak ke dalam tindanan.

Contoh: Menghuraikan "(5 2)*7"

Pertimbangkan menghuraikan ungkapan " (5 2)*7":

  • "(" ditolak ke tindanan.
  • "5" ditolak ke tindanan sebagai nod daun.
  • " " ditolak ke tindanan.
  • "2" ditolak ke tindanan sebagai nod daun.
  • ")" ditemui, jadi ungkapan "5 2" dinilai:

    • Nod daun "5" dan "2" muncul daripada tindanan.
    • Nod tambahan baharu " " dicipta, dengan dua nod daun sebagai kanak-kanak.
    • Nod tambahan ditolak ke tindanan.
  • "*" ditolak ke tindanan.
  • "7" ditolak ke atas timbunan sebagai nod daun.
  • "eof" (akhir ungkapan) ditemui, jadi ungkapan "(nod) 7" dinilai:

    • Nod pendaraban "(*nod)" dan nod daun "7" muncul daripada tindanan.
    • Nod pendaraban baharu "*" dibuat dan ditolak ke tindanan.

Struktur pokok terakhir yang diambil daripada timbunan akan sejajar dengan ungkapan asal:

    *
   / \
  +   7
 / \
5   2
Salin selepas log masuk

Kesimpulan

Menggunakan timbunan untuk menghuraikan ungkapan aritmetik membolehkan pembinaan struktur data pokok yang cekap mewakili ungkapan tersebut. Pendekatan ini membolehkan operasi dan analisis selanjutnya dilakukan pada pokok yang dihuraikan.

Atas ialah kandungan terperinci Bagaimana Menghuraikan dan Membina Pokok daripada Ungkapan Aritmetik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!