03 2017 档案

摘要:遍历模板 其实这个问题想清楚了很简单,只要把这三个概念理解透彻就可以做出来了,比如前序遍历的第一个值一定是根节点,然后这个根节点对应到中序遍历里面,在中序遍历的这个值的两边的值,一定在以此节点为根节点的两个子树上,同理,后序遍历也一样。 已知前序遍历和后序遍历是不能求唯一的中序遍历树的。 线索二叉树 阅读全文
posted @ 2017-03-26 00:28 PhiliAI 阅读(911) 评论(0) 推荐(0)
摘要:C与C++中空指针的区别 在C里面,由于处处都要使用指针,所以导致NULL遍布各地。我们先来看C99是怎么定义NULL的: NULL can be defined as any null pointer constant. Thus existing code can retain definiti 阅读全文
posted @ 2017-03-21 15:35 PhiliAI 阅读(27363) 评论(1) 推荐(1)
摘要:重载new和delete 首先借用C++ Primer 5e的一个例子: 这其实进行了以下三步操作: new表达式调用一个名为operator new(或者operator new[])的标准函数,分配一块足够大的,原始的,未命名的内存空间来存储特定的类型或者对象的数组。 编译器运行相应的构造函数以 阅读全文
posted @ 2017-03-17 18:26 PhiliAI 阅读(4461) 评论(0) 推荐(0)
摘要:复制数据的快速方法std::copy C++复制数据各种方法大家都会,很多时候我们都会用到std::copy这个STL函数,这个效率确实很不错,比我们一个一个元素复制或者用迭代器复制都来的要快很多。 比如,我写了一段下面的代码,复制100000000数据量,std::copy的性能要比前两个性能要好 阅读全文
posted @ 2017-03-15 17:53 PhiliAI 阅读(5662) 评论(0) 推荐(1)
摘要:比二分更快的方法 如果要求一个高次方程的根,我们可以用二分法来做,这是最基础的方法了。但是有没有更好更快的方法呢? 我们先来考察一个方程f(x)的在点a的泰勒展开,展开到一阶就可以了(假设f(x)在点a可以泰勒展开,也就是泰勒展开的那个余项在n趋于无穷时趋于0) f(x) -> f(a) + (x 阅读全文
posted @ 2017-03-12 22:00 PhiliAI 阅读(3694) 评论(0) 推荐(0)
摘要:一道Matlab编程题 & 暴力解法 Matlab课上老师出了这样一道题: 一个篮子有K个鸡蛋: 2个2个拿剩1个; 3个3个全部拿完; 4个4个拿剩1; 5个5个拿剩4个; 6个6个拿剩3个; 7个7个拿全部拿完; 8个8个拿剩1个; 9个9个拿全部拿完; 求篮子里鸡蛋的个数K 虽然这是一道mat 阅读全文
posted @ 2017-03-10 00:56 PhiliAI 阅读(3075) 评论(0) 推荐(0)