手机浏览器扫描二维码访问
A.顺序表是使用一维数组实现的线性表
B.顺序表必须占用一片连续的存储单元
C.顺序表的空间利用率高于链表
D.在链表中,每个结点只有一个链域
【2016年】已知表头元素为c的单链表在内存中的存储状态如下表所示
假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算
法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的
data域的值,并返回1;否则,只返回0。要求:
⑴描述算法的基本设计思想;
⑵描述算法的详细实现步骤;
⑶根据设计思想和实现步骤,采用程序设计语言描述算法(使用C、C++语言实现),
关键之处请给出简要注释。
(1)算法的基本设计思想:
问题的关键是设计一个尽可能高效的算法,通过链表的一趟遍历,找到倒数第k个结
点的位置。算法的基本设计思想是:定义两个指针变量p和q,初始时均指向头结点的下。
如图(d)所示,当|t1-t2|==1时,表示共享栈满。那么大家可能会问一个问题,反正
就是这么一块空间,那我们二一添作五,直接均分不就行了(你好,我好,大家好,一片和
谐,此处应该有掌声)。均分看似合理,其实会导致很大问题,大家请想一下,程序的执行
是不确定的,也是不均衡的(好像说的有点玄乎),有的程序需要的空间大,有的程序需要
的空间小,图(b)中表示的是栈1占用的空间的大一些;图(b)中表示的是栈2占用的
空间的大一些,如果均分,就会出现旱涝不均,图(b)中栈1就会旱死(空间不够,而报
错),图(c)中栈2就会旱死(空间不够,而报错)。
5.括号匹配问题
在文字处理软件或编译程序设计时,常常需要检查一个字符串或一个表达式中的括号是
否相匹配?
匹配思想:从左至右扫描一个字符串(或表达式),则每个右括号将与最近遇到的那个左
括号相匹配。则可以在从左至右扫描过程中把所遇到的左括号存放到堆栈中。每当遇到一个
右括号时,就将它与栈顶的左括号(如果存在)相匹配,同时从栈顶删除该左括号。
算法思想:设置一个栈,当读到左括号时,左括号进栈。当读到右括号时,则从栈中弹
出一个元素,与读到的左括号进行匹配,若匹配成功,继续读入;否则匹配失败,返回FLASE。
6.栈与递归调用的实现
栈的另一个重要应用是在程序设计语言中实现递归调用。递归调用:一个函数(或过程)
直接或间接地调用自己本身,简称递归(Recursive)。为了使递归调用不至于无终止地进行下
去,实际上有效的递归调用函数(或过程)应包括两部分:递推规则(方法),终止条件,初始。
喜欢离语请大家收藏:()离语
我好痛,司慕哥哥,救我!在她危机四伏之时,梦中的男神从天而降,为了抱住他大腿,她开启了惊天地泣鬼神般的追夫模式。婚后司慕哥哥,有人欺负我。第二天,欺负她的人,惨遭报复,爬到她面前跪地求饶。某女纳闷,这个霸道冷情的男人,怎么一夜间,像变了个人,无时无刻要把她宠上天!少爷,少奶奶把您的名表打包扛出去低价卖了!某少微微眯眸她高兴就好。隔天,管家匆匆跑来少爷,少奶奶把您给卖了!某少...
我要不断的进球,进球进球进球!刷数据?是的,如果可以的话,我巴不得每场比赛都能帽子戏法。这是一本关于进球至上的书,这也是一本关于王者归来的故事。猪头七2018年全新力作!...
病弱王爷保家卫国?开玩笑!弱爆王妃调香高手?竟扯淡!可是,相传得传世至宝摄魂香居然被王爷和王妃拿来熏库房王爷,他们说你是病秧子嗯王爷一拳打断了一棵碗口粗的树桩王爷,他们还说你瘦成皮包骨嗯王爷抱着王妃回了房间王爷,他们还说还说你不行!他们是谁,本王定要打的他爹娘媳妇小妾都不认得他!...
云小九是一只小凶兽,每天除了吃,就是嘤嘤嘤,有天不小心穿进一本年代文里。 云家一连生了八个孙子,好不容易得来一个大孙女,全家上下都当金疙瘩疼着宠着。 村民以为云家孙女肯定很凶,毕竟他们一家子极品,家里的大鹅都见人就叼。 直到云家大婶子抱着刚满月的云小九出来遛弯,小奶团子粉粉嫩嫩,睫毛又翘又长,大眼睛随时包着两泡金豆豆,要哭不哭,萌人一脸血。 大婶子,小九这是怎么了? 云家大婶子看云小九一眼,着急往家赶,遭了,又饿了。 自从小凶兽来到云家,云家发生了翻天覆地的变化。 好吃懒做悍妇妈妈起...
为了逃避追杀,贺兰玖躲入水底,一不小心看见了某妖孽的果体。她嘴贱问哥哥,你那个有舌头长吗?一句话引发血案,她被妖孽毁了清白!这下梁子结大了!等妖孽落难了,她又狠阴了他一把。得逞后,她阴险笑了你毁我清白,我让你不举,公平吧。妖孽反击那我们就凑成对吧。!!!妖孽宣言本王可以欺负你,但,别人不行!...
...