Académique Documents
Professionnel Documents
Culture Documents
Searching
اﻟﺒﺤﺚ هﻮ ﻋﻤﻠﻴﺔ اﻟﺘﻔﻴﺶ ﻋﻦ ﻋﻨﺼﺮ ﻣﻌﻴﻦ ﻓﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﻴﺎﻧﺎت أوهﻮ ﻋﻤﻠﻴﺔ اﻳﺠﺎد ﻋﻨﺼﺮ ﻣﻌﻴﻦ ﻓﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﻴﺎﻧﺎت ﻓﺎذا آﺎن
ذﻟﻚ اﻟﻌﻨﺼﺮ ﻣﻮﺟﻮد ﺗﻜﻮن ﻋﻤﻠﻴﺔ اﻟﺒﺤﺚ )اﻳﺠﺎﺑﻴﺔ( ﻓﻌﺎﻟﺔ وهﺬا ﻳﺤﺪث اذا آﺎﻧﺖ ﻗﺎﺋﻤﺔ اﻟﺒﺤﺚ ﻣﺮﺗﺒﺔ ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ ﺣﻘﻞ ﻣﻌﻴﻦ ﺑﻴﻨﻤﺎ ﺗﻜﻮن
ﻋﻤﻠﻴﺔ اﻟﺒﺤﺚ ﻏﻴﺮ ﻓﻌﺎﻟﺔ ﻋﻨﺪ ﻋﺪم وﺟﻮد اﻟﻌﻨﺼﺮ ﻓﻲ ﻗﺎﺋﻤﺔ اﻟﺒﺤﺚ .
*اﻧﻮاع ﺧﻮارزﻣﻴﺎت اﻟﺒﺤﺚ
وﻳﻮﺟﺪ ﻋﺪة ﺗﺼﻨﻴﻔﺎت ﻟﺨﻮارزﻣﻴﺎت اﻟﺒﺤﺚ ﻣﻨﻬﺎ-:
Sequential Search Algorithm .1ﺧﻮارزﻣﻴﺎت اﻟﺒﺤﺚ اﻟﺘﺴﻠﺴﻠﻲ
Binary Search Algorithm .2ﺧﻮارزﻣﻴﺎت اﻟﺒﺤﺚ اﻟﺜﻨﺎﺋﻲ
ﺣﻴﺚ -:
Lﻣﻌﺪل ﻃﻮل اﻟﺒﺤﺚ
Ciﻋﺪد اﻟﻤﻘﺎرﻧﺎت اﻟﻤﻄﻠﻮﺑﺔ ﻟﻠﻮﺻﻮل اﻟﻰ اﻟﻌﻨﺼﺮ
Pاﺣﺘﻤﺎﻟﻴﺔ اﻟﻮﺻﻮل اﻟﻰ اﻟﻌﻨﺼﺮ
Sequential Search Algorithm
ﺧﻮارزﻣﻴﺎت اﻟﺒﺤﺚ اﻟﺘﺴﻠﺴﻠﻲ
ﺧﻮارزﻣﻴﺎت اﻟﺒﺤﺚ اﻟﺘﺴﻠﺴﻠﻲ وﺗﺘﻀﻤﻦ ﻋﻤﻠﻴﺔ اﻟﺒﺤﺚ ﻋﻦ ﻋﻨﺼﺮ ﻣﻌﻴﻦ ﻓﻲ ﻗﺎﺋﻤﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻣﻦ ﺧ ﻼل ﻣ ﺴﺢ ﺟﻤﻴ ﻊ ﻋﻨﺎﺻ ﺮ اﻟﻘﺎﺋﻤ ﺔ ﻣ ﻦ
ﺑﺪاﻳﺘﻬﺎ وﺑﺎﻟﺘﺴﻠﺴﻞ ﻟﺤﻴﻦ اﻟﻮﺻﻮل اﻟﻰ اﻟﻌﻨﺼﺮ اﻟﻤﻄﻠﻮب ﻓﻲ ﺣﺎﻟﺔ وﺟﻮدﻩ او اﻟﻮﺻﻮل اﻟﻰ ﻧﻬﺎﻳﺔ اﻟﻘﺎﺋﻤﺔ ﻋﻨﺪﻣﺎ ﻳﻜﻮن اﻟﻌﻨﺼﺮ ﻏﻴﺮ ﻣﻮﺟﻮد-:
1
n
( .ووﻗﺖ ﺗﻨﻔﻴﺬ اﻟﺨﻮارزﻣﻴﺔ هﻮ ) ).( Ο(n ﻟﺬا ﻓﺎن ﻣﻌﺪل ﻋﺪد اﻟﻤﻘﺎرﻧﺎت هﻮ )
2
ﻳﺴﺘﺨﺪم اﻟﺒﺤﺚ اﻟﺘﺴﻠﺴﻠﻲ ﻣﻊ اﻟﺒﻴﺎﻧﺎت اﻟﺘﻲ ﺗﺤﺘﺎج اﻟﻰ ﻣﻌﺎﻟﺠﺔ دورﻳﺔ ﻣﺜﻞ ﻧﻈﺎم اﻟﺮواﺗﺐ.
Algorithm of sequential search
(Given an unordered vector k consisting of n+1 elements, (n>=1) this algorithm search the vector for a
)particular elements having the value x
]1. [ initialize search
I=1
K(n+1)=x
] 2. [search the vector
Repeat
While k(i)<>x
I=i+1
]3. [successful search
If i=n+1 then
)"Msgbox("unsuccessful search
Else
)"Msgbox("successful search
ﻣﻼﺣﻈﺔ-:
ﻋﺪد اﻟﻤﻘﺎرﻧﺎت = ﻋﺪد اﻟﻌﻨﺎﺻﺮ اﻟﻤﻘﺮءة او اﻟﻤﺤﺴﻮﺑﺔ أي
ﻣﺜﺎل -:اﻓﺮض ان اﺣﺘﻤﺎﻟﻴﺔ اﻟﻮﺻﻮل اﻟﻰ آﻞ ﻋﻨﺼﺮ ﻏﻴﺮ ﻣﺘﺴﺎوﻳﺔ ﻓﻲ ﻗﺎﺋﻤﺔ ﺗﺤﺘﻮي ﻋﻠﻰ ﺧﻤﺴﺔ ﻗﻴﻮد اوﺟﺪ ﻣﻌﺪل ﻃﻮل اﻟﺒﺤﺚ ﺑﺎﺳﺘﺨﺪام
اﻟﺒﺤﺚ اﻟﺘﺴﻠﺴﻠﻲ اذا آﺎﻧﺖ اﺣﺘﻤﺎﻟﻴﺔ اﻟﻮﺻﻮل ﻟﻜﻞ ﻋﻨﺼﺮ هﻲ-:
P1 0.4
P2 0.3
P3 0.2
P4 0.07
P5 0.03
n
= L ∑
i=1
i * Pi
L=1*0.4+2*0.3+3*0.2+4*0.07+5*0.03 = 2.03
2
Binary Search Algorithm
ﺧﻮارزﻣﻴﺔ اﻟﺒﺤﺚ اﻟﺜﻨﺎﺋﻲ
ﻓﻜﺮﺗﻬﺎ-:
ان هﺬﻩ اﻟﺨﻮارزﻣﻴﺔ ﺗﻔﺘﺮض اﻟﺒﺤﺚ ﻋﻦ ﻋﻨﺼﺮ ﻓﻲ ﻗﺎﺋﻤﺔ ﻣﺮﺗﺒﺔ ﺣﺴﺐ ﺗﺮﺗﻴﺐ ﻣﻌﻴﻦ وﺗﺘﻀﻤﻦ اﻟﺨﻄﻮات اﻟﺘﺎﻟﻴﺔ -:
.1ﻣﻘﺎرﻧﺔ اﻟﻌﻨﺼﺮ اﻟﻤﺮاد اﻟﺒﺤﺚ ﻋﻨﻪ وﻟﻴﻜﻦ ) (Xﻣﻊ اﻟﻌﻨﺼﺮ اﻟﺬي ﻳﻘﻊ ﻣﻨﺘﺼﻒ اﻟﻘﺎﺋﻤﺔ
.2اذا آﺎن اﻟﻌﻨ ﺼﺮ اﻟﻤﻄﻠ ﻮب ) (Xاﻗ ﻞ ﻣ ﻦ ﻗﻴﻤ ﺔ اﻟﻌﻨ ﺼﺮ اﻟ ﺬي ﻳﻘ ﻊ ﻣﻨﺘ ﺼﻒ اﻟﻘﺎﺋﻤ ﺔ اذن ﺳﻴﻨﺤ ﺼﺮ اﻟﺒﺤ ﺚ ﻓ ﻲ اﻟﺠ ﺰء اﻟ ﺬي ﻳ ﻀﻢ
اﻟﻌﻨﺎﺻﺮ اﻻﺻﻐﺮ ﻣﻦ ﻋﻨﺼﺮ اﻟﻤﻨﺘﺼﻒ )ﺟﻬﺔ اﻟﻴﺴﺎر(
.3اذا آﺎن اﻟﻌﻨﺼﺮ اﻟﻤﻄﻠﻮب ) (Xاآﺒ ﺮ ﻣ ﻦ ﻗﻴﻤ ﺔ اﻟﻌﻨ ﺼﺮ اﻟ ﺬي ﻳﻘ ﻊ ﻣﻨﺘ ﺼﻒ اﻟﻘﺎﺋﻤ ﺔ اذن ﺳﻴﻨﺤ ﺼﺮ اﻟﺒﺤ ﺚ ﻓ ﻲ اﻟﺠ ﺰء اﻟ ﺬي ﻳ ﻀﻢ
اﻟﻌﻨﺎﺻﺮ اﻻآﺒﺮ ﻣﻦ ﻋﻨﺼﺮ اﻟﻤﻨﺘﺼﻒ )ﺟﻬﺔ اﻟﻴﻤﻦ( .وﺗﺴﺘﻤﺮ اﻟﻌﻤﻠﻴﺔ ﺣﺘﻰ ﻳﺘﻢ اﻟﻌﺜﻮر ﻋﻠﻰ اﻟﻌﻨﺼﺮوذﻟﻚ ﺑﺘﻜﺮار اﻟﺨﻄﻮﺗﻴﻦ 2و3
.4اذا آﺎن اﻟﻌﻨﺼﺮ اﻟﻤﻄﻠﻮب ) (Xﻣﺴﺎوﻳًﺎ ﺑﺎﻟﻘﻴﻤﺔ اﻟﻰ اﻟﻌﻨﺼﺮ ﻓﻲ ﻣﻨﺘﺼﻒ اﻟﻘﺎﺋﻤﺔ اذن ﺳﺘﻨﺘﻬﻲ ﻋﻤﻠﻴﺔ اﻟﺒﺤﺚ ﻣﺒﺎﺷﺮﺗًﺎ.
Low=1
High=3
Middle=(1+3)/2=2
K(middle)=k(2)=17
X=17
17<45
Go to right
45=45 "the element is found and the search is successful"