- 博客(7)
- 资源 (12)
- 收藏
- 关注
原创 平衡二叉树的基本操作
一、平衡二叉树的定义平衡二叉树又称AVL树(AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在1962年的论文 "An algorithm for the organization of information"中发表了它。),它是二叉查找树的一种变体,除了满足二叉查找树的性质之外还要满足如下性质:①根节点的左子树深度和右子树的
2016-03-25 08:55:54 3516 2
原创 二叉树查找树的基本操作
一、什么是二叉查找树:顾名思义,一棵二叉查找树是以一棵树的形式组织起来的,如图一所示。其可以使用一个链表数据结构来表示,其中每个节点就是就是一个对象。除了包含数据域之外还包含属性lchild、rchild、parent,分别指向左孩子、右孩子、父节点。如果某个孩子节点和双亲节点不存在,则相应属性的值NULL。二叉查找树的性质为:设x为树中的任意一节点。如果y是左子树中的节点那么x.
2016-03-21 10:21:12 13701
原创 赫夫曼树的构建、编码、译码解析
当你开始看这篇博文的时候,我相信你对树及二叉树的基本概念已有所了解,我在这里就不再赘述。我们主要对赫夫曼树的特点、构建、编码、译码做一个详细的介绍,并附有代码,所有函数代码都通过了测试,我不保证所有代码是最优的(毕竟是我一个人苦思冥想出来的,我相信在大家的集思广益之下还有优化的空间),但我保证所有代码是正确的。一、赫夫曼树的特点赫夫曼树又称作最优二叉树,是一类带权路径长度最短的
2016-03-16 08:45:37 8613 4
原创 c/c++字符串操作函数源码解析
这些天一直在看有关字符串函数操作方面的资料,现在整理如下,欢迎各位批评指正!一、字符串操作主要包含以下几个方面:1、字符串拷贝函数;2、字符串拼接;3、字符串比较;4、将目标串前n个字符置为其它字符;5、颠倒字符串顺序;6、将所有小写字符转换为大写字符;7、将所有大写字符转换为小写字符;8、查找
2016-03-14 17:29:25 1109
原创 求解两个字符串的最长公共子串
一、前言求解两个字符串的最长公共子串(Longest Common Substring, LCS)与求解两个字符串的最长公共子序列(Longest Common Subsequence, LCS)是不一样的,求解最长公共子序列问题请参阅我的另一篇博客http://blog.csdn.net/heart_love/article/details/50804301假定给出两个字符串X=
2016-03-08 10:19:29 1055
原创 使用动态规划解决最长公共子序列问题
一、定义:给定两个序列X和Y,如果Z既是X的子序列也是Y的子序列,那么我们称Z是X和Y的公共子序列。例如:X={a,b,c,e,d,g,f},Y={b,e,f,g},那么Z={b}、Z={b,e}、Z={b,e,f}都是X和Y的公共子序列,其中Z={b,e,f}是X和Y的最长公共子序列。求解X和Y的最长公共子序列就是LCS问题。最长公共子序列不唯一,但是其长度是唯一的。二、定理:令X=
2016-03-04 17:27:35 7789
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人