数据结构与算法
文章平均质量分 80
mingyunduoshou
这个作者很懒,什么都没留下…
展开
-
二叉树
树与二叉树的区别 1.树中节点的最大度数没有限制,而二叉树树节点的最大度数为2。 2.无序树的节点无左右之分,而二叉树的节点有左右之分,次序不能颠倒,也就是说二叉树是有序数。 满二叉树和完全二叉树 满二叉树:一棵深度为k,且有2的(k)次方-1个节点的二叉树 特点:每一层上的结点数都是最大结点数。 完全二叉树的定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二原创 2012-07-07 17:33:18 · 1241 阅读 · 4 评论 -
把二元查找树转变成排序的双向链表
1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 首先我们定义的二元查找树节点的数据结构如下: struct BSTreeNode { int m_nVa原创 2012-07-08 16:08:33 · 511 阅读 · 0 评论 -
左旋字符串
Q 左旋转字符串 * 题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 * 如把字符串abcdef左旋转2位得到字符串cdefab。 * 请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。 C++实现: 解法一:不考虑时间和空间的限制。设移动的位数为k。则循环k次,每次移动1位。这样的空间复杂原创 2012-07-11 11:10:08 · 1082 阅读 · 0 评论