المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۱۸:الگوریتم ها:سوال ۱

وارون‌سازی

یک جایگشت از اعداد ‎$1‎, ‎2‎, ‎\dots‎, ‎n$‎ در یک پشتهStack) ‎) به نام $S$‎ به شما داده شده است. شما می‌خواهید با استفاده از مقداری حافظه‌ی کمکی این جایگشت را برعکس کرده و دوباره درون $S$‎‎ قرار دهید. یعنی در پایان کار باید وارون جایگشت در $S$‎ قرار گیرد. در هر عمل تنها می‌توان یک عنصر را از یک داده‌ساختار Pop کرد و به یک داده‌ساختار دیگر Push کرد. در هر کدام از حالات زیر امکان انجام این کار را بررسی کنید و گفته‌ی خود را اثبات نمایید.

  1. با یک پشته‌ی کمکی
  2. با دو پشته‌ی کمکی
  3. با یک پشته و یک صف (Queue) کمکی

ابزار صفحه