数据结构栈和数列题目,数据结构栈和数列题目 50

2021-01-03 21:06:56 字数 4168 阅读 3301

1楼:匿名用户

=p->next->next;

2、b 用链表的话,可以动态分配空间,因此只要考虑是否为空,不会出现满的情况。

3、a 此题目是求子串的问题,意思是求主串第5个开始长度为9的子串

4、b 其实b***括了c和d答案,搞清先序、后序的概念应该不难。

5、b 此题相当一个等比数列,1+3+9+27=40 和完全三叉树的概念

1、2n, n+1 此题考的是线索二叉树部分,其中除根结点外所有的结点都必须用指针域连接,应该用到n-1所以当然有n+1个没有被用到。

2、cba 其实这个题目和前面的那个选择题相似,画出二叉树就只有右孩子的二叉树

3、i=i+1, j=0; 就是子符串的朴素算法

4、abcde为层序,画链式很简单,先序:abdec,中序:dbeac后序:debca

5、方程1:n0+n1+n2=n 方程2:n1+2*n2=n-1 得n2=n0-1, 这一问和上面一样同样是n-1个,但是此处应该写成:2*n0+n1-1

6、最少为深度k-1的树再加一个 即:2^(k-1)

7、和前面一样

8、以2为底的log128求整数就行,第二问,三个方程解三个未知数,

方程1:n0+n1+n2=128 方程2:n1+2*n2=128-1 方程3:n1=1 (对于完全二叉树且128为偶数)

9、先画出来,再写,答案:debca

关于数据结构中出栈的序列问题

2楼:匿名用户

edcba

decba

cedba

dceba

cdeba

bedca

bdeca

cbeda

bceda

dcbea

cdbea

bdcea

cbdea

bcdea

aedcb

adecb

acedb

adceb

acdeb

baedc

abedc

badec

abdec

cbaed

bcaed

acbed

baced

abced

dcbae

cdbae

bdcae

cbdae

bcdae

adcbe

acdbe

badce

abdce

cbade

bcade

acbde

bacde

abcde

算法**(部分)

int sost(char **a, char *s, int p, int n,

void (*view)(char **a, int m, int n))

else

}else

}/* test if the sequence is ok */while (!stack_empty(st) && j < n)++ j;

}/* print the valid record */if (flag)

/* clear the stack */stack_clear(st);

}stack_destroy(st);

if (st) free(st);

flag = count;

return flag;}

数据结构中的顺序栈的进栈和出栈问题

3楼:匿名用户

#include

#define stacksize 100typedef char datatype;

typedef struct

seqstack;

void initstack(seqstack *s)int stackempty(seqstack *s)int stackfull(seqstack *s)void push(seqstack *s,datatype x)s->data[++s->top]=x; }datatype pop(seqstack *s)return s->data[s->top--];

} int main(void)

while(i--)

printf("%c\t",pop(&ss));

return 0;}

4楼:咕噜子

主要就是baipush函数du和pop函数的调用。

首先定义一个seqstack *类型的zhi指针并分dao配内存,用initstack初始化。

然后两专个属循环,一个压栈,一个出栈,出栈的时候用函数stackempty判断栈是否为空,打印出pop函数的返回值即可。

数据结构课程栈出栈入栈问题

5楼:阿冬

题目中没有给出push、pop两个函数的实现**,猜测出题者的本意,应该是入栈和出栈过程中版顺便给对应权变量赋值,据此,答案如下:

最初x='c', y='k'

push(s,x); //c入栈,栈中只有c

push(s,'a'); //a入栈,栈中有c、a

push(s,y); //k入栈,栈中有c、a、k

pop(s,x); //k出栈,并赋值给x,此时x=k,栈中有c、a

push(s,'t'); //t入栈,栈中有c、a、t

push(s,x); //x入栈,即k入栈,栈中有c、a、t、k

pop(s,x); //x出栈,即k出栈,此时x=k,栈中有c、a、t

push(s,'s'); //s入栈,栈中有c、a、t、s

接下来通过循环做出栈动作,每次循环把栈顶的数据送给y,并打印,故依次打印s、t、a、c,

最后再打印x,x的值是k

关于数据结构栈的题目

6楼:无暇美眷

pop(s,x)是把栈顶元du素推出 并且赋值zhi给x 所以不会违背栈的定义dao

栈中push了 c a k

再pop出回k(x=k)

栈中剩下c,a

再push 了 t k(x=k)

再pop出k(x=k)

。。。。

最后栈中有c,a,t,s

最后输出

答stac

~~~~~~~~望采纳

数据结构的入栈与出栈程序题

7楼:你说过的牵手

这是我从博客上拷下来的,自己看。

顺序栈基本操作(c语言版)2010-03-15 13:27#include

#include

typedef structelement;

#define max_stack_size 100element stack[max_stack_size];

int top = -1;

void init();

void dost();

void over();

void add();

int deletes();

void display();

int main()

void init()

void dost()

void over()

void add()

else}}

int deletes()

return stack[top--].data;

} void display()

//**写的比较简陋,但是包括了基本的操作

数据结构顺序栈的出栈问题

8楼:乌石

selemtype为什么要用&,就是因为要用e把出栈前的栈顶元素的值带回来。

数据结构出栈进栈问题

9楼:本末终始

1.cbda可以操作,baidbca不可以。

2.cbda入出栈:du

push a-->push b-->push c-->pop c-->pop b-->push d-->pop d-->push a

3.dbca不可以,原因如下zhi:

第一个出dao栈的是d,意味着a,b,c均在栈版中,其出权栈顺序只能是:d->c->b->a

数据库和数据结构先学哪个好,是先学数据库还是数据结构?

1楼 匿名用户 都一样 重要的是复 起步,先了 制解下。我也曾和你一样的迷茫,后来就会了!!呵呵 说来可笑貌似你说的东西都不值得学或者都值得学,不值得学是因为单纯数据库对你没什么用处,除非你学游戏制作或者编程之类的,数据恢复算是硬件的维修了,不过涉及的范围比较单一! 值得学是因为你最好先决定你要做什...

学习数据结构目的,学习《数据结构》课程的主要目的是什么

1楼 异常点研究中心 本人觉得 研究程序设计技巧 是关键。我学的是信息管理,不学硬件课程。主要是让别人变算法,我们告诉他们编的技巧。 数据结构学习些什么内容,学习数据结构有什么意义,有哪些运用 2楼 宇文鸿彦 数据结构学习的内容可以去百度。 作为一个已经进入公司程序员,我来告诉你学习数据结构有什么用...

数据库:题目上给了er图,根据图写出数据库的表结构来

1楼 贩卖罪恶 学生 姓名,符号,性别,年级,性别 教师 职称,性别,姓名,符号 这个符号是什么意思?我把他理解为是教师的id,独一无二的 课程 课程号,课名,学时,学分 教 教师符号,课程号 学 课程号,学生符号,成绩 这个学生符号我理解为学号。。。 怎么根据数据库表结构生成关系图 2楼 千锋教育...