算法
Will的大食堂
关注公众号『Will的大食堂』,分享各种技术学习笔记和心得,品味技术人生,一个理想主义的精神食堂。主要涉及无线通信,射频,半导体,软件开发,数据分析等,后台回复"芝麻开门"进群一起交流学习。
展开
-
如何掌握动态规划算法的套路?
动态规划(Dynamic Programming),简称DP,这个名字给人的感觉是一种非常高大上非常复杂的算法,很多同学看到这个名字可能就会望而却步,在面试的时候也非常害怕被问到动态规划的题目。实际上,它并不是不是一种确定的算法,它是一种最优化的方法求解问题的思想或方法。它是由美国数学家贝尔曼(Bellman)在研究多阶段决策过程的优化问题时提出。不过,与之对应的还有一些与时间无关的静态规划,如:线性规划、非线性规划等。在运筹学中,动态规划是的非常重要的内容,在各个行业领域都有着广泛的应用。我们如何理解动态原创 2020-12-17 21:14:06 · 232 阅读 · 0 评论 -
算法时间复杂度分析:大O表示法
在开发的时候,我们如何评估一个算法的好坏,如何描述一个算法运行效率的高低呢?通俗一点的表达方法就是程序执行快或慢,但是这只是一种较为宽泛的描述,我们如何直观科学的用的描述它呢?有同学可能会说,用其运行时间不就可以很好很直观的描述它了。不过,不同的语言,不同的编译器,不同的CPU来说,对程序的处理的时间是不同的,我们无法单单用运行时间来描述某个算法执行效率。另外,当需要处理的数据增长时,算法的基本操作要重复执行的次数也会增长,对于不同的算法的增长的速度也不一样。数学果然是个不错的工具,为了描述算法的运行时原创 2020-11-29 21:04:20 · 2381 阅读 · 0 评论 -
看了就会的大整数乘法运算与分治算法
在数据加密处理中有很多复杂的加密算法,这些加密算法往往会用到很多超大的整数运算。不过,程序设计语言对数据的大小会有一定的限制,数据太大就会出现数据溢出的情况,这是无法进行大整型数据运算的。本文将和大家一起学习如何实现大整数的数据运算,本文代码我们使用C++实现。普通乘数运算对于乘数运算有一种比较简单较为容易理解的方法,我们可以利用小学时期学的列竖式的计算方法进行乘法运算。参考上图中的列竖式计算方法,我们进行代码实现。#include <iostream>#include <st原创 2020-11-14 11:51:03 · 377 阅读 · 0 评论 -
m^n实现,利用递归的方法
利用递归的算法求m^n,函数如下long m_nFun(int m, int n){ if(n == 0) return 1; if(n == 1) return m; return m * m_nFun(m, n-1);}原创 2013-03-30 00:44:45 · 1146 阅读 · 0 评论 -
char *的十六进制字符串转化成long
十六进制的string转换成longlong m_nFun(int m, int n){ if(n == 0) return 1; if(n == 1) return m; return m * m_nFun(m, n-1);}long stringToLong(char *str){ long i=0; long Num=0; long temp=0;原创 2013-03-30 01:05:41 · 820 阅读 · 0 评论 -
10进制转2进制(递归)
注意:byref原创 2016-01-11 00:06:57 · 574 阅读 · 0 评论 -
VBS实现遍历某目录下的所有文件(包含子目录)
本例使用递归的方法,实现遍历某一目录下及所有子文件夹里的所有文件。Set ObjWS = WScript.CreateObject("wscript.shell")currentDir=ObjWS.CurrentDirectorySet ObjFSO = CreateObject("Scripting.FileSystemObject") Dim filesTreefilesT...原创 2018-08-31 16:28:05 · 5511 阅读 · 0 评论 -
递归(Recursion Algorithm)
几个递归算法实例:VBS实现遍历某目录下的所有文件(包含子目录)m^n实现,利用递归的方法原创 2018-09-02 23:27:16 · 214 阅读 · 0 评论