![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法研究
文章平均质量分 61
街角祝福
这个作者很懒,什么都没留下…
展开
-
算法一--三塔换位移形之路
问题描述:河内之塔 (Towers of Hanoi) 是法国人 M.Claus(Lucas) 于 1883 年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市; 1883 年法国数学家 Edouard Lucas 曾提及这个故事,据说创 世纪时 Benares 有一座波罗教塔,是由三支钻石棒( Pag )所支撑,开始时神在第一根棒上放置 64个由上至下依由小至大排列的金原创 2012-07-19 22:45:48 · 1606 阅读 · 0 评论 -
全排列的问题
什么是全排列:全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3, 4, 5}为例说明如何编写全排列的递归算法。算法具体说明,先用示例说明下(比较具体): 1、首先看最后两个数4, 5。 它们的全排列为4 5和5 4, 即以4开头的5的全排列和以5开头的4的全排列。由于一个数的全排列就是其本身,从而得到以上结果。2、再看后三转载 2012-10-21 23:49:12 · 677 阅读 · 0 评论 -
希尔排序
希尔排序(shellsort)又叫增量递减(diminishing increment)排序,是由D.L. Shell发明的,这个算法是通过一个逐渐减小的增量使一个数组逐渐趋近于有序从而达到排序的目的。假设有一个数组int data[16] = {...}。 首先将这个增量设为16 / 2 = 8, 这样就将这个数组分成了8个子数组,它们的索引是0, 8 1, 9 2, 10等等 。转载 2012-10-22 08:37:00 · 426 阅读 · 0 评论 -
数组循环左移
题:对于有n个元素的数组 int a[n]={....};写一个高效算法将数组内容循环左移m位比如: int a[6] ={1,2,3,4,5,6} ,循环左移3位得到结果{456123},要求:1不允许另外申请数组空间,但可以申请少许变量2不允许采用每次左移代码:#include void ReverArrayN(int a[],int n, int k)原创 2012-10-22 08:21:02 · 4014 阅读 · 0 评论 -
排序类
/************************************** *作者:IT05 HUST *mail:husterfisher@gmail.com *时间:2012-11 *说明:本类实现了一些常见的排序方法, * 每个方法有类内部使用的成员函数排序法, *同时还有静态成员函数排序法,内部的注释 *为内部版本,一般无参数 *********************原创 2012-11-07 13:36:55 · 487 阅读 · 0 评论 -
八皇后问题
问题描述:~省略实现算法:// EightQueen.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;//count为八个皇后int count = 8;//数组rst含义,下标代表行号,数组元素值为列号//存储的是八个皇后的位置(i,a[i])int rs原创 2012-11-12 21:13:57 · 820 阅读 · 0 评论 -
求素数
#include #include using namespace std;bool IsPrime(int n){ int i, j; if (n == 2) { return true; } else if (n < 2 || n%2==0) { return false; } else { j = (int)sqrt(n + 1); for原创 2013-04-01 10:40:02 · 704 阅读 · 0 评论 -
算法--兔子生兔子的问题(费氏数列)
#include int Fib( int n ){ // 说明// Fibonacci 为 1200 年代的欧洲数学家 , 在他的着作中曾经提到 : 「若有一只免子每个月生一只小 免 // 子 , 一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三 // 只免子,三个月后有五只免子(小免子投入生产) ...... 。 // 如果不太理解这个例子的话,举个图原创 2012-07-20 20:25:08 · 6604 阅读 · 0 评论