啊哈算法
文章平均质量分 64
ccDLlyy
不忘初心,方得始终
展开
-
单链表——模拟链表
//模拟链表//利用两个数组,一个存数据,一个存“地址”//此处,right[t]存的为下标为t的元素的下一个元素的下标,最后一个下表的right[t]为0#define MAXN 5int main(){ int data[MAXN]; int right[MAXN];//right[0]相当于独立表头 memset(right,0,sizeof(right))原创 2016-09-08 14:09:13 · 416 阅读 · 0 评论 -
啊哈算法BFS应用之解救小哈
#include #include #include struct node{//各个位置的坐标,距起点距离用结构体封装起来 int x; int y; int distance;};struct node queue[100];//队列实现BFSint head=0,tail=0;int map[51][51];//存图int book[51][51];/原创 2016-10-03 18:03:53 · 1993 阅读 · 0 评论 -
啊哈算法搜索应用之再解炸弹人(DFS与BFS)
//广搜#include #include #include struct node{//存此点的坐标,消灭敌人数 int x; int y; int sum;};struct node queue[20];//队列实现BFSint head=0;int tail=0;char map[21][21];//存图int book[21][21];//标记走原创 2016-10-04 15:10:43 · 1313 阅读 · 3 评论 -
啊哈算法搜索应用之宝岛探险(BFS和DFS)
//广搜#include #include #include struct node{ int x; int y;};struct node queue[100];//队列实现广搜int head=0;int tail=0;int map[51][51];//存图int book[51][51];//标记走过的点int n;//图的规模int startx,原创 2016-10-04 16:06:07 · 1879 阅读 · 0 评论 -
啊哈算法DFS应用之水管工游戏
//管子有六个状态,具体见啊哈算法#include #include #include struct node{ int x; int y;};struct node stack[100];//用栈存储路径int top=-1;int n;//图的规模int map[51][51];//存图int book[51][51];//标记走过的点void dfs(i原创 2016-10-04 17:28:33 · 1608 阅读 · 0 评论 -
啊哈算法DFS应用之解救小哈
#include #include int book[51][51];//标记走过的点int map[51][51];//存图int next[4][2]={{-1,0},{1,0},{0,-1},{0,1}};//存当前坐标要走的上下左右四个方向int n;//图的规模int locx,locy;//小哈位置 //假设小哼在(1,1)点int min=100000;//最短路径原创 2016-10-03 16:58:46 · 1433 阅读 · 0 评论 -
啊哈算法DFS应用之全排列
//输入一个数n(1<=n<=9),输出1~n的全排列#include #include int book[10];//标记排列中已有的数字int array[10];//排列int n;void dfs(int step){ if(step==n+1){ for(int i=1;i<=n;i++) printf("%d%c",arra原创 2016-10-03 15:45:41 · 1200 阅读 · 0 评论 -
栈和队列的实际应用:小猫钓鱼
#include #include #include struct queue{ int data[100]; int head; int tail;};struct stack{ int data[10]; int top;};int main(){ //两个队列用来存储小哈和小哼手中的牌 //栈用来存储桌面上的牌原创 2016-10-02 15:49:32 · 881 阅读 · 0 评论 -
队列的结构体封装实现(啊哈算法版,以解密QQ号为例)
#include #include struct queue{ int data[100]; int head; int tail;};int main(){ struct queue q; //队列初始化,head=tail=0 //tail总指向队列的下一个位置 q.head=0; q.tail=0; int n原创 2016-10-02 15:03:12 · 484 阅读 · 0 评论 -
排序之桶排序
桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。中文名桶排原创 2016-09-04 23:49:32 · 998 阅读 · 0 评论 -
DFS与BFS
从这几天通过啊哈算法,遇到的搜索中,大致总结出这几点规律:对于DFS:可有第一个点先确定的,做一下标记,以第一个为基础进行搜索;也可有从第一个点就没确定的,先去找第一个点,如1,2,3的全排列 还有一个问题,有的深搜,不用把标记过的元素再取消标记,这样的大多适用于不是去穷尽所有路径,而是看看哪些点能到达的,如,再解炸弹人(实原创 2016-10-05 23:01:43 · 2041 阅读 · 0 评论