基本搜索算法之深度搜索

基本搜索算法之深度搜索


2024年5月11日发(作者:安卓手机如何打开 caj文件)

基本搜索算法之深度搜索

从一个简单题目开始。

例1.输出n个元素的无重复的全排列。(1<=n<=9)

在这里我们可以对每一个元素编号,形成1,2,…,8,9个数字的全排列。我们用一个一维

数组来处理,相当于有9个位置,每个位置可以放1到9,再进行重复性判断,即在每个位

置放一个数字时判断它前面是否已经使用该数字。通过数组中元素值的变化,产生全排列。

下面给出非递归例程,其中,变量k是表示位置指针,数组x用来装每个位置的值。

const n=5;

var

x:array[1..10] of integer;

k:integer; {位置指针}

function try:boolean; {判重函数}

var i:integer;

begin

for i:=1 to k-1 do

if x[i]=x[k] then

begin try:=false;exit;end;

try:=true;

end;

procedure out; {输出过程}

var i:integer;

begin

for i:=1 to n do

write(x[i]);

writeln;

end;

begin


发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715384069a2609917.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信