数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

数据结构考研分类复习真题 第五章 答案[30]


发布日期:2018年07月14日
 
数据结构考研分类复习真题 第五章 答案[30]

[题目分析]从n个数中取出所有k个数的所有组合设数已存于数组A[n]中为使结果唯一可以分别求出包括A[n]和不包括A[n]的所有组合即包括A[n]时求出从A[n]中取出k个元素的所有组合不包括A[n]时求出从A[n]中取出k个元素的所有组合

CONST n=k=

TYPE ARR=ARRAY[n] OF integer

VAR ABARR// A中存放n个自然数B中存放输出结果

PROC outresult//输出结果

FOR j= TO k DO write(B[j])writeln

ENDP

PROC nkcombination(ijkinteger)

//从i个数中连续取出k个数的所有组合i个数已存入数组A中j为结果数组B中的下标

IF k= THEN outresult

ELSE IF(ik≥)THEN [ B[j]:=A[i]j:=j+

nkcombination(ikj)

nkcombination(ikj]

ENDP

[算法讨论]本算法调用时i是数的个数(题目中的n)k≤ij是结果数组的下标按题中例子用nkcombination()调用若想按正序输出可将条件表达式ik≥改为i+k≤n其中n是数的个数i初始调用时为两个调用语句中的i均改为i+

[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []

               

上一篇:数据结构考研分类复习真题 第五章 答案[31]

下一篇:数据结构考研分类复习真题 第五章 答案[29]