算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。下面我就分享一个C语言中比较基础却极为重要的一个算法 计算Fibonacci数列。 计算Fibonacci数列又称斐波那锲数列,又称黄金分割数列,指的是这样一个数列:1 ...
分类:
编程语言 时间:
2021-06-16 18:23:23
阅读次数:
0
Java中的经典算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后 ...
分类:
编程语言 时间:
2021-06-16 18:12:33
阅读次数:
0
微信搜索??「程序员小熊」,关注这个写干货的程序员,回复「算法」或「python」,即可获取经典算法或 python 电子书籍~ ...
分类:
其他好文 时间:
2021-04-20 14:42:03
阅读次数:
0
本系列采用turtle、matplotlib、numpy这三个Python工具,以分形与计算机图像处理的经典算法为实例,通过程序和图像,来帮助读者一步步掌握Python绘图和数据可视化的方法和技巧,并且让读者感受到“ 龙枝屈曲竞分形,瑰丽绮错千万状”的分形魅力。 中国传统中的『分形』 『分』是会意字 ...
分类:
编程语言 时间:
2021-03-15 11:06:57
阅读次数:
0
有向带权图的单源最短路径经典算法是dijkstra,下面就对算法的过程和代码实现进行记录 算法过程: 1、数据结构:图的带权邻接矩阵G.Edge[u][i],如果u到i有边则G.Edge[u][i]等于<u,i>边的权值;否则G.Edge[u][i]等于∞。 一维数组dist[i]记录从起始点到i节 ...
分类:
编程语言 时间:
2021-01-26 11:52:33
阅读次数:
0
题目描述 关于上面的指令,说明如下: move a onto b: a 和 b 都是木块号码,在把堆放在木块 a 和 b 上的所有木块归位到它们的初始位置后,再把木块 a 放到木块 b 上。 move a over b: a 和 b 都是木块号码,在把堆放在木块 a 上的所有木块归位到它们的初始位置 ...
分类:
其他好文 时间:
2021-01-02 11:14:16
阅读次数:
0
Local Outlier Factor(LOF)是基于密度的经典算法(Breuning et. al. 2000), 文章发表于 SIGMOD 2000, 到目前已经有 3000+ 的引用。在 LOF 之前的异常检测算法大多是基于统计方法的,或者是借用了一些聚类算法用于异常点的识别(比如 ,DBS ...
分类:
编程语言 时间:
2021-01-01 12:03:07
阅读次数:
0
来自LeetCode-24 这道题我们需要使用三个指针,除了指向相邻的两个元素外,还需要指向相邻两个元素的前一个元素 在开头设置好pre和pre.next,然后执行循环,把a,b挑出来,然后把next指针进行调换,即把a-b换成b-a,同时更新pre指针 首先看到最后 return self.nex ...
分类:
编程语言 时间:
2020-12-31 12:12:38
阅读次数:
0
前言 快速幂是什么? 顾名思义,快速幂就是快速算底数的n次幂。 有多快? 其时间复杂度为 O(log?n), 与朴素的O(n)相比效率有了极大的提高。 用的多么? 快速幂属于数论的范畴,本是ACM经典算法,但现在各厂对算法的要求越来越高,并且快速幂适用场景也比较低多并且相比朴素方法有了非常大的提高。 ...
分类:
编程语言 时间:
2020-10-30 11:52:25
阅读次数:
19
算法题中有一种题型叫做模拟过程,这种算法题在面试中出现的频率非常之高,因为比较简单,代码量一般而言并不算长。因其并没有一套比较固定的框架,也能考验候选人的编程思维。当遇到一道算法题,发现其并不具备其他经典算法的特征时,可以尝试模拟过程的方向进行求解 方法 一般这种题目分为以下几个步骤进行求解:为什么 ...
分类:
其他好文 时间:
2020-09-17 15:53:36
阅读次数:
19