设循环队列中数组的下标范围是1-n,其中头尾指针分别是

2020-11-20 05:39:44 字数 3920 阅读 4873

1楼:

if(f<=r)

个数为r-f+1

if(f>r)

个数为n-f+r+1

尾指针指向元素

if(f<=r)

个数为r-f

if(f>r)

个数为n-f+r

尾指针为空

2楼:匿名用户

if(f<=r)

个数为r-f

if(f>r)

个数为n-f+r

设循环列队中数组的下标是1~n.其头尾指针分别为f,r,则队列中元素个数为?

3楼:匿名用户

(f-r)%n

分两种情况考虑:

一,|- - - - * * * * * - - - - - - |r f

显然中间5个就是队列

中的元素:(f-r)=(f-r)/n

二,|* * * * - - - - - * * * * * * |f r

显然中间5个不是队列中的元素,所以元素个数为(f-r)/n简单的说,当f比r靠前时,中间的的元素为队列元素,并且此时f-r>=0;当f比r靠后时,中间的元素不是队列怨毒,并且此时f-r<0,那么元素为n-(r-f)=(f-r)%n

综合起来就是:(f-r)%n

4楼:匿名用户

((f+n)-r)%n

3.设顺序循环队列q[0:m-1]的头指针和尾指针分别为f和r,头指针f总是指向队头元素的

5楼:匿名用户

选c(r-f+m)%m

6楼:1909王青梅

书中定义的队列长度为:(rear-front+queuesize)%queuesize

1.rear: 定义中是指向末尾元素的下一个位置,本题中是直接指向末尾元素, 所以将rear向后移动一个位置, r-12.front:定义中是指向首元素,

而本题中是指向首元素的前一个元素, 因此向后移动一个位置, f-1rear = r-1

front = f-1

所以: [ (r - 1) - ( f - 1) + m]%m = (r-f+m)%m

正确答案:(r-f+m)%m

7楼:匿名用户

#include

usingnamespacestd;

intmain()

[急]noip的几个初赛问题

8楼:匿名用户

8.设循环队列中数组的下标范围是1–n,其头尾指针分别为f和r,则其元素个数为( d ).

a.r- f b.r- f +1

c.(r- f ) mod n+1 d.(r- f + n) mod n

是循环数组啊!如果r>f那么 是r-f+1 但是如果r小于f呢?就是r到n 加上1到f的个数。通用公式就是d。

17.线性表若采用链表存贮结构,要求内存中可用存贮单元地址( d ).

[回答此问请附关于线性表的相关知识]

a.必须连续 b.部分地址必须连续

c.一定不连续 d.连续不连续均可

一般数组a[1..n]在内存中是连续的一堆数,如32,25..8,46等等

但是占用固定内存空间,而链表就不是了,他的每个数带2个小口袋如32前口袋是空的,表示前面没有数,后口袋带了25数字所在的内存位置,这样所有的数字都连续起来了。所以内存中那不是连续的。

第八届13)ip v4地址是由( ) 位二进制数码表示的。

a) 16 b) 32 c) 24 d) 8

第九届20.ip地址是一个( c )位二进制码。

[回答此问请附关于ip地址(及tcp/ip)的相关常识]

a)8 b)16 c)32 d)64 e)12

8、9两题差不多,因为ip地址样式是255.255.255.255,一共四个最大是255的数段组成,总共能表达2^32种不同地址,所以32位了。

现在中国提出了ip v6计划,多少位?呵呵。

第十届13、由3个a,1个b和2个c构成的所有字符串中,包含子串“abc”的共有( d )个

a、20 b、8 c、16 d、12 e、24

也就是由 2个a,一个abc,一个c左右有多少种组合,4*3=12种。

16、满二叉树的叶节点为n,则它的节点总数为( c )

[回答此问题请附所有关于图、树的计算公式。]

a、nb、2n

c、2n-1

d、2n+1

e、2^n-1

满二叉树就是所有的节点全部满啊(1分2,2分4...),第一层是1个,第二层4个,第三层8个……规律就是这样,公示自己也能推导了吧。

19、在下图,从端点( e )出发存在一条路径可以遍历图中的每条边一次,而且仅遍历一次

一笔画,遍历就是走一遍。

第十一届

5. 平面上有五个点a(5, 3), b(3, 5), c(2, 1), d(3, 3), e(5, 1)。以这五点作为完全图g 的顶点,

每两点之间的直线距离是图g 中对应边的权值。以下哪条边不是图g 的最小生成树中

的边( d )。

a. ad b. bd c. cd d. de e. ea

做法:现在xy坐标轴中画出这些点,然后将所有点连接,然后依次删除较长的点,最后只留下最短的4条边并保证5个点都相连就ok了,

7. 处理器a 每秒处理的指令数是处理器b 的2 倍。某一特定程序p 分别编译为处理器a

和处理器b 的指令,编译结果处理器a 的指令数是处理器b 的4 倍。已知程序p 在处

理器a 上执行需要1 个小时,那么在输入相同的情况下,程序p 在处理器b 上执行需

要( d )小时。

a. 4 b. 2 c. 1 d. 1 / 2 e. 1 / 4

这个算一下啊,虽然速度慢一半,但是只用执行1/4的指令啊,当然1/2时间啊。

19. 二叉树t的宽度优先遍历序列为a b c d e f g h i,已知a是c的父结点,d 是g 的

父结点,f 是i 的父结点,树中所有结点的最大深度为3(根结点深度设为0),可知f

的父结点是( c )。

a. 无法确定b. b c. c d. d e. e

19去知道上查吧有很详细的答案的

如:就是按层次遍历,这棵树的机构可能是:

a / \

b c

/ \ /

d e f

/ \ /

g h i

a / \

b c/ / \

d e f

/ \ /

g h i

a / \

b c/ \ \

d e f

/ \ /

g h i

不管哪一种大案都是c

大后天考试了,祝你好运

9楼:

第16题

有关二叉树 须记住那几条性质

不过我的窍门是:先画一个二叉树,再检验答案

数据结构顺序循环队列q[0:m-1]的头指针和尾指针分别为f和r

10楼:匿名用户

这个就是放数据用的数据,用来表示队列,可放数据的范围为0~~m-1

11楼:楠嫨囡囝

就是指队列下标从0到m-1

12楼:乌石

类似为一长度为m的一维数组

设顺序循环队列q[0:m-1]的队头指针和队尾指针分别为f和r,其中队头指针f指向当前队头元素的前一个位置

13楼:匿名用户

1.f=f->next; r-next=f;

2.顺序存储结构:o(logn) 链式:o(n)