算法研究之—冒泡排序

原理:n个元素的数组:第一轮从头开始两两比较,如果前一个大于(或小于)后一个,则交换,然后比较下一个,直到最大的数(或最小的数)移到末尾。第二轮重复第一轮操作,比较的数目为比上轮少1(因为已经定位到1个最大值);继续比较直到比较的数据为0;

冒泡排序实现:
[crayon-5befb7d9f[……]

Read more

算法研究之—希尔排序

原理:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。由于希尔排序是对相隔若干距离的数据进行直接插入排序,因此可以形象的称希尔排序为“跳着插”[……]

Read more

算法研究之—插入排序

插入排序原理:插入排序的工作方式像许多人排序一手扑克牌.开始时,我们的左手为空并且桌子上的牌面向下.然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置.为了找到一张牌的正确位置,我们从右向左将它与已在手中的每张牌进行比较,拿在左手中的牌总是排序好的. 

INSERTION-SORT 伪[……]

Read more