DA2.pdf

‫ﺑﻪ ﻧﺎﻡ ﯾﮕﺎﻧﻪ ﻫﺴﺘﯽ ﺑﺨﺶ‬
‫ﺗﻤﺮ ﯾﻦ ﺳﺮﯼ ﺩﻭﻡ ﻃﺮﺍﺣﯽ ﺍﻟﮕﻮﺭ ﯾﺘﻢ‬
‫ﻣﻬﻠﺖ ﺗﺤﻮﯾﻞ ‪۸/۱۴ :‬‬
‫‪ .۱‬ﺩﺭﺧﺖ ﺩﻭﺩﻭﯾﯽ ﮐﺎﻣﻞ ‪ T‬ﺑﺎ ﺩﻗﯿﻘﺎً ‪ n = ۲k − ۱‬ﺭٔﺍﺱ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ‪ .‬ﺑﺮ ﺭ ﻭﯼ ﻫﺮ ﺭٔﺍﺱ ﯾﮏ ﻋﺪﺩ ﻧﻮﺷﺘﻪ ﺷﺪﻩ ﺍﺳﺖ ﻭ‬
‫ﻫﯿﭻ ﺩﻭ ﻋﺪﺩﯼ ﺑﺎ ﻫﻢ ﺑﺮﺍﺑﺮ ﻧﯿﺴﺘﻨﺪ‪ .‬ﯾﮏ ﮐﻤﯿﻨﻪ ﻣﺤﻠﯽ ﺭٔﺍﺳﯽ ﺍﺳﺖ ﮐﻪ ﻋﺪﺩ ﺁﻥ ﺍﺯ ﺍﻋﺪﺍﺩ ﺗﻤﺎﻡ ﻫﻤﺴﺎﯾﮕﺎﻧﺶ ﮐﻤﺘﺮ ﺑﺎﺷﺪ‪.‬‬
‫ﺩﺭ ﺍﺑﺘﺪﺍ ﺍﻋﺪﺍﺩ ﺭ ﻭﯼ ﻫﯿﭻ ﺭٔﺍﺳﯽ ﺭﺍ ﻧﻤﯽﺩﺍﻧﯿﻢ ﻭﻟﯽ ﻣﯽﺗﻮﺍﻥ ﯾﮏ ﺭٔﺍﺱ ‪ x‬ﺭﺍ ﺍﻧﺘﺨﺎﺏ ﻧﻤﻮﺩ ﻭ ﻋﺪﺩ ﺭ ﻭﯼ ﺁﻥ ﺭﺍ ﻣﺸﺎﻫﺪﻩ‬
‫ﮐﺮﺩ‪ .‬ﺍﻟﮕﻮﺭ ﯾﺘﻤﯽ ﺍﺭﺍﺋﻪ ﺩﻫﯿﺪ ﮐﻪ ﺑﺎ )‪ O(log n‬ﻣﺸﺎﻫﺪﻩ ﯾﮏ ﮐﻤﯿﻨﻪ ﻣﺤﻠﯽ ﺩﺭ ﺩﺭﺧﺖ ‪ T‬ﭘﯿﺪﺍ ﮐﻨﺪ‪.‬‬
‫‪ .۲‬ﺩﻧﺒﺎﻟﻪﯼ ﺍﻋﺪﺍﺩ ‪ a۱ , a۲ , · · · , an‬ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ‪ .‬ﺍﻟﮕﻮﺭ ﯾﺘﻤﯽ ﺑﺎ ﺯﻣﺎﻥ ﺍﺟﺮﺍﯼ )‪ O(n log n‬ﺍﺭﺍﺋﻪ ﺩﻫﯿﺪ ﮐﻪ ﺗﻌﺪﺍﺩ ﺯ ﻭﺝ‬
‫ﻣﺮﺗﺐﻫﺎﯼ )‪ (i, j‬ﮐﻪ ‪ i < j‬ﻭ ‪ ai > ۲aj‬ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ‪.‬‬
‫‪ .۳‬ﺩﺭﺧﺖ ‪ T‬ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ‪ .‬ﻣﯽﺧﻮﺍﻫﯿﻢ ﮐﻤﺘﺮ ﯾﻦ ﺗﻌﺪﺍﺩ ﺍﺯ ﺭٔﺍﺱﻫﺎﯼ ‪ T‬ﺭﺍ ﺑﻪ ﺭﻧﮓ ﻗﺮﻣﺰ ﺩﺭﺁﻭﺭ ﯾﻢ ﺑﻪ ﻃﻮﺭ ﯾﮑﻪ ﻫﺮ ﺭٔﺍﺱ‬
‫ﺭﻧﮓ ﻧﺸﺪﻩﯼ ‪ x‬ﺣﺘﻤ ًﺎ ﯾﮏ ﻫﻤﺴﺎﯾﻪ ﺑﻪ ﺭﻧﮓ ﻗﺮﻣﺰ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﺍﻟﮕﻮﺭ ﯾﺘﻤﯽ ﭼﻨﺪ ﺟﻤﻠﻪﺍﯼ ﺑﺮﺍﯼ ﺣﻞ ﺍﯾﻦ ﻣﺴﺌﻠﻪ ﺍﺭﺍﺋﻪ‬
‫ﺩﻫﯿﺪ‪.‬‬
‫‪ .۴‬ﯾﮏ ﻣﺘﻦ ﺑﺎ ‪ n‬ﮐﻠﻤﻪ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ ﮐﻪ ﻃﻮﻝ ﮐﻠﻤﻪﯼ ‪ i‬ﺍﻡ ‪ li‬ﺍﺳﺖ‪ .‬ﻣﯽﺧﻮﺍﻫﯿﻢ ﯾﮏ ﻣﻘﺎﻟﻪ ﺑﻨﻮﯾﺴﯿﻢ ﺑﻪ ﻃﻮﺭﯼ ﮐﻪ ﺩﺭ‬
‫ﻫﺮ ﺳﻄﺮ ﺍﯾﻦ ﻣﻘﺎﻟﻪ ﻣﯽﺗﻮﺍﻥ ‪ M‬ﺣﺮﻑ ﻧﻮﺷﺖ‪ .‬ﺑﯿﻦ ﻫﺮ ﺩﻭ ﮐﻠﻤﻪ ﺩﺭ ﯾﮏ ﺧﻂ ﺑﺎﯾﺪ ﯾﮏ ﻓﺎﺻﻠﻪ ﻗﺮﺍﺭ ﺩﺍﺩﻩ ﺷﻮﺩ‪ .‬ﺑﻪ ﺍﯾﻦ‬
‫‪Pj‬‬
‫ﺗﺮﺗﯿﺐ ﺍﮔﺮ ﮐﻠﻤﺎﺕ ‪‐i‬ﺍﻡ ﺗﺎ ‪‐j‬ﺍﻡ ﺩﺭ ﯾﮏ ﺳﻄﺮ ﺑﯿﺎﯾﻨﺪ )‪ ،(j ≥ i‬ﺗﻌﺪﺍﺩ ﺣﺮ ﻭﻑ ﺍﯾﻦ ﺳﻄﺮ ﺑﺮﺍﺑﺮ ‪ k=i lk + j − i‬ﺧﻮﺍﻫﺪ‬
‫‪Pj‬‬
‫ﺑﻮﺩ ﻭ ﺗﻌﺪﺍﺩ )‪ M − ( k=i lk + j − i‬ﻓﺎﺻﻠﻪ ﺧﺎﻟﯽ ﺩﺭ ﺍﻧﺘﻬﺎﯼ ﺳﻄﺮ ﻗﺮﺍﺭ ﺧﻮﺍﻫﺪ ﮔﺮﻓﺖ‪ .‬ﺩﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺗﻌﺪﺍﺩ ﺣﺮ ﻭﻑ‬
‫ﯾﮏ ﺳﻄﺮ ﻧﺒﺎﯾﺪ ﺍﺯ ‪ M‬ﺑﯿﺸﺘﺮ ﺷﻮﺩ‪ .‬ﻣﯽﺧﻮﺍﻫﯿﻢ ﻣﺘﻦ ﺩﺍﺩﻩ ﺷﺪﻩ ﺭﺍ ﻃﻮﺭﯼ ﺑﻨﻮﯾﺴﯿﻢ ﮐﻪ ﻣﺠﻤﻮﻉ ﻓﺎﺻﻠﻪﻫﺎﯼ ﺧﺎﻟﯽ ﺍﻧﺘﻬﺎﯼ‬
‫ﺳﻄﺮﻫﺎﯼ ﻣﺨﺘﻠﻒ ﮐﻤﯿﻨﻪ ﺷﻮﺩ‪ .‬ﺍﻟﮕﻮﺭ ﯾﺘﻤﯽ ﭘﻮﯾﺎ ﺍﺭﺍﺋﻪ ﺩﻫﯿﺪ ﮐﻪ ﺍﯾﻦ ﻣﺴﺌﻠﻪ ﺭﺍ ﺣﻞ ﮐﻨﺪ‪.‬‬
‫‪ .۵‬ﻓﺮﺽ ﮐﻨﯿﺪ ‪ k‬ﺁﺭﺍﯾﻪ ﻣﺮﺗﺐ ﺷﺪﻩ ﺑﻪ ﻃﻮﻝ ‪ n‬ﺩﺭ ﺍﺧﺘﯿﺎﺭ ﺩﺍﺭ ﯾﻢ‪ .‬ﻫﺪﻑ ﺍﯾﻦ ﺍﺳﺖ ﮐﻪ ﺗﻤﺎﻡ ﺍﯾﻦ ‪ k‬ﺁﺭﺍﯾﻪ ﺭﺍ ﺍﺩﻏﺎﻡ ﮐﻨﯿﻢ ﻭ‬
‫ﯾﮏ ﺁﺭﺍﯾﻪ ﻣﺮﺗﺐ ﺷﺪﻩ ﺑﻪ ﻃﻮﻝ ‪ nk‬ﺑﺴﺎﺯﯾﻢ‪.‬‬
‫ﺍﻟﻒ‐ ﯾﮏ ﺭ ﻭﺵ ﺑﺮﺍﯼ ﺍﻧﺠﺎﻡ ﮐﺎﺭ ﺑﺪﯾﻦ ﺻﻮﺭﺕ ﺍﺳﺖ ‪ :‬ﺍﺑﺘﺪﺍ ﺩﻭ ﺁﺭﺍﯾﻪ ﺍﻭﻝ ﺭﺍ ﺑﺎ ﻫﻢ ﺍﺩﻏﺎﻡ ﮐﻨﯿﻢ‪ ،‬ﺳﭙﺲ ﻧﺘﯿﺠﻪ ﺭﺍ ﺑﺎ‬
‫ﺁﺭﺍﯾﻪ ﺳﻮﻡ ﺍﺩﻏﺎﻡ ﮐﻨﯿﻢ ﻭ ﻫﻤﯿﻦ ﮐﺎﺭ ﺭﺍ ﺍﺩﺍﻣﻪ ﺩﻫﯿﻢ‪ .‬ﺩﺭ ﺣﻘﯿﻘﺖ ﺩﺭ ﻣﺮﺣﻠﻪ ‪‐i‬ﺍﻡ ﻧﺘﯿﺠﻪ ﮐﺎﺭ ﺗﺎ ﺍﯾﻦ ﻟﺤﻈﻪ ﺭﺍ ﺑﺎ‬
‫ﺁﺭﺍﯾﻪ ‪‐i + ۱‬ﺍﻡ ﺍﺩﻏﺎﻡ ﻣﯽﮐﻨﯿﻢ‪ .‬ﺯﻣﺎﻥ ﺍﺟﺮﺍﯼ ﺍﯾﻦ ﺍﻟﮕﻮﺭﺗﯿﻢ ﭼﯿﺴﺖ؟‬
‫ﺏ‐ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺭ ﻭﺵ ﺗﻘﺴﯿﻢ ﻭ ﺣﻞ ﺍﻟﮕﻮﺭ ﯾﺘﻤﯽ ﭘﯿﺸﻨﻬﺎﺩ ﺩﻫﯿﺪ ﮐﻪ ﺍﯾﻦ ﮐﺎﺭ ﺭﺍ ﺩﺭ ﺯﻣﺎﻥ ﺍﺟﺮﺍﯼ ﺑﻬﺘﺮﯼ ﺍﻧﺠﺎﻡ ﺩﻫﺪ‪.‬‬
‫ﺯﻣﺎﻥ ﺍﺟﺮﺍﯼ ﺍﻟﮕﻮﺭ ﯾﺘﻢ ﺷﻤﺎ ﭼﯿﺴﺖ؟‬
‫‪ .۶‬ﺗﻤﺮ ﯾﻦ ‪ ۱۶‐۳‐۶‬ﺍﺯ ﮐﺘﺎﺏ ﺩﺭﺳﯽ‪.‬‬
‫‪ .۷‬ﺗﻤﺮ ﯾﻦ ‪ ۱۶‐۳‐۷‬ﺍﺯ ﮐﺘﺎﺏ ﺩﺭﺳﯽ‪.‬‬
‫‪۱‬‬