
代码备份
文章平均质量分 88
xunmengpiaoyun
这个作者很懒,什么都没留下…
展开
-
实现pow(double x, int n)
整理来源: http://bbs.youkuaiyun.com/topics/390511135(由于0^0有争议,在这儿取0^0=0)// 依次乘以n次x的值得到最终结果double Power1(double x, int n) // 循环乘以n,特殊情况,考虑n的正负{ if (x == 0 || x == 1) // 如果x为0或者转载 2013-11-08 15:16:46 · 1905 阅读 · 0 评论 -
树的父指针表示与Union/Find算法实现
用树的类合并两个节点所在的子树#include using namespace std;//类ParTreeNode描述了树的结点定义templateclass ParTreeNode //树结点定义{private: T value; //结点的值转载 2013-12-15 16:07:34 · 2133 阅读 · 0 评论 -
双标记层次次序构建树
利用带双标记层次次序信息,来构造左孩子右兄弟方式表示的树。#include #include using namespace std;const int N = 10; // 结点数量template class Tree; //声明树类// 带“双标记”的次序结点类template class DualTa转载 2013-12-15 10:43:37 · 2451 阅读 · 0 评论 -
双标记位先根次序构建树
#include #include //#include "TreeNode.h"using namespace std;const int N 10 //结点数量template class Tree; //声明树类// 带“双标记”的先根次序 结点类template class DualTagTreeNode {转载 2013-12-15 10:29:48 · 2496 阅读 · 0 评论 -
二叉树类和DFS,BFS
#include #include #include using namespace std;// 二叉树节点类template class BiTreeNode{public: BiTreeNode *leftChild; // 左子树指针 BiTreeNode *rightChild; // 右子树指针 T data;转载 2013-11-30 12:10:31 · 2209 阅读 · 0 评论 -
二叉树之哈弗曼树
实现哈弗曼编码1. MinHeap.h/**************** MinHeap.h **********************/#include using namespace std;#define FALSE 0#define TRUE 1template class MinHeap //最小堆类定义转载 2013-12-07 17:45:03 · 937 阅读 · 0 评论 -
二叉树 最小堆
堆的最小堆化,插入,删除/**************** 算法5.12 堆的类定义和筛选法 **********************/#include using namespace std;#define FALSE 0#define TRUE 1template class MinHeap //最小堆类定义{p转载 2013-12-07 11:41:45 · 974 阅读 · 0 评论 -
二叉搜索树
二叉搜索树:继承与二叉树。注意:类的提前声明,设置友元类访问私有数据#include #include #include using namespace std;template class BinarySearchTree; // 类的提前声明template class BinaryTree; // 类的提前声明template class Bina转载 2013-12-05 16:47:20 · 790 阅读 · 0 评论 -
递归转非递归学习二:求斐波那契数列F(N)的值
上《数据结构》的网络课程学习了递归转非递归的机械式转换的方法之后,先练习写了N的阶乘方法转非递归(模拟栈)的代码,然后试着将斐波那契数列求F(N)的值的过程(模拟栈)转化为非递归:#include #include using namespace std;// (1). 设置工作栈中元素的结构体struct Datatype{ int n; // 当前原创 2013-11-28 18:06:30 · 1991 阅读 · 0 评论 -
递归转非递归学习一:N的阶乘
之前上《数据结构》的网络课程学习了递归转非递归的机械式转换的方法主要步骤,然后自己尝试从最简单的N的阶乘转非递归入手:原创 2013-11-28 16:04:13 · 2139 阅读 · 0 评论 -
汉诺塔,逆波兰表达式,苹果放置递归实现
1. 汉诺塔问题: 问题描述:有三个柱子A,B,C,现在需要将柱子A上面n个由小到大放置的盘子移到柱子C上,移动规则是:每次只能移动一个盘子,盘子放置只能是大盘子在下面,小盘子在上面。// n带表盘子的数目,// fromPeg是n盘子最初所在的柱子// auxPeg是中间用于借助移动的柱子// toPeg是最终n盘子需要全部放上去的柱子void Tower(int n, c转载 2013-11-28 15:24:44 · 743 阅读 · 0 评论 -
递归转非递归学习三:汉诺塔问题
在学习了递归转非递归的机械式转换的方法之后,先练习写了N的阶乘方法转非递归(模拟栈)的代码,然后练习将斐波那契数列求F(N)转非递归(模拟栈),最后在写汉诺塔问题转非递归过程中花了更多一些时间,中途因为没有保存调用递归之前的一组局部变量,导致一直没有得到正确答案。#include #include using namespace std;// (1). 设置一个工作栈struct原创 2013-11-29 10:50:27 · 1740 阅读 · 0 评论 -
树类的定义和遍历
实现树类的定义,结点的增删,以及先根,后根,层序周游遍历#include #include using namespace std;template class Tree; //声明树类template class TreeNode {friend class Tree;private: T m_Value;转载 2013-12-15 11:10:32 · 1379 阅读 · 0 评论