دادهﺳﺎﺧﺘﺎرﻫﺎ و ﻣﺒﺎﻧ اﻟ ﻮرﯾﺘﻢﻫﺎ ﻧﯿﻢﺳﺎل دوم ٩٣-٩٢ ﻣﺪرس :ﻣﺴﻌﻮد ﺻﺪﯾﻘﯿﻦ داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ ﺗﻤﺮﯾﻦ ﻫﻔﺘﻢ ﻣﺴﺌﻠﻪ .١ﺑﺰرگﺗﺮﯾﻦ زﯾﺮ دﻧﺒﺎﻟﻪی ﻏﯿﺮﻧﺰوﻟ اﻟ ﻮرﯾﺘﻤ ﺑﺮای ﭘﯿﺪا ﮐﺮدن ﺑﺰرگﺗﺮﯾﻦ زﯾﺮ دﻧﺒﺎﻟﻪی ﻏﯿﺮﻧﺰوﻟ از دﻧﺒﺎﻟﻪی > X =< x١ , x٢ , ..., xnاراﺋﻪ دﻫﯿﺪ. • اﻟﻒ( اﻟ ﻮرﯾﺘﻢ ارﺋﻪ ﺷﺪه از ﻣﺮﺗﯿﻪی ) O(n٢ﺑﺎﺷﺪ. • ب( اﻟ ﻮرﯾﺘﻢ ارﺋﻪ ﺷﺪه از ﻣﺮﺗﯿﻪی ) O(n log nﺑﺎﺷﺪ. ﻣﺴﺌﻠﻪ .٢ﺳﺎﺧﺘﻤﺎن nﻃﺒﻘﻪ و ﻃﺒﻘﻪی ﮐﺸﻨﺪهی آن ﯾ ﺳﺎﺧﺘﻤﺎن nﻃﺒﻘﻪ دارﯾﻢ ﮐﻪ ﯾ از ﻃﺒﻘﺎت آن ﺧﺎﺻﯿﺖ ﮐﺸﻨﺪه دارد .ﻣ داﻧﯿﻢ ﮐﻪ اﮔﺮ ﮐﺴ ﺧﻮدش را از ﻃﺒﻘﺎت زﯾﺮ ﻃﺒﻘﻪی ﮐﺸﻨﺪه ﭘﺎﯾﯿﻦ ﺑﯿﻨﺪازد زﻧﺪه ﻣ ﻣﺎﻧﺪ وﻟ اﮔﺮ ﺷﺨﺼ ﺧﻮدش را از ﻃﺒﻘﻪی ﮐﺸﻨﺪه ﯾﺎ ﺗﻤﺎﻣ ﻃﺒﻘﺎت ﺑﺎﻻﺗﺮ از آن ﭘﺎﯾﯿﻦ ﺑﻨﺪازد ،ﻗﻄﻌﺎ ﺧﻮاﻫﺪ ﻣﺮد. ﻣ ﺧﻮاﻫﯿﻢ ﺑﺎ اﺳﺘﻔﺎده از ﺗﻌﺪادی داوﻃﻠﺐ)!( ﮐﻪ ﺣﺎﺿﺮ ﺑﻪ ﭘﺮت ﮐﺮدن ﺧﻮدﺷﺎن از ﻃﺒﻘﺎت ﻫﺴﺘﻨﺪ ،ﺑﻔﻬﻤﯿﻢ ﻃﺒﻘﻪی ﮐﺸﻨﺪه ﮐﺪام اﺳﺖ. • اﻟﻒ( ﻣﺴﺌﻠﻪ را در ﺣﺎﻟﺘ ﺣﻞ ﮐﻨﯿﺪ ﮐﻪ دو داوﻃﻠﺐ دارﯾﻢ .اﻟ ﻮرﯾﺘﻤ اراﺋﻪ دﻫﯿﺪ ﮐﻪ ﻣﺸﺨﺺ ﮐﻨﺪ اﯾﻦ دو داوﻃﻠﺐ را از ﮐﺪام ﻃﺒﻘﺎت ﭘﺎﯾﯿﻦ ﺑﻨﺪازﯾﻢ .ﻣﺮﺗﺒﻪی زﻣﺎﻧ اﻟ ﻮرﯾﺘﻢ ﭼﯿﺴﺖ؟ • ب( آﯾﺎ اﻟ ﻮرﯾﺘﻢ ﺷﻤﺎ ﺑﻬﯿﻨﻪ اﺳﺖ؟ • پ( ﻣﺴﺌﻠﻪ را در ﺣﺎﻟﺖ ﮐﻠ ﺣﻞ ﮐﻨﯿﺪ ﮐﻪ mداوﻃﻠﺐ دارﯾﻢ. ﻣﺴﺌﻠﻪ .٣ﺧﻂ اﻓﻖ ﺷﻬﺮ در ﯾ ﺷﻬﺮ nﺳﺎﺧﺘﻤﺎن ﻣﺴﺘﻄﯿﻞ ﺷ ﻞ دارﯾﻢ ﮐﻪ ﻣﺨﺘﺼﺎت ﻗﺮار ﮔﺮﻓﺘﻦ آنﻫﺎ را ﻣ داﻧﯿﻢ .ﻣ ﺧﻮاﻫﯿﻢ ﺧﻂ اﻓﻖ اﯾﻦ ﺷﻬﺮ را ﭘﯿﺪا ﮐﻨﯿﻢ. ﺑﺮای ﻣﺜﺎل ﺷ ﻞ زﯾﺮ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ: • اﻟﻒ( اﻟ ﻮرﯾﺘﻤ از ﻣﺮﺗﺒﻪی زﻣﺎﻧ ) O(n٢ﺑﺮای اﯾﻦ ﮐﺎر اراﺋﻪ دﻫﯿﺪ. • ب( اﻟ ﻮرﯾﺘﻤ از ﻣﺮﺗﺒﻪی زﻣﺎﻧ ) O(n log nﺑﺮای اﯾﻦ ﮐﺎر اراﺋﻪ دﻫﯿﺪ. ﻣﺴﺌﻠﻪ .۴ﮐﻤﯿﻨﻪ ﮐﺮدن ﻣﺠﻤﻮع ﺗﻌﺪاد ﻓﺎﺻﻠﻪﻫﺎ ﯾ ﻣﺘﻦ ﺑﺎ nﮐﻠﻤﻪ دارﯾﻢ .ﮐﻠﻤﻪی iام دارای ﻃﻮل liاﺳﺖ .ﻫﻢﭼﻨﯿﻦ ﯾ دﻓﺘﺮ ﺑﺎ ﯾ ﻧﻮﺷﺖ .اﮔﺮ در ﯾ ﺳﻄﺮ ﻫﺮ دو ﮐﻠﻤﻪی iام و i + ١ام وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ ،ﺑﺎﯾﺪ ﯾ iام ﺗﺎ jام در ﯾ ﺳﺮی ﺳﻄﺮ دارﯾﻢ .در ﻫﺮ ﺳﻄﺮ ﻣ ﺗﻮان Mﺣﺮف ﻓﺎﺻﻠﻪ ﺑﯿﻦ آنﻫﺎ ﻗﺮار ﺑ ﯿﺮد .ﺑﻨﺎﺑﺮاﯾﻦ اﮔﺮ ﮐﻠﻤﺎت j ∑ ﺳﻄﺮ ﺑﯿﺎﯾﻨﺪ ) (i 6 jﺗﻌﺪاد ﺣﺮوف اﯾﻦ ﺳﻄﺮ ﺑﺮاﺑﺮ ﺧﻮاﻫﺪ ﺑﻮد ﺑﺎ li .A = j − i +ﺗﻌﺪاد ﺣﺮوف ﻫﺮ ﺳﻄﺮ ﻧﺒﺎﯾﺪ k=i از Mﺑﯿﺶﺗﺮ ﺷﻮد .ﻫﺪف ﮐﻤﯿﻨﻪ ﮐﺮدن ﻣﺠﻤﻮع ﺗﻌﺪاد ﻓﺎﺻﻠﻪﻫﺎی ﺧﺎﻟ اﺳﺖ ﮐﻪ در اﻧﺘﻬﺎی ﺳﻄﺮﻫﺎﯾﯽ ﮐﻪ ﻣﺘﻦ را در آنﻫﺎ ﻧﻮﺷﺘﻪاﯾﻢ ﻗﺮار دارد .ﻣﺜﻼ اﮔﺮ ﮐﻠﻤﺎت iام ﺗﺎ jام در ﯾ ﺳﻄﺮ ﺑﯿﺎﯾﻨﺪ ) (i 6 jﺗﻌﺪاد ﻓﺎﺻﻠﻪﻫﺎی ﺧﺎﻟ آن ﺳﻄﺮ M − Aﺧﻮاﻫﺪ ﺑﻮد .اﻟ ﻮرﯾﺘﻤ ﺑﺮای ﺑﻬﯿﻨﻪ ﻧﻮﺷﺘﻦ اﯾﻦ ﻣﺘﻦ ﺑﯿﺎﺑﯿﺪ. ١ ﻣﺴﺌﻠﻪ .۵ﻣﻬﻤﺎﻧ و رﺋﯿﺲ ﺷﺮﮐﺖ رﺋﯿﺲ ﯾ ﺷﺮﮐﺖ ﻗﺼﺪ دارد ﯾ ﻣﻬﻤﺎﻧ ﺗﺮﺗﯿﺐ دﻫﺪ .ﻫﺮ ﺷﺨﺺ ﺑﻪ ﺟﺰ رﺋﯿﺲ در اﯾﻦ ﺷﺮﮐﺖ ﯾ رﺋﯿﺲ دارد .اﮔﺮ ﺷﺨﺺ xﺑﻪ اﯾﻦ ﻣﻬﻤﺎﻧ ﺑﯿﺎﯾﺪ ،ﺷﺮﮐﺖ ﺑﻪ اﻧﺪازهی C.xﭘﯿﺸﺮﻓﺖ ﻣ ﮐﻨﺪ .وﻟ رﺋﯿﺲ ﮐﻞ دوﺳﺖ ﻧﺪارد ﻫﯿﭻ ﮐﺎرﻣﻨﺪی ﺑﺎ رﺋﯿﺲش ﺑﻪ ﻣﻬﻤﺎﻧ ﺑﯿﺎﯾﻨﺪ. اﻟ ﻮرﯾﺘﻤ ﺑﯿﺎﺑﯿﺪ ﮐﻪ ﺑﻌﺪ از اﯾﻦ ﻣﻬﻤﺎﻧ ﺷﺮﮐﺖ ﺑﯿﺸﺘﺮﯾﻦ ﭘﯿﺸﺮﻓﺖ را ﺑ ﻨﺪ. ﻣﺴﺌﻠﻪ .۶رﺷﺘﻪ و ﮐﺎﺷ ﻫﺎ ﯾ رﺷﺘﻪی sﺑﻪ ﻃﻮل nو mﮐﺎﺷ دارﯾﻢ ﮐﻪ روی ﻫﺮ ﮐﺪام ﺗﻌﺪادی ﮐﺎراﮐﺘﺮ ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ .اﻟ ﻮرﯾﺘﻤ ﮐﺎرا اراﺋﻪ دﻫﯿﺪ ﮐﻪ ﻣﺸﺨﺺ ﮐﻨﺪ آﯾﺎ ﻣ ﺗﻮان اﯾﻦ ﺟﻤﻠﻪ را ﺑﺎ ﮐﻨﺎر ﻫﻢ ﻗﺮار دادن ﺗﻌﺪادی از ﮐﺎﺷ ﻫﺎ ﺳﺎﺧﺖ ﯾﺎ ﻧﻪ؟ زﻣﺎن اﺟﺮای اﻟ ﻮرﯾﺘﻢ ﭼﻪ ﻗﺪر اﺳﺖ؟ ﺑﺮای ﻣﺜﺎل ﺷ ﻞ زﯾﺮ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ: ﻣﺴﺌﻠﻪ .٧ﻣﺪ دﻧﺒﺎﻟﻪ ﯾ دﻧﺒﺎﻟﻪی nﺗﺎﯾﯽ از اﻋﺪاد دارﯾﻢ .ﺑﻪ ﻋﺪدی ﻣﺪ ﻣ ﮔﻮﯾﯿﻢ ﮐﻪ ﺑﯿﺶﺗﺮ از ﻧﺼﻒ ﻃﻮل دﻧﺒﺎﻟﻪ ،در دﻧﺒﺎﻟﻪ ﻇﺎﻫﺮ ﺷﺪه ﺑﺎﺷﺪ .ﻣﺜﻼ دﻧﺒﺎﻟﻪی ٢٣۴٢٢۴ﻣﺪ ﻧﺪارد وﻟ ﻣﺪ دﻧﺒﺎﻟﻪی ٢٣٢٢٢۴ﺑﺮاﺑﺮ ٢اﺳﺖ .اﻟ ﻮرﯾﺘﻤ از ﻣﺮﺗﺒﻪی زﻣﺎﻧ ) O(n log nاراﺋﻪ دﻫﯿﺪ ﮐﻪ در ﺻﻮرت وﺟﻮد، ﻣﺪ دﻧﺒﺎﻟﻪ را ﭘﯿﺪا ﮐﻨﺪ. ٢ ١ﻣﻼﺣﻈﺎت • ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﺗﻤﺮﯾﻦﻫﺎ ﻧﻤﺮهای را در ﺑﺮ ﻧﺨﻮاﻫﻨﺪ داﺷﺖ و ﻓﻘﻂ ﺟﻨﺒﻪی ﯾﺎدﮔﯿﺮی دارﻧﺪ. ٣
© Copyright 2025 Paperzz