算法
长着翅膀的乌龟
it从业者,爱好者。
展开
-
最大字段和
最大字段和#include <stdio.h>#include <stdlib.h>int max(int a,int b, int c){ int m; if(a<b) m=b; else m=a; if(m>c) return m; el...原创 2019-08-09 08:05:12 · 358 阅读 · 0 评论 -
最大递增子序列 动态规划
分析eg:a[] 1,4,8,2,0,6,3,10,43,65,2,8,3,2,7,10定义b[]存储每个位置最大的子序列a[] 1,4,8,2,0,6,3,10,43,65,2,8,3,2,7,10b[] 4 2 3 3 2 1可以看到倒数第三个和倒数第四个的最大递增子序列都是3,倒数第四个...原创 2019-08-09 08:06:36 · 159 阅读 · 0 评论 -
找路径使其和最大
题目描述课å__ä¹ é¢_13.jpg代码#include <stdio.h>#include <stdlib.h>int a[6][7]={16,4,3,12,6,0,3,4,-5,6,7,0,0,2,6,0,-1,-2,3,6,8,5,3,4,0,0,-2,7,-1,7,4,0,7,-5,6,0,-1,3,4,12,4,2}; //存储...原创 2019-08-09 08:09:17 · 235 阅读 · 0 评论 -
二叉树的创建和哈夫曼编码
二叉树的创建#include <stdio.h>#include <stdlib.h>typedef struct node{int data;struct node *left;struct node *right;}node;node *creattree() //先序创建{node *root=(node *)malloc(sizeof(node...原创 2019-08-09 08:10:42 · 392 阅读 · 0 评论 -
回溯法 八皇后问题
问题描述要在8*8的国际象棋中放八个皇后,使任意两个皇后不能相互吃掉,在同一行,同一列,同一对角线会相互吃掉,求所有的可能。回溯法思想我们可以先在第一行找出相应的位置,然后再在下一行找符合条件的位置,当我们找到一种解决方法是便将结果输出,继续回溯寻找。代码#include<stdlib.h>#include<stdio.h>int a[100];int ou...原创 2019-08-09 08:11:25 · 207 阅读 · 0 评论 -
回溯法 0-1背包问题
题目给定n个重量为w1w1,w2w2,w3w3,…,wnwn,价值为v1v1,v2v2,v3v3,…,vnvn的物品和容量为CC的背包,求这个物品中一个最有价值的子集,使得在满足背包的容量的前提下,包内的总价值最大。分析这个题目可以使用回溯法,回溯法即是当我们得到一个序列时回到上一步的状态,比如有n个物品,我们可以抽象成一棵满二叉树,向左表示将物品装入包中,向右表示不装入包中...原创 2019-08-09 08:12:44 · 665 阅读 · 0 评论 -
堆的创建
二叉堆的定义堆通常由大根堆和小根堆,大根堆表示父节点大于字节点,小根堆相反eg:小根堆 1 2 34 5 6 78 9[点击并拖拽以移动]可以看出堆屎一个完全二叉树,我们通常使用数组进行存储,还有一些特点父节点是自己左孩子的二倍,是自己有孩子的二倍加1,可以表示为K=2k和K=2k+1,叶子节点有n/2个。堆的调整如果我们要调整一个大根堆,可以将根...原创 2019-08-09 08:13:23 · 200 阅读 · 0 评论 -
C链表的基本操作
链表的基本操作1.输入内容2.在指定的位置之前插入节点3.在指定的位置之后插入节点4.删除节点5.翻转节点 (没有实现)#include<stdio.h>#include<stdlib.h>typedef struct link{ struct node *start; struct node *end; ...原创 2019-09-09 20:23:55 · 249 阅读 · 0 评论 -
快速排序
快速排序思想:每个循环都可以确定一个数字的位置,使用递归的方法进行排序。代码:#include <stdio.h>#include <stdlib.h>int a[]={2,1,3,57,3,5,8,3,2,6,9,2,0,5};int kuaipai(int start,int end){ if(start>end)...原创 2019-08-09 08:04:08 · 89 阅读 · 0 评论 -
数塔
数塔分析: 1 5 9 5 8 3 4 6 7 82 5 7 9 3变换为使用而数组进行存储:15 95 8 34 6 7 82 ...原创 2019-08-09 08:03:19 · 160 阅读 · 0 评论 -
C栈和队列的基本操作
#include<stdio.h>#include<stdlib.h>typedef struct stack{ struct node *base; struct node *top; int stacklen;}stack;typedef struct node{ int data; ...原创 2019-09-09 21:01:20 · 239 阅读 · 0 评论