Lecture 19

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lecture 19 as PDF for free.

More details

  • Words: 616
  • Pages: 4
‫‪Data Structures‬‬ ‫‪Notes for Lecture 19‬‬ ‫‪Internal Sort Algorithms‬‬ ‫‪By‬‬ ‫‪Samaher Hussein Ali‬‬ ‫‪2007-2008‬‬

‫‪Insertion Sort Algorithm‬‬ ‫ﺧﻮارزﻣﻴﺔ اﻟﺘﺮﺗﻴﺐ ﺑﺎﻻﺿﺎﻓﺔ‬ ‫ﻓﻜﺮﺗﻬﺎ‪-:‬‬ ‫‪ .1‬ﻧﺒﺪأ ﻣﻦ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻲ‬

‫‪ I=2‬ﻓﻲ اﻟﻘﺎﺋﻤﺔ اﻻﺻﻠﻴﺔ وﻧﻘﺎرﻧﻪ ﻣﻊ اﻟﻌﻨﺼﺮ اﻻول ‪ I=1‬وﻧﻀﻌﻬﻢ ﺣﺴﺐ اﻟﺘﺮﺗﻴﺐ )وﻟﻴﻜﻦ ﺗﺼﺎﻋﺪﻳًﺎ(‬

‫ﻓﻲ ﻓﻲ ﻣﻘﺪﻣﺔ اﻟﻘﺎﺋﻤﺔ‪.‬‬ ‫‪ I=3‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻻﺻﻠﻴﺔ وﻧﻘﺎرﻧﻪ ﻣﻊ ﻣﻘﺪﻣﺔ اﻟﻘﺎﺋﻤﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ اﻟﻌﻨﺼﺮ اﻻول واﻟﺜﺎﻧﻲ وﻧﻀﻌﻪ‬

‫‪ .2‬ﻧﺎﺧﺬ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻟﺚ‬ ‫ﻓﻲ ﻣﻮﻗﻌﻪ اﻟﺼﺤﻴﺢ ﻣﻌﻬﻢ‪.‬‬

‫‪ .3‬ﻧﺴﺘﻤﺮ ﻓﻲ هﺬﻩ اﻟﻌﻤﻠﻴﺔ ﻟﻐﺎﻳﺔ اﻟﻌﻨﺼﺮ اﻻﺧﻴﺮ وﺑﺬﻟﻚ ﺳﻨﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﻣﺮﺗﺒﺔ ‪.‬‬ ‫ﻣﺜﺎل ‪ -:‬رﺗﺐ ﻋﻨﺎﺻﺮ اﻟﻘﺎﺋﻤﺔ اﻟﺘﺎﻟﻴﺔ ﺑﺎﺳﺘﺨﺪام اﻟﺘﺮﺗﻴﺐ ﺑﺎﻻﺿﺎﻓﺔ‬ ‫‪66‬‬

‫‪5‬‬

‫‪93‬‬

‫‪17‬‬

‫‪11‬‬

‫‪41‬‬

‫‪54‬‬

‫‪43‬‬

‫ﺧﻄﻮات اﻟﺤﻞ‪-:‬‬ ‫ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﻘﺎﺋﻤﺔ = ‪8=N‬‬ ‫‪((N)^2)/4‬‬ ‫ﻣﻌﺪل ﻋﺪد اﻟﻤﻘﺎرﻧﺎت =‬ ‫ﻣﻌﺪل ﻋﺪد اﻟﺘﺒﺪﻳﻼت =‬

‫‪((N)^4)/4‬‬ ‫‪N-1‬‬

‫ﻋﺪد ﻣﺮاﺣﻞ اﻟﺤﻞ=‬

‫‪I= 3‬‬

‫‪I= 4‬‬

‫‪I= 5‬‬

‫‪I= 6‬‬

‫‪I= 7‬‬

‫‪I= 8‬‬

‫اﻟﻘﺎﺋﻤﺔ‬

‫‪I=2‬‬

‫‪43‬‬

‫‪43‬‬

‫‪11‬‬

‫‪11‬‬

‫‪11‬‬

‫‪11‬‬

‫‪5‬‬

‫‪5‬‬

‫‪54‬‬

‫‪54‬‬

‫‪43‬‬

‫‪41‬‬

‫‪41‬‬

‫‪17‬‬

‫‪11‬‬

‫‪11‬‬

‫‪11‬‬

‫‪11‬‬

‫‪54‬‬

‫‪43‬‬

‫‪43‬‬

‫‪41‬‬

‫‪17‬‬

‫‪17‬‬

‫‪41‬‬

‫‪41‬‬

‫‪41‬‬

‫‪54‬‬

‫‪54‬‬

‫‪43‬‬

‫‪41‬‬

‫‪41‬‬

‫‪93‬‬

‫‪93‬‬

‫‪93‬‬

‫‪93‬‬

‫‪93‬‬

‫‪54‬‬

‫‪43‬‬

‫‪43‬‬

‫‪17‬‬

‫‪17‬‬

‫‪17‬‬

‫‪17‬‬

‫‪17‬‬

‫‪93‬‬

‫‪54‬‬

‫‪54‬‬

‫‪5‬‬

‫‪5‬‬

‫‪5‬‬

‫‪5‬‬

‫‪5‬‬

‫‪5‬‬

‫‪93‬‬

‫‪66‬‬

‫‪66‬‬

‫‪66‬‬

‫‪66‬‬

‫‪66‬‬

‫‪66‬‬

‫‪66‬‬

‫‪66‬‬

‫‪93‬‬

‫‪1‬‬

‫)‪Public sub Insertion(byref data(1 to n )as integer, dim n as integer‬‬ ‫‪Dim item as integer‬‬ ‫‪Dim I as integer‬‬ ‫‪Dim j as integer‬‬ ‫‪i=2‬‬ ‫‪if i<= n then‬‬ ‫‪j=1‬‬ ‫‪if (j>1) and(data(j)
‫‪Address Compute Sort Algorithm‬‬ ‫ﺧﻮارزﻣﻴﺔ اﻟﺘﺮﺗﻴﺐ ﺑﺤﺴﺎب اﻟﻌﻨﻮان‬ ‫ﻓﻜﺮﺗﻬﺎ‪-:‬‬ ‫ﻧﻀﻊ ﻋﻨﺎﺻﺮ اﻟﻘﺎﺋﻤﺔ اﻟﻤﺮاد ﺗﺮﺗﻴﺒﻬﺎ ﺿﻤﻦ ﻓﺌﺎت ﺑﻤﻮﺟﺐ داﻟﺔ اﻟﺘﻘﻄﻴﻊ ‪ Mid Function‬ﻓﻠﻮ ﻓﺮﺿﻨﺎ ان ﻋﺪد اﻟﻔﺌﺎت ﻳﺴﺎوي‬ ‫اﺣﺘﻤﺎﻟﻴﺔ ﺗﻮزﻳﻊ أي ﻋﻨﺼﺮ هﻲ ‪ 1/M‬وﺗﻤﺜﻴﻞ ﻋﻨﺎﺻﺮ أي ﻓﺌﺔ ﺑﺎﺳﺘﺨﺪام ﻗﺎﺋﻤﺔ ﻣﺘﺼﻠﺔ‪.‬‬ ‫ﻣﺜﺎل ‪ -:‬رﺗﺐ ﻋﻨﺎﺻﺮ اﻟﻘﺎﺋﻤﺔ اﻟﺘﺎﻟﻴﺔ ﺑﺎﺳﺘﺨﺪام اﻟﺘﺮﺗﻴﺐ ﺑﺤﺴﺎب اﻟﻌﻨﻮان‬ ‫‪66‬‬

‫‪11‬‬

‫‪54‬‬

‫ﺧﻄﻮات اﻟﺤﻞ‪-:‬‬ ‫)‪M(0‬‬

‫ﺗﺤﺘﻮي اﻻﻋﺪاد ﻣﻦ ‪9-0‬‬

‫)‪M(1‬‬

‫ﺗﺤﺘﻮي اﻻﻋﺪاد ﻣﻦ ‪19 -10‬‬

‫)‪M(2‬‬

‫ﺗﺤﺘﻮي اﻻﻋﺪاد ﻣﻦ ‪29 -20‬‬

‫‪.‬‬ ‫‪.‬‬ ‫)‪M(9‬‬

‫ﺗﺤﺘﻮي اﻻﻋﺪاد ﻣﻦ ‪99 -90‬‬ ‫‪2‬‬

‫‪93‬‬

‫‪41‬‬

‫‪5‬‬

‫‪17‬‬

‫‪43‬‬

‫‪ M‬ﻓﺎن‬

‫‪5‬‬

‫)‪M(0‬‬

‫‪17‬‬

‫‪11‬‬

‫)‪M( 1‬‬

‫‪43‬‬

‫‪41‬‬

‫)‪M( 4‬‬

‫‪54‬‬

‫)‪M(5‬‬

‫‪66‬‬

‫)‪M(6‬‬

‫)‪M( 2‬‬ ‫)‪M(3‬‬

‫)‪M( 7‬‬ ‫)‪M(8‬‬ ‫)‪M(9‬‬

‫‪93‬‬ ‫* اﻻن ﻧﻬﻤﻞ اﻟﻌﻘﺪ اﻟﻔﺎرﻏﺔ‬

‫)‪M(2),M(3),M(7),M(8‬‬

‫* ﻧﺮﺑﻂ اﻟﻌﻘﺪ اﻟﺒﺎﻗﻴﺔ ﻓﻲ ﻗﺎﺋﻤﺔ واﺣﺪة‬ ‫ﻧﻼﺣﻆ ان هﺬﻩ اﻟﻄﺮﻳﻘﺔ هﻲ ﺧﺎﻟﻴﺔ ﻣﻦ اﻟﺘﺤﺮﻳﻜﺎت واﻟﻨﻘﻼت وهﻲ آﻔﻮءة ﻣﻬﻤﺎ آﺎن ﻋﺪد اﻟﻌﻨﺎﺻﺮ وآﻴﻔﻤﺎ آﺎن ﺗﺮﺗﻴﺒﻬﺎ‪.‬‬

‫‪Selection Sort Algorithm‬‬ ‫ﺧﻮارزﻣﻴﺔ اﻟﺘﺮﺗﻴﺐ ﺑﺎﻻﺧﺘﻴﺎر‬ ‫ﻓﻜﺮﺗﻬﺎ‪-:‬‬ ‫هﻲ اﻳﺠﺎد اﺻﻐﺮ ﻋﻨﺼﺮ ﻓﻲ اﻟﻘﺎﺋﻤﺔ اﻟﻤ ﺮاد ﺗﺮﺗﻴﺒﻬ ﺎ واﺳ ﺘﺒﺪاﻟﻬﺎ ﻣ ﻊ اﻟﻌﻨ ﺼﺮ ﻓ ﻲ اﻟﻤﻮﻗ ﻊ اﻻول ﺛ ﻢ اﻳﺠ ﺎد اﺻ ﻐﺮ ﻋﻨ ﺼﺮ ﻓ ﻲ اﻟﻘﺎﺋﻤ ﺔ اﻟﻤﺘﺒﻘﻴ ﺔ‬ ‫واﺳﺘﺒﺪاﻟﻪ ﺑﺎﻟﻌﻨﺼﺮ ﻓﻲ اﻟﻤﻮﻗﻊ اﻟﺜﺎﻧﻲ وهﻜﺬا ﺗﺴﺘﻤﺮ اﻟﻌﻤﻠﻴﺔ ﻟﺤﻴﻦ اﻟﻮﺻﻮل اﻟﻰ ﻧﻬﺎﻳﺔ اﻟﻘﺎﺋﻤﺔ ‪.‬‬ ‫ﻣﺜﺎل ‪ -:‬رﺗﺐ ﻋﻨﺎﺻﺮ اﻟﻘﺎﺋﻤﺔ اﻟﺘﺎﻟﻴﺔ ﺑﺎﺳﺘﺨﺪام اﻟﺘﺮﺗﻴﺐ ﺑﺎﻻﺧﺘﻴﺎر‬ ‫‪66‬‬

‫‪5‬‬

‫‪17‬‬

‫‪3‬‬

‫‪93‬‬

‫‪41‬‬

‫‪11‬‬

‫‪54‬‬

‫‪43‬‬

-:‫ﺧﻄﻮات اﻟﺤﻞ‬ 8=N = ‫ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﻘﺎﺋﻤﺔ‬ (N/2)*( N-1) = ‫ﻣﻌﺪل ﻋﺪد اﻟﻤﻘﺎرﻧﺎت‬ (N-1) N-1 7 ‫اﻟﻤﺮﺣﻠﺔ‬

6 ‫اﻟﻤﺮﺣﻠﺔ‬

5 ‫اﻟﻤﺮﺣﻠﺔ‬

4 ‫اﻟﻤﺮﺣﻠﺔ‬

3 ‫اﻟﻤﺮﺣﻠﺔ‬

2 ‫اﻟﻤﺮﺣﻠﺔ‬

= ‫ﻣﻌﺪل ﻋﺪد اﻟﺘﺒﺪﻳﻼت‬ =‫ﻋﺪد ﻣﺮاﺣﻞ اﻟﺤﻞ‬

1 ‫اﻟﻤﺮﺣﻠﺔ‬

‫اﻟﻘﺎﺋﻤﺔ‬

5

5

5

5

5

5

5

66

11

11

11

11

11

11

66

5

17

17

17

17

17

66

17

17

41

41

41

41

66

17

93

93

43

43

43

66

93

93

41

41

54

54

66

93

41

41

11

11

66

66

93

54

54

54

54

54

93

93

54

43

43

43

43

43

Public sub Selectionsort(byref data(1 to n) as integer, byref n as integer) Dim I as integer:Dim j as integer:Dim k as integer:Dim x as integer:Dim y as integer For i= 1 to n-1 K=1 Item=data(i) For j=i+1 to n If data(j)
4

Related Documents

Lecture 19
June 2020 14
Lecture 19
November 2019 15
Lecture 19
May 2020 4
Lecture 19
April 2020 4
Lecture 19
May 2020 3
Lecture 19
December 2019 8