算法
ooMelloo
☆人工智能/机器学习/深度学习工程师进击中
☆立志成为数学好编程好业务好的三好青年
☆人必有痴 而后有成
展开
-
浅谈算法(简单算法)
前言算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用时间复杂度与空间复杂度来衡量。 一、特征...原创 2019-01-31 14:09:56 · 649 阅读 · 0 评论 -
十大常用算法(C++版)
前言最近在研究一些经常用到的东西想把它们做一个汇总,想了想用到最多的应该是排序算法,所以对排序算法做了个总结,并自己用C++实现了一下。一、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次...原创 2019-01-31 14:38:19 · 10181 阅读 · 2 评论 -
C++经典面试题(基础算法版)
#添加头文件#include <assert.h>#include <string.h>#include <stack> 1.实现strcpy. char* MyStrCpy( char *pDest, const char *pSrc ) { if( nullptr == pDest || nullptr == pSrc...原创 2019-01-31 15:49:45 · 828 阅读 · 0 评论 -
算法时间复杂度和空间复杂度详解
1、算法的概念:算法 (Algorithm),是对特定问题求解步骤的一种描述。解决一个问题往往有不止一种方法,算法也是如此。那么解决特定问题的多个算法之间如何衡量它们的优劣呢?有如下的指标:2、衡量算法的指标:(1)时间复杂度:执行这个算法需要消耗多少时间。(2)空间复杂度:这个算法需要占用多少内存空间。 同一个问题可以用不同的算法解决,而一个算法的优劣将影响到算法乃至程...原创 2019-05-06 10:05:27 · 903 阅读 · 0 评论 -
算法与时间复杂度
通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。 算法执...原创 2019-04-30 16:50:01 · 625 阅读 · 0 评论