ﺑﺎﺳﻤﻪ ﺗﻌﺎﻟ دادهﺳﺎﺧﺘﺎرﻫﺎ و ﻣﺒﺎﻧ اﻟ ﻮرﯾﺘﻢﻫﺎ )(۴٠-٢۵۴ Data Structures and Fundamentals of Algorithms داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﺪرس :ﻣﺤﻤﺪ ﻗﺪﺳ ﺗﻤﺮﯾﻦ ﺷﻤﺎرهی ۶ .١ﺛﺎﺑﺖ ﮐﻨﯿﺪ ارﺗﻔﺎع ﯾ ﻣﻮﻋﺪ ارﺳﺎل١٣٩٢/١٠/١٩ : درﺧﺖ ﻗﺮﻣﺰ‐ﺳﯿﺎه ﺑﺎ nﮔﺮه داﺧﻠ )ﺑﺪون ﺷﻤﺮدن ﮔﺮهﻫﺎی ﺗﻬ ( ﺣﺪاﮐﺜﺮ ) ٢ lg(n + ١اﺳﺖ. .٢ﻓﺮض ﮐﻨﯿﺪ درﺧﺖ دودوﯾﯽ ﺟﺴﺖ و ﺟﻮﯾﯽ در اﺧﺘﯿﺎر دارﯾﺪ .ﻫﺮ ﺑﺎر ﮐﻪ ﺗﻌﺪاد اﻋﻀﺎی اﯾﻦ درﺧﺖ دوﺑﺮاﺑﺮ ﻣ ﺷﻮد اﯾﻦ درﺧﺖ روﯾﻪای را ﻓﺮاﺧﻮاﻧ ﻣ ﮐﻨﺪ و ﺗﺒﺪﯾﻞ ﺑﻪ درﺧﺖ دودوﯾﯽ ﺟﺴﺖ و ﺟﻮی ﻣﺘﻮازن ﻣ ﺷﻮد .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل زﻣﺎﻧ ﮐﻪ ﺗﻌﺪاد ﮔﺮهﻫﺎی اﯾﻦ درﺧﺖ ٢kﻣ ﺷﻮد اﯾﻦ درﺧﺖ روﯾﻪی ﻣﺘﻮازن ﺳﺎزی را ﻓﺮاﺧﻮاﻧ ﻣ ﮐﻨﺪ و ارﺗﻔﺎع آن ) Θ(kﻣ ﺷﻮد. )آ( زﻣﺎن ﺟﺴﺖ و ﺟﻮ در اﯾﻦ درﺧﺖ از ﭼﻪ ﻣﺮﺗﺒﻪای اﺳﺖ؟ )ب( اﻟ ﻮرﯾﺘﻤ ﺑﻬﯿﻨﻪ ﺑﺮای روﯾﻪی ﻣﺘﻮازنﺳﺎزی درﺧﺖ ﻃﺮاﺣ ﮐﻨﯿﺪ. )ج( زﻣﺎن nدرج ﻣﺘﻮاﻟ در اﯾﻦ درﺧﺖ ﭼﻘﺪر اﺳﺖ؟ .٣دﻧﺒﺎﻟﻪی اﻋﺪاد زﯾﺮ ﺑﻪ ﺗﺮﺗﯿﺐ از راﺳﺖ ﺑﻪ ﭼﭗ در ﯾ درﺧﺖ ﻗﺮﻣﺰ‐ﺳﯿﺎه ﮐﻪ در اﺑﺘﺪا ﺗﻬ اﺳﺖ اﺿﺎﻓﻪ ﻣ ﺷﻮد .ﭼ ﻮﻧﮕ اﺿﺎﻓﻪ ﺷﺪن ﻫﺮ ﻋﺪد و ﭼﺮﺧﺶﻫﺎی ﺑﻪ ﺳﻤﺖ راﺳﺖ و ﭼﭗ ﻣﻮرد ﻧﯿﺎز ﺑﺮای ﻫﺮ ﻣﺮﺣﻠﻪ را ﺗﻮﺿﯿﺢ داده و درﺧﺖ ﻗﺮﻣﺰ‐ﺳﯿﺎه ﺑﺮای ﻫﺮ ﻣﺮﺣﻠﻪ را رﺳﻢ ﮐﻨﯿﺪ. ١۵ ،٢٠ ،٩ ،٨ ،۵ ،١٣ ،١٢ .۴اﻟﻒ( nراس ﻣﺠﺰا ﺑﺎ ﺑﺮﭼﺴﺐﻫﺎی aﺗﺎ nداده ﺷﺪه اﺳﺖ .ﺗﻌﺪادی ﻋﻤﻞ mergeاﻧﺠﺎم ﻣ دﻫﯿﻢ .ﻧﺘﯿﺠﻪی اﯾﻦ اﻋﻤﺎل ﺗﻌﺪادی درﺧﺖ رﯾﺸﻪدار ﻣﺎﻧﻨﺪ ﺷ ﻞ ١ﺷﺪه اﺳﺖ .ﺗﺮﺗﯿﺐ اﯾﻦ ﻋﻤﻠﯿﺎت ﺑﻪ ﭼﻪ ﺻﻮرت ﺑﻮده اﺳﺖ؟)ﺑﺎ اﺳﺘﻔﺎده از دادهﺳﺎﺧﺘﺎر ﻣﺠﻤﻮﻋﻪﻫﺎی ﻣﺠﺰا ﺑﻮﺳﯿﻠﻪ درﺧﺖ( ب( اﮔﺮ ﺑﺮ روی ﻫﻤﯿﻦ درﺧﺖ ﻋﻤﻞ ) f ind(aو ) f ind(bو ﺳﭙﺲ ) merge(a, bرا ﺑﺎ اﺳﺘﻔﺎده از ﻓﺸﺮدهﺳﺎزی ﻣﺴﯿﺮ اﻧﺠﺎم دﻫﯿﻢ درﺧﺖ ﺣﺎﺻﻞ ﺑﻪ ﭼﻪ ﺻﻮرت ﺧﻮاﻫﺪ ﺑﻮد؟ .۵ﻓﺮض ﮐﻨﯿﺪ nﮔﻮی در اﺧﺘﯿﺎر دارﯾﺪ ﮐﻪ ﻫﺮ ﮐﺪام وزن ﻣﺸﺨﺼ دارﻧﺪ و ﻣﻤ ﻦ اﺳﺖ وزن ﺑﻌﻀ از آﻧﻬﺎ ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ ﺑﺎﺷﺪ. ﻣ ﺧﻮاﻫﯿﻢ ﺑﺰرﮔﺘﺮﯾﻦ زﯾﺮﻣﺠﻤﻮﻋﻪ از اﯾﻦ ﮔﻮیﻫﺎ را ﭘﯿﺪا ﮐﻨﯿﻢ ﮐﻪ وزن ﻫﻤﻪی آن ﻫﺎ ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ ﺑﺎﺷﺪ. )آ( ﻓﺮض ﮐﻨﯿﺪ ﺗﺮازوی دو ﮐﻔﻪ ای در اﺧﺘﯿﺎر دارﯾﺪ و ﺗﻨﻬﺎ ﺗﻮاﻧﺎﯾﯽ ﻣﻘﺎﯾﺴﻪ دوﺑﻪ دوی ﮔﻮیﻫﺎ را دارﯾﺪ .اﮔﺮ اﯾﻦ ﮔﻮیﻫﺎ kوزن ﻣﺘﻔﺎوت داﺷﺘﻪ ﺑﺎﺷﻨﺪ ،اﻟ ﻮرﯾﺘﻤ از ) O(n lg kﺑﺮای ﯾﺎﻓﺘﻦ ﻣﺴﺎﻟﻪ ﺑﯿﺎﺑﯿﺪ. )ب( ﻓﺮض ﮐﻨﯿﺪ ﺗﺮازوی دﯾﺠﯿﺘﺎﻟ در اﺧﺘﯿﺎر دارﯾﺪ ﮐﻪ ﻗﺎدر اﺳﺖ وزن دﻗﯿﻖ ﮔﻮیﻫﺎ را ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ .اﻟ ﻮرﯾﺘﻤ از ) O(nﺑﺮای ﯾﺎﻓﺘﻦ ﭘﺎﺳ ﻣﺴﺎﻟﻪ ﺑﯿﺎﺑﯿﺪ. ١ ﺷ ﻞ :١ﺷ ﻞ ﻣﺮﺑﻮط ﺑﻪ ﺳﻮال ٢ .۶ﺳﺎل ﻫﺎ ﭘﯿﺶ اﻫﺎﻟ ﮐﺸﻮر xدر ﺳﺮزﻣﯿﻦ ﺑﺰرﮔ زﻧﺪﮔ ﻣ ﮐﺮدﻧﺪ .ﭘﺲ از ﻣﺪﺗ آن ﻫﺎ ﺗﺼﻤﯿﻢ ﮔﺮﻓﺘﻨﺪ ﺗﺎ از ﯾ ﺪﯾ ﺮ ﺟﺪا ﺷﻮﻧﺪ ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺮای ﺟﺪا ﺷﺪن ﺗﻌﺪادی دﯾﻮار ﮐﺸﯿﺪﻧﺪ .ﭘﺲ از ﻣﺪﺗ ﺑﺨﺶ ﻫﺎﯾﯽ از اﯾﻦ ﮐﺸﻮر ﮐﺎﻣﻼ ﺗﻮﺳﻂ دﯾﻮارﻫﺎ اﺣﺎﻃﻪ ﺷﺪ .ﺑﺮﻧﺎﻣﻪای ﺑﻨﻮﯾﺴﯿﺪ ﺗﺎ ﻣﺸﺨﺺ ﮐﻨﺪ ﮐﺪام دﯾﻮار ﺑﺮای اوﻟﯿﻦ ﺑﺎر ﻣﻮﺟﺐ اﺣﺎﻃﻪ ﺷﺪن ﺑﺨﺸ از اﯾﻦ ﮐﺸﻮر ﺗﻮﺳﻂ دﯾﻮارﻫﺎ ﺷﺪه اﺳﺖ. ورودی :در ﺧﻂ اول ورودی ﻋﺪد Mﺗﻌﺪاد دﯾﻮارﻫﺎ آﻣﺪهاﺳﺖ .در Mﺧﻂ ﺑﻌﺪ ،در ﻫﺮ ﺧﻂ ۴ﻋﺪد آﻣﺪه ﮐﻪ ﻣﺨﺘﺼﺎت دﮐﺎرﺗ اﺑﺘﺪا و اﻧﺘﻬﺎی ﯾ دﯾﻮار اﺳﺖ .دﯾﻮارﻫﺎ ﺑﻪ ﺻﻮرت راﺳﺖ ﻫﺴﺘﻨﺪ و دو دﯾﻮار ﺗﻨﻬﺎ در اﺑﺘﺪا و ﯾﺎ اﻧﺘﻬﺎ ﻣ ﺗﻮاﻧﻨﺪ ﯾ ﺪﯾ ﺮ را ﻗﻄ ﮐﻨﻨﺪ .اﯾﻦ دﯾﻮار ﻫﺎ ﻫﯿﭽ ﺎه ﺑﺮ ﻫﻢ ﻣﻨﻄﺒﻖ ﻧﯿﺴﺘﻨﺪ. ﺧﺮوﺟ :ﺧﺮوﺟ ﺷﺎﻣﻞ ﺷﻤﺎرهی دﯾﻮاری اﺳﺖ ﮐﻪ ﻣﻮﺟﺐ ﺷﺪه ﺗﺎ ﺑﺨﺸ از ﺳﺮزﻣﯿﻦ اﺣﺎﻃﻪ ﺷﻮد .در ﺻﻮرﺗ ﮐﻪ ﻫﯿﭻ ﮐﺪام از اﯾﻦ دﯾﻮارﻫﺎ اﯾﻦ وﯾﮋﮔ را ﻧﺪاﺷﺖ ﺧﺮوﺟ ٠اﺳﺖ. ورودی و ﺧﺮوﺟ ﻧﻤﻮﻧﻪ: stdin stdout 3 4 0 1 0 0 0 0 1 0 1 0 0 1 7 5 2 2 ﻣﺤﺪودﯾﺖﻫﺎ١ ⩽ M ⩽ ٢٠٠٠٠٠ : ﺗﻤﺎم اﻋﺪاد ﺻﺤﯿﺢ ورودی در ﺑﺎزه ی ] [٠, ١٠٩ﻫﺴﺘﻨﺪ. ﻃﻮل دﯾﻮارﻫﺎ ﮐﻤﺘﺮ از ١٠٩اﺳﺖ. ٢
© Copyright 2025 Paperzz