栈式分支限界法将活结点表以后进先出(LIFO)的方式存储于一个栈中.试设计一个解0-1背包问题的栈式分支限界法,并说明栈式分支限界法与回溯法的区别.
A.实现函数或过程的递归调用及返回处理时
B. 将一个元素序列进行逆置
C. 链表结点的申请和释放
D. 可执行程序的装入和卸载
栈是一种按“后进先出”原则进行插入和删除操作的数据结构,因此,(60)必须用栈。
A.实现函数或过程的递归调用及返回处理时
B.将一个元素序列进行逆置
C.链表结点的申请和释放
D.可执行程序的装入和卸载
● 栈是一种按“后进先出”原则进行插入和删除操作的数据结构,因此, (9) 必须用栈。
(9)
A. 函数或过程进行递归调用及返回处理
B. 将一个元素序列进行逆置
C. 链表结点的申请和释放
D.可执行程序的装入和卸载
阅读以下说明和流程图(如图1所示),回答问题1至问题4。
【说明】
本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式
(A-(B*C+D)*E)/(F+G))
的后缀表示为
ABC*D+E*-FG+/
为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:
数组 IN[]存储中缀表达式;
数组 POLISH[]存储其后缀表达式;
数组 S[]是一个后进先出栈;
函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:
填充流程图中①的判断条件。
判断下列叙述正确与否。
①顺序存储方式只能用于存储线性结构。
②顺序存储方式的优点是存储密度大,且插入、删除运用算效率高。
③链表的每个结点中都恰好包含一个指针。
④散列法存储的基本思想是由关键码的值决定数据的存储地址。
⑤散列表的结点中只包含数据元素自身的信息,不包含任何指针。
⑥负载因子(装填因子)是散列法的一个重要参数,它反映散列表的装满程度。
⑦栈和队列的存储方式既可是顺序方式,也可是链接方式。
⑧用二叉链表法(llink-rlink法)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
⑨用相邻矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中结点个数有关,而与图的边数无关。
⑩邻接表法只能用于有向图的存储,而相邻矩阵法对于有向图和无向图的存储都适用。