![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经典算法
观月执白
春秋诗礼号儒身
封剑无为求道真
三世菩提修罗命
江湖观月执白人
展开
-
斐波那契数列
斐波那契数列又译为黄金分割数列。最经典的问题就是兔子问题。第一个月初有一对刚诞生的兔子第二个月之后(第三个月初)它们可以生育每月每对可生育的兔子会诞生下一对新兔子兔子永不死去假设在n月有兔子总共a对,n+1月总共有b对。在n+2月必定总共有a+b对。1,1,2,3,5,8,13,21,……开普勒发现数列前、后两项之比1/2 ,2/3 , 3/5 ,5原创 2017-07-03 17:18:23 · 904 阅读 · 0 评论 -
匹配算法
字符串的定位操作通常称为串的模式匹配。模式匹配的应用很常见的函数模式一般是:int index(const string &Tag, const string &Ptn, int pos)其中,Tag是主字符串,Ptn是子字符串,如果在主串Tag的第pos个位置后存在与子字符串Ptn相同的子串,返回它在主串第pos个字符后第一次出现的位置,否则返回-1。原创 2017-07-12 16:25:49 · 2570 阅读 · 0 评论 -
汉诺塔问题
汉诺塔是根据一个传说形成的数学问题:有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。问:如何移?最少要移动多少次?#include using nam原创 2017-07-13 00:32:14 · 363 阅读 · 0 评论 -
字符串逆序
输入一个字符串,将其倒序排列之后再输出,例如输入abc,输出cba。#include #includeusing namespace std;char* reverse(char *s)//倒序排列,用指针交换数据{ char t, *p = s, *q = (s + (strlen(s) - 1)); while (s && (p < q)) { t = *p;原创 2017-07-20 17:57:51 · 582 阅读 · 0 评论 -
插入排序
插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:1、从第一个元素开始,该元素可以认为已经被排序2、取出下一个元素,在已经排序的元素序列中从后向前扫描3、如果该元素(已排序)大于原创 2017-07-13 12:45:52 · 181 阅读 · 0 评论 -
冒泡排序
冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。原创 2017-07-13 11:03:30 · 235 阅读 · 0 评论 -
快速排序
快速排序(Quicksort),又称划分交换排序(partition-exchange sort)。在平均状况下,排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide原创 2017-07-13 20:01:33 · 204 阅读 · 0 评论 -
约瑟夫环
约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。有{\displaystyle n}个囚犯站成一个圆圈,准备处决。首先从一个人开始,越过(m-1)个人,并杀掉第m个人。接着,再越过m-1个人,并杀掉第m个人。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。问题是,给定了{\disp原创 2017-09-16 01:34:47 · 302 阅读 · 0 评论 -
深度遍历和广度遍历
在数据机构中经常需要对树型存储结构遍历,在python中不像C++需要操作很多指针:class Node(object): def __init__(self,elem = -1, lChild = None, rChild = None): self.elem = elem self.lChild = lChild self.rChil原创 2017-12-02 02:10:52 · 393 阅读 · 0 评论