优化动态分配内存的变量 除了使用非最优算法外,乱用动态分配内存的变量就是C++程序中最大的性能杀手。C++中的一些特性使用标准库容器、智能指针和字符串等动态分配内存的变量。这些特性可以提高C++程序的编写效率。但是,也有副作用:当发生性能问题时,new就不再是你的好朋友了。 C++变量回顾 每个C+ ...
分类:
其他好文 时间:
2020-05-21 19:48:51
阅读次数:
49
算法的时间复杂度:用O()表示,执行次数=时间,随着输入规模n增大,T(n)增长最慢的算法为最优算法。如何计算时间复杂度:用常数1取代运行时间中的所有加法常数在修改后的运行次数函数中,只保留最高阶项如果最高阶项存在且不是1,则去除与这个项相乘的常数得到的最后结果就是O阶 int i,n=100,su ...
分类:
编程语言 时间:
2020-03-14 16:25:03
阅读次数:
96
[toc] 注:dp可能并不是求解该这些问题的最优算法,这里只是做一个dp 算法的简介。 概念 定义:假设现有一个 string = 最长连续子串:要求在原序列中连续,比如 str = 、`fghijklm`都是valid substring 最长连续子序列:相对顺序在原序列中不变即可;比如 str ...
分类:
其他好文 时间:
2020-02-02 23:19:38
阅读次数:
89
KNN分类算法:一个样本i与距离样本i最近的k个样本归属于同一类,如果k个样本属于不同的分类,则样本i属于k个中大多数样本所属的那一类 ①距离的定义:分为两种 第一种距离 L1:曼哈顿距离 第二种距离 L2:欧氏距离 ②K:k=1时,退化为最邻近算法;应存在一个k使得算法整体最优 ③算法过程: st ...
分类:
编程语言 时间:
2020-01-20 23:09:34
阅读次数:
153
算法复杂性: 算法运行时所需要的计算机资源的量。 <1>时间复杂性,<2>空间复杂性 穷举法的基本思想: 对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试为止。 分治法的基本思想: 将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同;对这k个子问题分别求解 ...
分类:
编程语言 时间:
2020-01-06 00:14:09
阅读次数:
91
朋友跟我分享的某大厂面试题: 两个坐标点之间的距离小于或大于某个值。最简单的算法,勾股定理,distance = (x1-x2)的平方 + (y1-y2)的平方,最后开根号。还有没有效率更高的算法啊?百度没找到答案,我写下自己的,如果大家有好的想法,记得给我留言啊啊啊~~ 我的算法思想是:先求出弧度 ...
分类:
编程语言 时间:
2019-11-08 09:25:45
阅读次数:
106
转自百度百科:https://baike.baidu.com/item/启发式算法/938987?fr=aladdin 启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。 启发式算法一般针对NP-hard问题:https:// ...
分类:
编程语言 时间:
2019-10-16 17:45:23
阅读次数:
88
时间复杂度 O() 读作:bigO 分析最优算法 排序: 选择排序 插入排序 冒泡排序 归并排序 论对数器的重要性!! 比OJ更稳定 二分法(不一定要有序,只要在特定条件下) ...
分类:
编程语言 时间:
2019-05-04 09:17:02
阅读次数:
118
caffe solver通过协调网络前向推理和反向梯度传播来进行模型优化,并通过权重参数更新来改善网络损失求解最优算法,而solver学习的任务被划分为:监督优化和参数更新,生成损失并计算梯度。caffe solver是caffe中的核心,它定义着整个模型如何运转,不管是命令行方式还是pycaffe ...
分类:
其他好文 时间:
2019-02-22 21:31:59
阅读次数:
807
简单来说,时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间。 一般情况下,随着n的增大,T(n)增长最慢的算法为最优算法。 1.对于简单的输入输出语句或赋值语句(无循环语句),近似认为需要 O(1)。一般来说,只要算法中不存在循环语句,其时间复杂度就是 O(1)。 2.对于顺序结构, ...
分类:
其他好文 时间:
2018-11-25 20:29:40
阅读次数:
209