سوال ۶۶ کنکور ارشد علوم کامپیوتر ۱۴۰۴
فرض کنید میخواهیم یک عبارت ریاضی را که شامل پرانتزهای باز و بسته، عملگرهای ریاضی و اعداد است، به یک عبارت پسوندی (Postfix) تبدیل کنیم و برای این کار از ترکیبی از پشته و صف استفاده میکنیم. ابتدا از یک صف برای خواندن عبارت ورودی و از یک پشته برای ساختن عبارت پسوندی (Postfix) استفاده میشود. کدام روش زیر برای تبدیل عبارت میانوندی به پسوندی مناسبتر است؟
پاسخ صحیح: گزینهٔ D — از یک پشته برای ذخیره عملگرها استفاده کنید و در زمان مواجهه با یک عملگر جدید، تمام عملگرهای موجود در پشته که اولویت بیشتر یا مساوی عملگر جدید دارند را به صف خروجی منتقل کنید و سپس عملگر جدید را push کنید.
This is the classic infix-to-postfix conversion, solved by Dijkstra's shunting-yard algorithm using an operator stack and an output queue.
ادامهٔ پاسخ تشریحی ویژهٔ مشترکان است.
مشاهدهٔ پاسخ کامل