Professional Documents
Culture Documents
0 0 Introduction
0 0 Introduction
ﻣﺮاﺣﻞ ﺣﻞ ﻣﺴﺎﻟﻪ
ﻣﻌﺮﻓﻲ ﺳﺮﻓﺼﻞ ﻣﺮاﺣﻞ ﺣﻞ ﻣﺴﺄﻟﻪ: •
.1اﻳﺠﺎد ﻳﻚ ﻣﺪل اﻧﺘﺰاﻋﻲ از ﻣﺴﺄﻟﻪ --ﻣﺪل
• ﻣﻘﺪﻣﻪ )(1 اﻟﮕﻮرﻳﺘﻢ
ﻣﺪل --اﻟﮕ
ﺣﻞ لﺑﺮاي ﻞ
اﻟﮕﻮرﻳﺘﻢ ا
ﻳﺎﻓﺘﻦ اﻟﮕ
.22ﺎﻓ
• ﺗﺤﻠﻴﻞ ﭘﻴﭽﻴﺪﮔﻲ زﻣﺎﻧﻲ اﻟﮕﻮرﻳﺘﻢ ﻫﺎ )(3
ﻛﺎرآ
ﻴﺢ و ر
ﻢ ﺻﺤﻴﺢ ﻛﺎرآ – ﻮرﻳ
اﻟﮕﻮرﻳﺘﻢ ﻞ ر ي ﺣﻞﺑﺮاي
ﻢ ﺑﺮ
اﻟﮕﻮرﻳﺘﻢ
ﻴﻞ ﻮرﻳ .3ﺗﺤﻠﻴﻞ
• ﻟﻴﺴﺖ ﻫﺎ )(2 .4ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﻤﺎن داده ﻫﺎ
– ﭘﭘﺸﺘﻪ )(1
.5ﭘﻴﺎده ﺳﺎزي – ﺑﺮﻧﺎﻣﻪ ﻗﺎﺑﻞ اﺟﺮا روي ﻣﺎﺷﻴﻦ
– ﺻﻒ )(1
... .6
ﻫﺎ )(4 • ﺧﺖ
درﺧﺖ ﺎ
ﻣﺴﺎﻟ ﺳﺎﺧﺘﻤﺎن
• ﮔﺮاف )(2 ﻣﺪل اﻧﺘﺰاﻋﻲ اﻟﮕﻮرﻳﺘﻢ
داده
ﭘﻴﺎده ﺳﺎزي
ه
• اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻣﺮﺗﺐ ﺳﺎزي )(1
ﺗﺤﻠﻴﻞ
N. Razavi -DS course - 2005 ٣ N. Razavi -DS course - 2005 ٤
ﻣﺜﺎل ﻣﺪل ﺳﺎزي
ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﭼﺮاغغ راﻫﻨﻤﺎﻳﻲ ﺗﻘﺎﻃﻊﻊ زﻳﺮ ﺑﺎ اﺳﺘﻔﺎده از ﺣﺪاﻗﻞ • ﻣﺪل ﺳﺎزي ﮔﺮدش ﻫﺎ: .1
ﻣﺜﻼ ADﺑﻪ ﻣﻌﻨﺎي ﮔﺮدش از Aﺑﻪ Dﻣﻲ ﺑﺎﺷﺪ. •
ﺗﻌﺪاد رﻧﮓ ﻫﺎ
رﺳﻢ ﻳﻚ ﻳﺎل ﺑﻴﻦ ﻫﺮ دو ﮔﺮدﺷﻲ ﻛﻪ ﻫﻤﺰﻣﺎن ﻣﻴﺴﺮ ﻧﻤﻲ ﺑﺎﺷﻨﺪ. .2
D
E A
AB AC A
AD
D
E
C
BA BC BD C
A
DA DB DC A
B
B
EA EB EC ED
N. Razavi -DS course - 2005 ٥ N. Razavi -DS course - 2005 ٦
N. Razavi -DS course - 2005 ٧ N. Razavi -DS course - 2005 ٨
ﻣﺜﺎل ﻧﻘﺾ ﺑﺮاي اﻟﮕﻮرﻳﺘﻢ ﺣﺮﻳﺼﺎﻧﻪ ﻣﺜﺎل ﻧﻘﺾ ﺑﺮاي اﻟﮕﻮرﻳﺘﻢ ﺣﺮﻳﺼﺎﻧﻪ
:ﺣﺮﻳﺼﺎﻧﻪ
ﻢ ﺮﻳﺼاﻟﮕﻮرﻳﺘﻢ
ﺗﻮﺳﻂ ﻮرﻳ
ف ﻮ
ﮔﺮاف
ﻴﺰي ﺮ
ﮓ آﻣﻴﺰي
ررﻧﮓ • ف ﺑﺑﺎ دوو ررﻧﮓ
ﮓ ﮔﺮاف
ﻴﺰي ﺮ
ﮓ آﻣﻴﺰي
ررﻧﮓ •
New color = Green
New color = Red
New color = Blue ٣ ٣
١ ۵ ٢ ١ ۵ ٢
۴ ۴
AB AC AD
color turns extras
new color = blue
EA EB EC ED yellow
y EB,, EC BA,, DC,, EA,, ED
EA EB EC ED
N. Razavi -DS course - 2005 ١٣ N. Razavi -DS course - 2005 ١٤
N. Razavi -DS course - 2005 ١٧ N. Razavi -DS course - 2005 ١٨
اﻧﻮاع داده اي اﻧﺘﺰاﻋﻲ )(ADT ﻣﺜﺎل ADT :ﻫﺎي ﺑﻜﺎر رﻓﺘﻪ در روﻳﻪ greedy
ﺗﻌﺮﻳﻒ :ADTﻳﻚ ﻣﺪل رﻳﺎﺿﻲ ﺑﻪ ﻫﻤﺮاه ﻣﺠﻤﻮﻋﻪ اي از ﻋﻤﻠﻴﺎت • ﻣﺠﻤﻮﻋﻪ )(SET •
ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺮ روي آن ﻣﺪل. ﻋﻤﻠﻴﺎت ﻣﺠﻤﻮﻋﻪ –
اﺷﺘﺮاك و ﺗﻔﺎﺿﻞ.
اﺟﺘﻤﺎع ،اﺷ اك
ﻋﻤﻠﻴﺎت ا ﺎ
ﻫﻤﺮاه ﻠ ﺎت
اﻋﺪاد ﺻﺤﻴﺢ ﺑﻪ ا
ﻣﺜﺎل :ﻣﺠﻤﻮﻋﻪ ااي از ا ﺪا
ﺜﺎل – ﻛﺮدن ﻣﺠﻤﻮﻋﻪﻪ
ﺗﺗﻬﻲ ﻛ ن .11
N. Razavi -DS course - 2005 ١٩ N. Razavi -DS course - 2005 ٢٠
ﻧﻮع داده اي ،ﺳﺎﺧﺘﻤﺎن دادهADT ، اﺷﺎره ﮔﺮﻫﺎ
اﺷﺎره ﮔﺮ واﻗﻌﻲ ) :(pointerﻣﺘﻐﻴﺮي ﻛﻪ ﻣﻘﺪار آن ﺣﺎوي آدرس ﻣﺘﻐﻴﺮ دﻳﮕﺮي •
ﻧﻮع داده اي ) :(Data typeﻳﻚ ﻧﻮع داده اي از ﻳﻚ ﻣﺘﻐﻴﺮ ،ﻣﺠﻤﻮﻋﻪ • ﻲ ﺑﺑﺎﺷﺪ.
ﻣﻲ
ﻣﻘﺎدﻳﺮي اﺳﺖ ﻛﻪ ﻣﺘﻐﻴﺮ ﻣﻲ ﺗﻮاﻧﺪ اﺧﺘﻴﺎر ﻛﻨﺪ. اﺷﺎره ﮔﺮ اﻧﺪﻳﺴﻲ ) :(cursorﻳﻚ ﻣﺘﻐﻴﺮ ﺻﺤﻴﺢ ﻛﻪ از آن ﺑﻪ ﻋﻨﻮان اﺷﺎره ﮔﺮ ﺑﻪ آراﻳﻪ •
ﺷﻮد.
ﻲ ﻮاﺳﺘﻔﺎده ﻣﻲ
اﺧﺘﻴﺎر ﻛﻛﻨﺪ.
را ا ﺎ falseا
trueو f l
ﻣﻘﺎدﻳﺮ t
ﺗﻮاﻧﺪ ﻘﺎ
ﺑﻮﻟﻲ ﻣﻲ ا
ﻣﺜﺎل :ﻣﺘﻐﻴﺮ ﻟ
ﺎل –
ﻣﺜﺎل: •
:ADTﻳﻚ ﻣﺪل رﻳﺎﺿﻲ ،ﺑﻪ ﻫﻤﺮاه ﻋﻤﻠﻴﺎت ﻣﺘﻌﺪد ﺗﻌﺮﻳﻒ ﺷﺪه روي •
ﻣﺪل h d
header 4 2