随笔分类 - 21.DStr
摘要:前/中/后缀表达式的转换(首先需要明白三者之间的转换) 自然表达式转换为前/中/后缀表达式,其实是很简单的。首先将自然表达式按照优先级顺序,构造出与表达式相对应的二叉树,然后对二叉树进行前/中/后缀遍历,即得到前/中/后缀表达式。 举例说明将自然表达式转换成二叉树: a×(b+c)-d ① 根据表达
阅读全文
摘要:由于多次插入排序,我们知道一次插入排序是稳定的,不会改变相同元素的相对顺序,但在不同的插入排序过程中,相同的元素可能在各自的插入排序中移动,最后其稳定性就会被打乱,所以shell排序是不稳定的。对于排序算法,所谓的不稳定指的就是相同元素在排序过程中被移动;
阅读全文
摘要:数据结构中的堆:堆实际上指的就是(满足堆性质的)优先队列的一种数据结构,第1个元素有最高的优先权。(严蔚敏的数据结构中介绍的堆是在堆排序中。把堆顶元素与最后一个元素替换,然后输出最后一个元素(即交换前的堆顶);然后调整堆。)堆性质:叶子节点小于(或大于)父亲节点,则为小(大)顶堆。数据结构中的堆可以
阅读全文
摘要:“二叉排序树,又称为二叉查找树。它或者是一颗空树,或者具有下列性质的二叉树。 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 它的左、右子树也分别为二叉排序树。 构造一颗二叉排序树的目的,其实并不是为了排序,而是为了提高
阅读全文
摘要:平衡二叉树 或者是一颗空树,或者它的左右子树都是平衡二叉树,且左子树和右子树的深度之差不超过1 。 BF(Balance Factor) 我们将二叉树上节点的左子树深度减去右子树深度的值成为平衡因子。那么平衡二叉树上所有节点的平衡因子只可能是-1,0,1.只要二叉树上有一个节点的平衡引子的绝对值大于
阅读全文
摘要:将两个按值有序序列合并成一个按值有序序列,则称之为二路归并排序,下面有自底向上和自顶向下的两种排序算法,自顶向下的排序在本文末讲述,使用递归实现,代码较简洁,经供参考。 1. 归并子算法:把位置相邻的两个按值有序序列合并成一个按值有序序列。例如把序列 X[s..u] = {3, 12, 23, 32
阅读全文
摘要:一、基本概念 每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。 性质: 1、非空二叉树的第n层上至多有2^(n-1)个元素。 2、深度为h的二叉树至多有2^h-1个结点。 满二叉树:所有终端都在同一层次,且非终端结点的度数为2。 在满二叉树中若其深度为h,则其所包含的结点数必为2^h-1。
阅读全文
摘要:向量:向量支持随机读取和更改 查找一般 末端删除快 随机删除慢,它是 “class”. 可作为顺序容器,类似数组,但大小可动态变化。与数组比较,它浪费存储空间,用起来麻烦 链表:只有头结点有名字,不支持随机读取和更改 查找慢 元素较多时删除时间大约是查找时间,适用于插入或删除频繁,存储空间需求不定的
阅读全文