首页 day5搜索1-谢志锋

day5搜索1-谢志锋

举报
开通vip

day5搜索1-谢志锋泰州市第二中学附属初中谢志锋搜索1搜索算法是利用计算机的高性能来有目的地穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。搜索算法栈a1a2aiai+1an栈栈规定所有的插入或删除操作只能在线性表的一端进行,这样的线性表称为栈(stack)。栈是一种特殊的线性表,对它的插入和删除都限制在表的同一端进行。栈的定义栈的特征:栈中数据元素的进出是后进先出。(LIFO,LastInFirstOut)栈的基本操作:进栈(PUSH...

day5搜索1-谢志锋
泰州市第二中学附属初中谢志锋搜索1搜索算法是利用计算机的高性能来有目的地穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。搜索算法栈a1a2aiai+1an栈栈规定所有的插入或删除操作只能在线性 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的一端进行,这样的线性表称为栈(stack)。栈是一种特殊的线性表,对它的插入和删除都限制在表的同一端进行。栈的定义栈的特征:栈中数据元素的进出是后进先出。(LIFO,LastInFirstOut)栈的基本操作:进栈(PUSH)退栈(POP)栈底栈顶a5进栈退栈top栈的模型栈的操作栈3,2,4,5,1进,进,进,出,出,进,出,进,出,出CAB1,2,3,4,53,2,4,5,1栈设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,f,e,c,a,则栈S的容量至少应该是()。A.6B.5C.4D.3C栈有六个元素FEDCBA从左至右依次顺序进栈,在进栈过程中会有元素被弹出栈。问下列哪一个不可能是合法的出栈序列?A)EDCFABB)DECABFC)CDFEBAD)BCDAEFC栈顺序存储-用数组方式实现typestype=array[1..n]ofdatatype;varstack:stype;top:integer;使用一维数组stack作为栈的存储结构n是栈的最大容量,即栈中最多可存放的元素;top是栈指针,stack[top]是栈顶元素;栈的存储⑴栈初始化操作⑵进栈操作⑶退栈操作Top:=0;Top:=top+1;Stack[top]:=x;X:=Stack[top];Top:=top-1;topa3a2a1X栈的操作(4)判断栈是否为空 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 functionsempty(top:datatype):boolean;beginsempty:=(top=0);end;ifnotsempty(top)thenbeginX=Stack[top];Top=top-1;End;栈的操作(5)判断栈满函数Functionsfull(top:datatype):boolean;beginsfull:=(top=n);end;ifnotsfull(top)thenbeginTop=top+1;Stack[top]=x;End;栈的操作(6)读栈操作ifnotsempty(top)thenbeginX=Stack[top];end;栈的操作*基本思想:从初始状态S开始,利用规则生成搜索树下一层任一个结点,检查是否出现目标状态G,若未出现,以此状态利用规则生成再下一层任一个结点,再检查是否为目标节点G,若未出现,继续以上操作过程,一直进行到叶节点(即不能再生成新状态节点),当它仍不是目标状态G时,回溯到上一层结果,取另一可能扩展搜索的分支,生成新状态节点。若仍不是目标状态,就按该分支一直扩展到叶节点,若仍不是目标,采用相同的回溯办法回退到上层节点,扩展可能的分支生成新状态,…,一直进行下去,直到找到目标状态G为止。深度优先搜索深度优先搜索生成树12345递归框架Procedurerbacktrace(depth);BeginIf当前局部是候选解且符合要求Then输出ElseBeginFor所有的选择iDoIf当前局部解合理ThenBegin记录状态变化;rbacktrace(depth+1);恢复状态变化;EndEndEnd;回溯框架构造一个初始当前局部解;While回溯没到头DoIf当前局部解合理ThenIf当前局部解是一个候选解ThenIf当前候选解满足要求ThenBegin输出该候选解;调整当前候选解产生一个新的局部解(可能回溯);EndElse调整当前候选解产生一个新的局部解(可能回溯);Else扩展当前局部解产生一个新的局部解;Else调整当前局部解产生一个新局部解(可能回溯);*队列(queue)是一种特殊的线性表,它的所有的插入都在队列的一端进行,所有的删除在队列的另一端进行。遵循先进先出(FirstInFirstOut,FIFO)的原则。a1a2a3…………an队首队尾frontrear入队出队队列队首:可以删除的一端队首指针front:指向实际队首元素的前一个位置初始状态:front=1队尾:可以插入的一端*a1a2a3…………an队首队尾frontrear入队出队队列队尾指针rear:指向实际队尾元素初始状态:rear=1出队:从队头删除一个元素入队:将一个元素插入队尾*a1a2a3…………an队首队尾frontrear入队出队队列*存储结构:线性表(数组),如q     q:array[1..m]oflongint;     (m为队列元素的上限)初始化:front:=1;rear:=1;入队:rear:=rear+1;q[rear]:=x;出队:front:=front+1;判断是否为空:iffront=rearthenEmpty:=true;队列*  用队列存储数据需要定义数组,往往会耗费大量内存。有时队首和队尾指针都位于队列后方,而队列前方因元素出队空出大量闲置无用的空间。  为了充分利用空余空间,可以使用循环队列:当指针指到队列元素上限时,下一个指针指向1,实现队列的循环使用。front:=front+1→front:=frontmodm+1rear:=rear+1→rear:=rearmodm+1队列宽度优先搜索①从结点v开始,给v标上已到达(或访问)标记——此时称结点v还没有被检测,而当算法访问了邻接于某结点的所有结点时,称该结点被检测了。②访问邻接于v且尚未被访问的所有结点——这些结点是新的未被检测的结点。将这些结点依次放置到一未检测结点表(队列Q)中(末端插入)。③标记v已被检测。④若未检测结点表为空,则算法终止;否则⑤从未检测结点表的表头取一结点作为下一个待检测结点,重复上述过程。宽度优先搜索宽度优先搜索ProcedureBFS;Beginf:=1;r:=2;s[1]:=起始顶点;标记起始顶点;Repeatcur:=s[f];Forcur的所有邻接顶点vDoBeginIfv未标记ThenBegins[r]:=v;Inc(r);标记v;Ifv是目标顶点ThenPrint;End;End;Inc(f);Until(f=r);End;宽度优先搜索生成树12453BFS:使用队列保存未被检测的结点。结点按照宽度优先的次序被访问和进、出队列。DFS:使用栈保存未被检测的结点,结点按照深度优先的次序被访问并依次被压入栈中,并以相反的次序出栈进行新的检测。12345678无向图GBFS:12345678DFS:12485637搜索算法搜索算法应用例1、铁达尼克号遇险了。它发出了求救信号。距离最近的哥伦比亚号收到了讯息。时间就是生命,必须尽快赶到那里。通过侦测,哥伦比亚要获取了一张海洋图这张海洋图上划分成了n*n个比较小的单位,用1表示陆地用0表示海洋船只能从一个格子移到相邻的4个格子里。为了尽快赶到出事地点,哥伦比亚号最少要走多少距离。问题输入:第一行:一个数n,1<=n<=1000;以下的n行为一个0,1矩阵,表示海洋地图;最后一行为4个小于n的整数表示哥伦比亚号和铁达尼克号的坐标。问题输出:哥伦比亚号到铁达尼克号的最短距离。输入样例:30010011001133输出样例:4搜索算法应用*123456789 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 :典型的走迷宫问题,只是题目要求的不是找到所有路径,而是找到一条最短路径。  将样例中的9个点作为顶点,如果两个点能到达就作一条边,建立下图:  我们的任务就是搜索这张图,找到从起点(1)到终点(9)的最短路径。  搜索算法应用*  我们的任务就是搜索这张图,找到从起点(1)到终点(9)的最短路径。  搜索算法应用例2.棋盘有n个棋子被放置在n*n的棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子。求 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 总数。问题输入:输入仅有一行,包含一个整数n,表示棋盘的大小,1<=n<=8。问题输出:输出只有一行,包含一个整数,表示方案的总数。注意:当答案长度多于4位时,请只输出最后4位,前导0不输出。输入样例:8输出样例:92搜索算法应用例3.农民约翰的牛终于乘着他们的奶牛飞船发射升空,现在它们正在太空中飞行。它们想到它们位于木星的卫星Io上亲戚那去,但是他们必须第一次飞越危险的小行星群。Bessie正驾驶飞船通过NxN(1<=N<=1,000)的危险区域。小行星群由许多1x1的方块组成(同一区域的方块与邻近的方块有相同的边)。请帮助Bessie计算通过的区域中有多少小行星群。搜索算法应用下面是一个10x10的区域。每个'*'表示一个小行星,每个'.'表示空的区域。...**........11......*.........2..............*.........3......*..*......3..3.....*****.....33333......*.........3..........***.......444....*..***....5..444........*...*......4...6..*.........7........我们容易发现有7个小行星群在这个区域。搜索算法应用输入样例:10...**......*..............*......*..*.....*****......*..........***....*..***........*...*..*.......输出样例:7搜索算法应用例4.前一天晚上,整个农场刚经受过一场瓢泼大雨的洗礼,于是不难想见,FJ现在面对的是一大片泥泞的土地。FJ的屋子在平面坐标(0,0)的位置,奶牛贝茜所在的牛棚则位于坐标(X,Y)(-500<=X<=500;-500<=Y<=500)处。当然咯,FJ也看到了地上的所有N(1<=N<=10,000)个泥塘,第i个泥塘的坐标为(A_i,B_i)(-500<=A_i<=500;-500<=B_i<=500)。每个泥塘都只占据了它所在的那个格子。搜索算法应用FarmerJohn自然不愿意弄脏他新买的靴子,但他同时想尽快到达贝茜所在的位置。为了数那些讨厌的泥塘,他已经耽搁了一些时间了。如果FarmerJohn只能平行于坐标轴移动,并且只在x、y均为整数的坐标处转弯,那么他从屋子门口出发,最少要走多少路才能到贝茜所在的牛棚呢?你可以认为从FJ的屋子到牛棚总是存在至少一条不经过任何泥塘的路径。问题输入:第1行:3个用空格隔开的整数:X,Y和N;第2..N+1行:第i+1行为2个用空格隔开的整数:A_i和B_i。搜索算法应用问题输出:输出只包含1个整数,即FJ在不踏进泥塘的情况下,到达贝茜所在牛棚所需要走过的最小距离。输入样例:12702-13311142-1122输出样例:11搜索算法应用例5.有两个没有刻度的杯子,其容量是V1和V2,另有一无限容量的水缸,里面有无限多水。我们可以用水缸中的水将杯子装满,也可以将杯子中的水全部倒入水缸,或者将水从一个杯子倒入另一个杯子中(必须倒光或者另一个杯子满为止),现请你找出一个方案,使得杯子1或杯子2或杯子1+杯子2中的水正好等于V3。开始时默认两个杯子均为满的。搜索算法应用问题输入:仅三个整数V1、V2和V3,其中V1和V2小于2^7,V3小于2^8。问题输出:仅一个整数,表示最少需要执行多少次操作。若无法完成,则输出-1。输入样例:354输出样例:6搜索算法应用搜索算法 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 应用谢谢大家
本文档为【day5搜索1-谢志锋】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:ppt
大小:823KB
软件:PowerPoint
页数:42
分类:其他高等教育
上传时间:2022-05-11
浏览量:2