表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:(1)描述算法的基本设计思想(2)描述算法的详细实现步骤(3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C或JAVA语言实现),关键之处请给出简要注释。
2010
1、若元素abcdef依次进栈,允许进栈、退栈操作交替进行。但不允许连续三次进行退栈工作,则不可能得到的出栈序列是()A:dcebfaB:cbdaefC:dbcaefD:afedcb2、某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则不可能得到的顺序是()A:bacdeB:dbaceC:dbcaeD:ecbad3、下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是()
4、在下列所示的平衡二叉树中插入关键字48后得到一棵新平衡二叉树,在新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是()
fA:13,48
B:24,48
C:24,53
D:24,90
5、在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶节点个数是()A:41B:82C:113D:1226、对
大于等于2个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是()A:该树一定是一棵完全二叉树B:树中一定没有度为1的结点C:树中两个权值最小的结点一定是兄弟结点D:树中任一非叶结点的权值一定不小于下一任一结点的权值7、若无向图G(VE)中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是()A:6B:15C:16D:218、对下图进行拓补排序,可以得到不同的拓补序列的个数是()
eacbd
A:4B:3C:2D:19、已知一个长度为16的顺序表L,其元素按关键字有序排列,若采用折半查找法查找一个不存在的元素,则比较次数最多是()A:4B:5C:6D:710、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是()A:递归次数与初始数据的排列次序无关B:每次划分后,先处理较长的分区可以减少递归次数C:每次划分后,先处理较短的分区可以减少递归次数D:递归次数与每次划分后得到的分区处理顺序无关11、对一组数据(2,12,16,88,5,10)进行排序,若前三趟排序结果如下()第一趟:2,12,16,5,10,88第二趟:2,12,5,10,16,88第三趟:2,5,10,12,16,88则采用的排序方法可能是:A:起泡排序B:希尔r