Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bubble sort (LList,n) not_sorted  true; while not_sorted do not_sorted  false; cur  LList.first; while cur.next  NIL do if cur.data> cur.next.data.

Similar presentations


Presentation on theme: "Bubble sort (LList,n) not_sorted  true; while not_sorted do not_sorted  false; cur  LList.first; while cur.next  NIL do if cur.data> cur.next.data."— Presentation transcript:

1 Bubble sort (LList,n) not_sorted  true; while not_sorted do not_sorted  false; cur  LList.first; while cur.next  NIL do if cur.data> cur.next.data then swap(cur.data,cur.next.data); not_sorted  true; cur  cur.next;

2 Bubble sort (LList,n) 1.for i=1 to n-1 do 2.cur  LList.first; 3.for j=1 to n-i do 4. if cur.data> cur.next.data then 5. swap (cur.data, cur.next.data); 6.cur  cur.next; Invariant 1:  j<n, l  j, after j iterations of the for -loop at line 3, (j+1)-st el  l-th Proof by induction on j: Base: j=0 trivial; j=1 obvious. IH: suppose true for j–1: j-th el is max in [1..j] IS: after the next iteration of 3-5, (j+1) is the max Invariant 2:  i<n, after i iterations of the for -loop at line 1, the last i el’s are “in place” Proof: by induction using Inv.1 Corollary: When i=n-1 all elements are “in place” (sorted)

3 Insertion Sort for i= 2 to n do j  i; while j>1 AND A[j-1]>A[j] do swap( A[j], A[j-1] ) j  j-1 Invariant: at the end of each for-loop iteration the first i elements are in the sorted order


Download ppt "Bubble sort (LList,n) not_sorted  true; while not_sorted do not_sorted  false; cur  LList.first; while cur.next  NIL do if cur.data> cur.next.data."

Similar presentations


Ads by Google