随笔分类 -  数据结构与算法分析

二叉树性质及遍历
摘要:一、二叉树的定义 树的每个结点至多只有二棵子树(不存在度大于2的结点),树的子树有左右之分,次序不能颠倒。二、二叉树的性质(1) 在非空二叉树中,第i层的结点总数不超过, i>=1;(2) 深度为h的二叉树最多有个结点(h>=1),最少有h个结点;(3) 对于任意一棵二叉树,如果其叶结点数为N0,... 阅读全文

posted @ 2015-08-02 14:11 冰雨纷飞 阅读(307) 评论(0) 推荐(0)

4.二叉搜索树转为有序双向链表(递归算法与非递归算法)
摘要:一、题目 要求输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建新的节点,只能调整树中结点指针的指向。 二叉树结点定义如下:1 struct BinaryTreeNode2 {3 int m_nValue;4 BinaryTreeNode *m... 阅读全文

posted @ 2015-03-31 15:59 冰雨纷飞 阅读(1990) 评论(2) 推荐(0)

3.异常安全的赋值运算符重载
摘要:一、题目 如下为类型CMyString,请为该类型添加赋值运算符函数。 1 class CMyString 2 { 3 public: 4 CMyString(char* pData) 5 { 6 m_pData = new char[strlen(pData) +... 阅读全文

posted @ 2015-03-21 13:54 冰雨纷飞 阅读(552) 评论(0) 推荐(0)

2.二叉树的镜像
摘要:一、题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像。二、算法及实现1.算法 一个二叉树的镜像,他的左子树是原二叉树的右子树,而他的右子树是原二叉树的左子树,而他的子树也是如此。那么,为了得到二叉树的镜像,我们可以把二叉树的左右子树交换,对于其子树,也是如此。该算法用递归实现最符合要求。... 阅读全文

posted @ 2015-03-19 11:11 冰雨纷飞 阅读(181) 评论(0) 推荐(0)

1.合并两个有序的链表
摘要:一、题目 合并两个有序的链表并使新链表也是有序排列。二、算法实现 1 ListNode* Merge(ListNode* pHead1, ListNode* pHead2) 2 { 3 if (pHead1 == NULL) 4 return pHead2; 5 e... 阅读全文

posted @ 2015-03-16 00:50 冰雨纷飞 阅读(257) 评论(0) 推荐(0)

导航