
数据结构和算法
飞老虎
这个作者很懒,什么都没留下…
展开
-
冒泡排序和局部冒泡排序
冒泡排序(Buble Sort)作为一种简单的排序算法,比较容易理解,所以初学算法时候对冒泡排序理解清楚对于以后学习更加复杂的算法会有不小的帮助,所以学习一下冒泡排序还是非常有必要的. 冒泡排序大致想法就是:从第一个开始比较相邻两个元素的值,如果它们的顺序不符合要求就换过来.直到最后一个元素,将最大或者最小的元素沉底.原创 2015-09-15 15:04:59 · 2825 阅读 · 71 评论 -
直接插入排序
上回书说道了冒泡排序以及局部冒泡排序,现在呢我们来谈一谈直接插入排序。 【基本思想】 每一趟将一个待排序的数字,按照其关键之大小,插入到已有序序列的适当位置,知道所有数字都已经插入完毕。 设有一个数组a[0...n-1],大致分为以下三步: 1.初始时刻认为啊a[0]有序,无序区为a[1...n-1] 2.将a[i]插入到有序区a[0...i-1],形成有序区a[0...i] 3.i++,重复以上步骤,知道i=n-1原创 2015-10-03 10:02:36 · 1038 阅读 · 26 评论 -
树、二叉树
数据结构绕不开的就是树,为什么呢?因为这个树,太大了! 树 言归正传,我们来谈谈数据结构中的树(Tree),树的定义是这样的: 树是n(n≥0)个结点的有限集合,一棵树满足一下两个条件: (1)当n=0时,称为空树; (2)当n>0时,有且仅有一个称为根的结点,除根节点外,其余结点分为m(m≥0)个互不相交的集合T1,T2,原创 2015-09-23 19:28:25 · 1016 阅读 · 30 评论 -
希尔排序
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。 以n=10的一个数组49, 38, 65, 97, 26, 13原创 2015-10-31 19:16:45 · 701 阅读 · 7 评论