算法
文章平均质量分 81
LCYong_
这个作者很懒,什么都没留下…
展开
-
python回朔算法解八皇后问题
八皇后问题的解题思路:棋盘的皇后,判断下一行之前放在棋盘上的皇后不在同行同列同对角线的点,如果存在与其同行同列同对角线,回溯到上一行,再次取值然后寻找合适的点。总共有92种解法,这里举例一种def place(x, k): #判断是否冲突 for i in range(1, k): #x[i] == x[k]判断是否为同一行原创 2016-11-23 22:30:09 · 2560 阅读 · 1 评论 -
动态规划 数塔问题
代码如下:#include "stdio.h"#define N 50int a[N][N][3];int n;void operate(){ int i,j; for (i = n-1; i >=1 ; i--) for(j=1;j<=i;j++) if (a[i+1][j][2]>a[i+1][j+1][2]) a[i][j][2]+=a[i+1][j原创 2016-11-24 22:47:49 · 665 阅读 · 0 评论 -
分治法-----归并排序(C语言描述)
归并排序的基本思想:将两个及其以上的有序表合并为一张有序表,把待排序序列通过分治法分为若干个有序子序列,然后每两个子序列合并为一个子序列,经过多次合并后整合为一张有序表。排序过程如图:代码如下:#include "stdio.h"#define MAX 100int is1[MAX],is2[MAX];//原数组is1,临时空间数组is2voi原创 2016-11-25 15:16:02 · 9945 阅读 · 0 评论 -
枚举法----狱吏问题(C语言描述)
问题描述:某王国对囚犯进行大赦,让一狱吏n次通过一排锁着的n间牢房,每通过一次按所定规则转动门锁,每转动一次,原来锁着的被打开,原来打开的被锁上;通过n次后,门锁开着的,牢房中的犯人放出,否则犯人不得获释.转动门锁的规则是这样的,第一次通过牢房,要转动每一把门锁,即把全部锁打开;第二次通过牢房时,从第二间开始转动,每隔一间转动一次;第k次通过牢房,从第k间开始转动,每隔k-1 间转动一次;原创 2016-11-25 19:04:35 · 4433 阅读 · 1 评论 -
大数阶乘
问题描述: N!=1*2*3*4*5*........*N代码如下:#include "stdio.h"#define MAX 1000int main(){ int n; scanf("%d",&n); int i,j; int a[MAX]; //估算存数运算结果的位数 int p,h; //p存储当前结果的原创 2016-11-25 20:08:11 · 319 阅读 · 0 评论 -
分治法---折半查找(python描述)
折半查找是一种高速有效的查找算法,要求输入的元素必须有序;代码如下:def binsearch(R,key): height=len(R)#上界设置为取得待排序序列长度 low=1#下届设置为1 mid=int((low+height)/2)#中间值 while(low<height): if key==R[mid]:原创 2016-11-25 19:25:38 · 2170 阅读 · 1 评论 -
java 实现进程调度
import java.util.LinkedList; class PCB{ public int id; //进程ID public int pri; //进程优先级 public int cput;原创 2016-11-27 20:33:55 · 5527 阅读 · 2 评论