算法与数据结构
likang315
这个作者很懒,什么都没留下…
展开
-
简单排序,以及快排
直接插入排序: 直接插入排序法 #include<stdio.h> #include<stdlib.h> void insertSort(int a[],int n) { int i=1, j, x; while (i - n) { x = a[i]; for (j = i - 1; j > -1 && a...原创 2018-08-15 20:18:19 · 580 阅读 · 0 评论 -
HalfmanTree(哈夫曼树)
有一下两种你实现方式,下面将大家列举1://链式创建HalfmanTree树,一般未知创建几个结点(装箱问题)#include<stdio.h>#include<stdlib.h>//halfman树结点类型typedef struct node { char word; int weight; struct node *left, *right;}...原创 2018-09-15 21:14:39 · 988 阅读 · 0 评论 -
八皇后的非递归问题
//八皇后问题/*八皇后是一个 8*8 64个方块 要求:1:每一行只能放一个放一个皇后 2:每一列只能放一个皇后 3:左斜线(15),右斜线(15)上只能有一个皇后,并且放够8个皇后 算法:声明三个数组和一个栈,三个数组分别对应列,左斜线和右斜线,每行遍历一回,判断列,左右斜线是否有皇后,若无,则放, 若有,则,下一列,直到栈满...原创 2018-09-15 22:39:44 · 754 阅读 · 0 评论 -
皇后问题,递归所有解
// 八皇后的递归实现// 八皇后的递归实现#include<stdio.h>#include<stdlib.h>#define N 8 //列 //判断此列是否存在皇后。若有,则为1;没有,则为0int col[N] = { 0 };//判断皇后所在的右对角线是否存在皇后。若有,则为1;没有,则为0//在右对角线N-1+i-jint ri...原创 2018-09-15 23:15:12 · 519 阅读 · 0 评论 -
迷宫问题,C语言解决
迷宫问题递归求解问题描述:有一个7*8的网格,要求求出最短路径算法:第一种解:给最外层加层墙,让他都有四个方向,然后判断有路并且未走过,就走 递归,有值返回,根据值判断是否调用...原创 2018-09-17 15:20:18 · 593 阅读 · 0 评论 -
马踏棋盘问题
问题描述:8*8的棋盘,刚开始让马在棋盘的任意一个位置上,让马踏日,(有八个方向),判断没踏过并且可踏,就踏,直到踏完所有的格子(cnt==64),调用print函数,然后cnt--,回溯法 输出,再回溯到上一个格子,一直到所有解输出完毕。 #include<stdio.h>int m[8][8] = { 0 };int cnt = 1;//用来累...原创 2018-09-17 22:26:27 · 2083 阅读 · 0 评论 -
C语言实现分治法
有一个大小为n的数组序列,求该序列子序列的和值最大?我用了大约三种方法实现,逐渐减少时间复杂度,分别用不同的命名 方式来区分他们,顺便打印了那个子区间的和值最大,maxSum_1:用数组的方式实现三次遍历,求出所有子序列的和值,并且比较大小,求出最大子序列值maxSum_2:用另一个数组来存储从下标0开始的所有和值,然后操作次此序列,用减的方式,来算出所有和值,并且比较大小然后,改变区...原创 2018-09-22 23:14:10 · 3628 阅读 · 0 评论