Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.