1樓:
//你的題意思沒說清楚,我想應該是求最短距離的路徑吧,如果不是求最短的話,會有無窮條,因為可以在那裡打圈圈的
//我暫且就按照最短路來做了,解題思路是先求一下所有的點到起點的最短路用e[i][j]表示,
//然後再求一下,終點到所有的點的最短路用s[i][j]表示。
//然後用深度搜尋去查詢,如果點(a,b)可以直接到(c,d),這一條路能構成最短路的條件是s[a][b]+s[c][d]=e[1][1]
#include
#include
#include
using namespace std;
const int max=5000000;
int maze[8][11]=,,,
,,,,
};int s[8][11],e[8][11];
struct q[1000];
const int dir[4][2]=,,,};//定義方向陣列
void bfs(int sx,int sy,int path[8][11])
if(maze[tx][ty]==1)
if(path[tx][ty]!=max)
path[tx][ty]=step;
r++;
q[r].x=tx;
q[r].y=ty;}}
}}bool used[8][11]=;
void dfs(int x,int y,int deep)
puts("");
}return ;
}int tx,ty;
for(i=0;i<4;i++)
if(maze[tx][ty]==1)continue;
if(used[tx][ty])continue;
used[tx][ty]=true;
q[deep].x=tx;
q[deep].y=ty;
dfs(tx,ty,deep+1);
used[tx][ty]=false;}}
int main()
puts("");
}bfs(1,1,s);
bfs(6,9,e);
dfs(1,1,0);
return 0;}
2樓:斂正雅
上網搜「a星尋路演算法」就有了吧。。。也應該是有原始碼的。
3樓:匿名使用者
**給你,但是你確定你這個迷宮有解嗎?好像沒有出來的路徑啊
#include
#include
#define m 8
#define n 11
struct mark //定義迷宮內點的座標型別
; struct element //"戀"棧元素,嘿嘿。。
; typedef struct lstack //鏈棧
*plstack;
/*************棧函式****************/
int initstack(plstack &s)//構造空棧
int stackempty(plstack s)//判斷棧是否為空
壓入新資料元素
棧頂元素出棧
else
return 0;
} /***************求迷宮路徑函式***********************/
void mazepath(struct mark start,struct mark end,int maze[m][n],int diradd[4][2])
while(s2)
return; //跳出兩層迴圈,本來用break,但發現出錯,exit又會結束程式,選用return還是不錯滴
} if(maze[a][b]==0) //找到可以前進的非出口的點
d++;
} }printf("沒有找到可以走出此迷宮的路徑\n");
} void main() ,,
,,,,
,};struct mark start,end; //start,end入口和出口的座標
int add[4][2]=,,,};//行增量和列增量 方向依次為東西南北 [/m]
//起點(1,1)
start.x=1;
start.y=1;
//終點(7,10)
end.x=7;
end.y=10;
mazepath(start,end,maze,add); //find path
system("pause");}
4樓:夢醒心晴
啊 迷宮用鍊表寫?不對吧 是用棧來寫的 當然也可以用鍊表來實現棧
誰會大學的資料結構?幫我們解下幾道題,急急急!
5樓:匿名使用者
教材應該有配習題解答吧。
6樓:稜感
你以為寫兩個容易嗎?就算去copy也不容易找得全啊?居然才給30分有十五題
7樓:睡睡龍兒
你這個工作量也太大了吧
8樓:
樓主 你牛比啊.乙個題目給30分到差不多.竟然15個.才30分。. ...挨 為了這30分累死不值
9樓:匿名使用者
全都是演算法設計題 。。。這也推。。
資料結構的應用??
10樓:迪倫少校
其實,資料結構中的演算法都是為實際應用服務的,你只需要把那些經典演算法(比如dijstra,floyed,克魯斯卡爾演算法等)的思想學會了,然後再自己慢慢的在實踐中掌握這些方法最好了,而且也不容易忘。先從最簡單的寫起,比如排序啦,找最優路徑啦之類的。至於你說的寫起來很枯燥,像你那樣做(乾巴巴的從書上抄**,那肯定很枯燥,寫**是為了體現一種思想,記住一句話:
「語言只是實現目標的工具,並非目標本身」)枯燥是必然的。不知道樓主用的什麼語言,只能泛泛的說下了,不詳之處希望指證。(ps:
建議樓主做個學生管理系統,我大一的時候用c做過那個,個人認為比較能檢驗演算法的掌握情況,共勉~!)
11樓:倒霉熊
我建議你,可以將書上的那些演算法,用實際的語言編寫實現一遍,不是抄**,因為,資料結構書上的一般都是類某種語言描述的,並不是實際語言實現的。你可以用實際語言來實現一下。
不知道你看的那本書,我舉乙個可能有的例子吧,例如棧的舉例演算法中 提到 迷宮求解,括號匹配等,一般的資料結構書上都不是完整的程式,你可以使用語言來完整的實現乙個程式,這樣能學到不少東西。
12樓:林夕沂蒙
http://train.usaco.org/ 到這裡面註冊個號,做題...很好的提煉機會
13樓:匿名使用者
城市公交車路線優化設計(要求每個站點都用到,而且要盡量保證公交路線短)
誰能幫我寫個今年春節的對聯啊,誰能幫我寫個今年春節的對聯啊
祖壽安康喜迎金鼠 孫貴捷報笑納銀倉 橫批 人財兩旺 注 祖壽安康喜迎金鼠 是說老奶奶七十大壽,高高興興迎接金鼠,暗含迎接小孫子的到來。孫貴捷報笑納銀倉 是說你考上了大學,捷報頻傳,家中生意不錯,高高興興地數錢。把你要求有的事情全含進去了。 上聯 風調雨順 下聯 國泰民安 橫批 年年如此 祝新年快樂 ...
誰可以幫我找一些東風日產車輛的資料啊
頤達,騏達,軒逸,天籟,驪威,俊逸 就這幾款車網上都有呀。也都很詳細的。你們業務員不培訓嗎?你們是哪家4s店?哪個城市?你們總經理叫什麼?如此簡單,但是有希望加份,專業車網!東風日產全部車型 東風日產所有車型介紹 x trail 奇駿。qashqai 逍客。livina 驪威 有三款車型,驪威勁悅版...
誰幫我看下我的電腦視訊記憶體是多少啊,誰幫我看下我的 電腦視訊記憶體是多少啊》》》》????
英偉達geforce 7025 是整合顯示卡 視訊記憶體是128m 基本不能玩大型遊戲。qq遊戲 一般2d 看電影也沒問題。你這個配置 你可以換乙個獨立顯示卡 電腦效能會好很多,推薦乙個型號 gt240 400rmb左右。你的電腦 顯示卡是集顯 沒有獨立的視訊記憶體 是共享你的記憶體的 從這上面看不...