摘要: 智能指针 智能指针是当我们在使用对象时,有时会把对象的内存分配在堆上忘记释放,导致内存泄露,并且当多个指针共享同一个对象的内存时,容易出现重复释放内存,导致错误。 我们针对所需要共享的对象,手动完成一个智能指针类来代替该类别的指针,自动帮我们释放内存,共享内存。以一个共享Object类的对象数据来说 阅读全文
posted @ 2017-07-24 10:23 fariver 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 1 解题要点 回溯法是利用递归来求解便利一棵多叉树,其本质是深度优先搜索,通常求解的答案为树的所有叶子结点,但我们需要根据题目的要求边剪枝边遍历。 1.1 何时用回溯法求解问题 当题目中要求所有解,并且问题规模N不是很大,可以考虑使用回溯法。 1.2 常规解题步骤 以 "permutation" 为 阅读全文
posted @ 2017-07-23 12:16 fariver 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 1 基础巩固 链表的最基础的知识需要掌握 头插法、尾插法 及 查找中间结点。有了这些最基本操作,才能应对更复杂的题目。 1.1 尾插法 1.2 头插法 1.3 发现中间结点 2 解题技巧 2.1 DummyNode 所谓DummyNode其实就是带头结点的指针,使用DummyNode的好处时,当我们 阅读全文
posted @ 2017-07-18 09:17 fariver 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 1 pip install 最简单直接的方法,通过pip install安装,命令如下: 首先,需要安装 "本地用户本地的python" ,这样pip install后会安装到用户本地目录。 但是,如果系统的环境不稳定,会出现很多细节问题。如下: 1.1 安装中遇到的问题 错误1) Could no 阅读全文
posted @ 2017-07-15 21:55 fariver 阅读(1277) 评论(0) 推荐(0) 编辑
摘要: 1 docker的安装 首先普及一下基本概念:docker是一个系统镜像管理器,可以使用docker pull来下载网上已经打包好的特定环境的系统,这种系统称为image,将image拉下来之后,使用docker run进行运行,运行的系统实例称为容器(container)。因为docker可以封装 阅读全文
posted @ 2017-07-15 21:34 fariver 阅读(694) 评论(0) 推荐(0) 编辑
摘要: markdown入门总结 标题 在标题前加入 即可,根据 的个数分别为1~6级标题 列表 无序列表 在文字前加 即可 有序列表 在文字前加数字1.2.3. 注意符号与列表内容之间有一个空格符 引用 引用文本前加入 这是引用 图片 | Tables| Are| Cool| | |: :| :| | c 阅读全文
posted @ 2017-07-15 11:18 fariver 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1 解题要点 动态归划是用来优化递归重复计算缺点的,其中主要思想是用空间换时间,即手动设置一张表格,自底向上将表格填满,从而能够将递归O(2^n)时间复杂度优化到O(n^2)或者其它幂函数级别。 1.1 何时知道该使用动态归划解决问题呢? 1) 当题目中所求解决问题为以下三种类型时,常常可以用动规解 阅读全文
posted @ 2017-07-13 10:19 fariver 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 1 二叉树与分治递归 几乎所有的二叉树问题都可以通过分治解决,包括二叉树的遍历、二叉树中求最大分支长度、最大深度任意两个结点间的最大距离,搜索二叉树,平衡二叉树 等等,只要题目中没有严格的时间性能的要求,使用递归的方法时都可以优先考虑分治递归的方法,除了二叉树的层序遍历以外。但然很多题目虽然也可以用 阅读全文
posted @ 2017-07-12 10:19 fariver 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 1.设置word 2010,添加cnblogs帐户 配置参考链接 其中URL地址为:http://rpc.cnblogs.com/metaweblog/fariver,在cnblogs配置的最下方可以查到。 用word来发布的好处是编辑的时候是什么样,网页显示就是什么样,而且word比较容易操作,并且易保存。 2.插入代码 插入代码比较麻烦: ... 阅读全文
posted @ 2017-07-11 19:22 fariver 阅读(269) 评论(0) 推荐(0) 编辑
摘要: C++ STL vector 如何彻底清空一个vector? 实践证明,vector.clear()并不能把vector容量清空,只会让vector.size()变为零,依然很占内存。那如何让vector的capacity变为0呢? 虽说set迭代器不能加减常数,但提供了.begin(),.end( 阅读全文
posted @ 2017-07-08 11:25 fariver 阅读(865) 评论(0) 推荐(0) 编辑