2013年10月17日
摘要: 二叉查找树:或者是一棵空树或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;(1)查找 步骤: 若根结点的关键字值等于查找的关键字,成功。 否则,若小于根结点的关键字值,递归查左子树。若大于根结点的关键字值,递归查右子树。若子树为空,查找不成功。(2)插入 与次优二叉树相对,二叉排序树是一种动态树表。其特点是:树的结构通常不是一次生成的,而是在查找过程中,当树中不存在关键字等于给定值的节点时再进行插入。新插入的结点一定是一个新添加的叶子节点... 阅读全文
posted @ 2013-10-17 21:53 i_m_J辉 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:void InsertSort(Nodetype p[],int length){ int i,j;//分别为有序区和无序区指针 for(i=1;i=1)//直到增量缩小为1 { Shell(p,d); d=d/2;//缩小增量 }}void Shell(Nodetype p[],int d){ int i,j; in... 阅读全文
posted @ 2013-10-17 20:22 i_m_J辉 阅读(1364) 评论(0) 推荐(0) 编辑