随笔分类 - 算法导论
摘要:请写出一个O(n)时间的非递归过程,将给定的n节点二叉树中每个节点的关键字输出来。可以利用栈作为辅助数组数据结构。中序输出PUSH(root)while !empty_stack(S) if root->left PUSH(root->left) root<-root->left else root<-POP(S) 打印root数据 while !root->right&&!empty_stack(S) root<-POP(S) 打印root数据 if root->right PUSH(root->right) ...
阅读全文
摘要:10.1-7 说明如何用两个队列来实现一个栈,并分析有关栈操作的运行时间。QUEUE A,BPUSH(S,x)if A正在使用 if tail[A]+1=head[A] error "upflow" else ENQUEUE(A,x)else if tail[B]+1=head[B] error "upflow" else ENQUEUE(B,x)POP(S)if A正在使用 if QUEUE_EMPTY(A) error "underflow" else while head[A]+1!=tail[A] ENQUEUE(B,DEQU
阅读全文

浙公网安备 33010602011771号