摘要: 一. 定义, 性质 二叉查找树(Binary Search Tree),也称二叉搜索树、有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值; 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意节点的左、... 阅读全文
posted @ 2015-01-13 14:32 Roy_Mustango 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 一. 霍夫曼编码和霍夫曼树 霍夫曼编码: 霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。 霍夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶... 阅读全文
posted @ 2015-01-13 13:43 Roy_Mustango 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 一. 堆排序堆排序是利用最大堆的性质进行的选择排序. 堆排序具有如下特点:1) 时间复杂度O(nlogn)2) 原址排序(就地排序): 在排序时把原序列分为堆区和非堆区两个区域, 堆区在前. 每次从堆区弹出一个元素并和非堆区的第一个元素交换, 直至堆区消失.3) 不稳定排序堆排序很简单, 所需的操作... 阅读全文
posted @ 2015-01-13 09:01 Roy_Mustango 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 一. 二叉堆的性质 堆是一种具有堆序性的完全二叉树. 作为一种完全二叉树, (假定空树的高度是-1)它的高度是floor(logN), 高度为h的结点有2^h到2^(h+1) - 1个, 父节点的下标为floor(i/2), 左孩子的下标为2i, 右孩子的下标为2i+1 而所谓堆序性就是(以最小堆为... 阅读全文
posted @ 2015-01-12 09:07 Roy_Mustango 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 1. Creating an array instance Arrays are reference types, regardless of the type of their elements. This means that an array variable refers to a contiguous block of memory holding the array eleme... 阅读全文
posted @ 2014-12-14 20:37 Roy_Mustango 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 1. Reference Type VS Value TypeMost primitive types such as int, float, double, char…(NOT string) are value types.When you declare a value type variab... 阅读全文
posted @ 2014-12-09 19:18 Roy_Mustango 阅读(203) 评论(0) 推荐(1) 编辑