
算法
文章平均质量分 81
梦花火
服务端爱好者,个人博客地址http://justsolitude.com/
展开
-
C++实现大数运算 加法部分。
由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。大数运算主要有加、减、乘三种方法。所以我就打算做一个大数运算的项目。其中每个数字,是动态分配的字符串的形式进行存储和计算的。下面是每个数的类的组成class Bigint {public: Bigint() {} Bigi原创 2017-08-08 19:14:36 · 930 阅读 · 0 评论 -
多项式及其计算
昨天加上今天 想把之前学过的链表进行复习一遍 就花了一个下午加一个晚上的时间,把多项式及其计算做一下,然而让人遗憾的是 我一直想用string 来创建一个多项式 结果发现不行 ==Polynomial.h#includeusing namespace std;struct Term //多项式的节点定义{ double coef; //系数 int exp; //指原创 2017-07-28 19:46:42 · 861 阅读 · 0 评论 -
用三重指针实现HaffTree
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。原创 2017-07-13 15:42:38 · 627 阅读 · 0 评论 -
判断单向链表是否回文
要求 : 时间复杂度O(n) 空间复杂度O(1);原创 2017-07-14 19:00:21 · 306 阅读 · 0 评论 -
LintCode周算法总结
实现赋值运算符重载函数,确保:新的数据可准确地被复制旧的数据可准确地删除/释放可进行 A = B = C 赋值class Solution {public: char *m_pData; Solution() { this->m_pData = NULL; } Solution(char *pData)原创 2017-07-25 17:11:24 · 296 阅读 · 0 评论 -
从基本排序算法看时间复杂度
在介绍时间复杂度分析方法前,我们首先来明确下算法的运行时间究竟取决于什么。直观地想,一个算法的运行时间也就是执行所有程序语句的耗时总和。然而在实际的分析中,我们并不需要考虑所有程序语句的运行时间,我们应该做的是集中注意力于最耗时的部分,也就是执行频率最高而且最耗时的操作。也就是说,在对一个程序的时间复杂度进行分析前,我们要先确定这个程序中哪些语句的原创 2018-03-30 16:38:43 · 416 阅读 · 0 评论