PDA

View Full Version : سوال: یافتن الگوریتمی در مورد پشته ها



Salar Ashgi
جمعه 10 آبان 1387, 11:59 صبح
سلام به همه دوستان ، آیا میشه یک الگوریتمی طراحی کرد که برای یک سری داده های

ورودی پشته ، یک خروجی گرفته و بررسی کند که آیا این خروجی از پشته میتواند مجاز باشد

یا خیر ؟

ممنون از راهنمایی شما !!!

whitehat
شنبه 11 آبان 1387, 10:23 صبح
وقتی ورودی و خروجی مشخص است پس میشه الگوریتمی برای آن طراحی کرد
لطفا در مورد کاری که می خواهید انجام دهید توضیح بیشتری بنویسید یا مثال بزنید

Salar Ashgi
شنبه 11 آبان 1387, 16:41 عصر
ببینید ، ما فرض می کنیم اعداد 1و2و3 از راست به چپ وارد یک استک میشوند ، برای این استک خروجی

2و3و1 مجاز(چپ به راست) ولی خروجی 2و1و3 مجاز نیست !!! امیدوارم منظورم را متوجه شده باشید !!

whitehat
یک شنبه 12 آبان 1387, 12:11 عصر
با این اوصاف شما می توانید به مانند یک ماشین پشته ای یا Push Down Automata عمل کنید. کافیه الگوریتمی بنویسید که گرامر های مستقل از متن را پردازش کند. برای این کار شما بایستی یک سری عملگر تعریف کنید و رشته را پردازش کنید. برای ادامه مطلب اینجا (http://en.wikipedia.org/wiki/Pushdown_automaton)را ببینید

maziarsy
یک شنبه 12 آبان 1387, 13:30 عصر
سلام دوست عزیز
با استفاده از توابع push&popمی توانی به الگوریتم مشخصی برسی.
مثلا اگر ما داشته باشیم 1و2و3و4و5و6
سری های زیر مجاز:
1.2.3.4.5.6
3.2.4.6.5.1
4.3.2.1.6.5
وسری زیر غیر مجاز:
2.1.5.3.4.6