摘要:
综上,得出结论: 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法常见排序算法的稳定性 收藏 排序算法的稳定性:若待排序的序列中,存在多个具有相同关键字的记录,经过排序, 这些记录的相对次序保持不变,则称该算法是稳定的;若经排序后,记录的相对 次序发生了改变,则称该算法是不稳定的。 稳定性的好处:排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外,如果排序算法稳定,可以避免多 阅读全文
摘要:
二叉树的遍历 1 /* ******************************************************************* 2 created: 2005/12/30 3 created: 30:12:2005 10:39 4 filename: bintree.h 5 author: Liu Qi 6 purpose: 二叉树的3种遍历方式(包括非递归实现),前序,后序和中序,先访问根节点就是 7 前序(部分书籍称为先根遍历,个人觉得该说法更好^_^),类似的,最后访问根节点就是后序 8 ********************************** 阅读全文
摘要:
1.二叉树的基本概念 (二叉树建立的flash演示) 定义:二叉树是 n ( n ≥0)个元素的有限集,若 n =0,则称这棵二叉树是棵空二叉树;当 n > 0时,二叉树中存在唯一的称作根结点的元素root,且每个结点至多只有二棵子树,二棵子树有左右之分,其次序不能任意颠倒。 由于二叉树中每个结点具有其左右子树的次序不能任意颠倒这一特性,一棵包含三个结点的二叉树具有五种基本形态 ,如图11.4所示。图11.4 包含三个结点的二叉树的基本形态2.二叉树的性质 二叉树有几个非常重要的特性。具体如下: 性质 1 在一棵非空的二叉树的第 i 层上至多有2 i -1 个结点( i ≥1)。 利用归 阅读全文