数据-第17课-栈课后练习

第17课-栈课后练习

1. 分析顺序栈和链式栈各个操作的算法时间复杂度。

2. 我们在创建顺序栈时将队尾定义为栈顶,而在创建链式栈时将队头定义为栈顶。那么我们反过来可行吗(即:顺序栈操作队头,链式栈操作队尾)?为什么?

3. 将后缀表达式的转换和计算合并为一个完整的程序,当用户输入合法的s四则运算表达式时直接给出结果。

提示:

l  示例中只能处理每个数字为0—9的情况,如何扩展?

l  如何判断表达式的输入是否合法?

原文地址:https://www.cnblogs.com/free-1122/p/11322785.html

时间: 2024-10-07 20:35:53

数据-第17课-栈课后练习的相关文章

数据-第18课-栈与递归

第18课-栈与递归 C语言中的疑惑 讨论中…… 小A:C语言中常说“局部变量在栈上分配空间”,那么这个地方的“栈”和我们之前学习的栈数据结构有关系吗? 小B:我觉得应该没关系吧 :我觉得应该没关系吧,只是名称碰巧一致而已吧?! 1. 函数调用时的栈 (1)程序中的“函数调用栈”是栈数据结构的一种应用. (2)函数调用栈一般是从高地址向低地址增长的. l  栈底为内存的高地址处. l  栈顶为内存的低地址处. (3)函数调用栈中存储的数据为活动记录 2. 活动记录 活动记录是函数调用时一系列相关信

数据--第39课 - 二叉树课后练习

第39课 - 二叉树课后练习 1. 输的相等比较(去世科技笔试题) 编写一个函数用于比较两棵二叉树是否相等.(二叉树相等指的是两棵树中的结点在位置上相互对应,且对应位置上保存的数据相同.) 函数原型如下: int compare_bin_tree(RTreeNode* bt1, BTreeNode* bt2); 2. 单度结点删除(诚迈科技面试题) 编写一个函数用于删除二叉树中的度为1的所有结点. 要求:结点删除后,其唯一的子节点代替它的位置. 原文地址:https://www.cnblogs.

数据--第21课-递归课后练习

第21课-递归课后练习 1. permutation.c中的全排列算法只能处理集合中的元素各不相同的情况.设计算法,使其能够对重复元素的集合进行全排列. 2. 编程查找一个迷宫从起点到终点的通路! 提示 (1)可以用一个二维数组表示迷宫. l  元素1表示障碍. l  元素0表示可通行. (2)创建一个和迷宫等大小的二维数组作为标记数组. l  当标记数组位置为0且迷宫对应位置为 0时,可通行 . (3)利用回溯法“探路”. l  当前路不可通行时,在标记数组对应位置标记1,并回溯. 是否可以找

数据-第16课-栈的应用实战二

第16课-栈的应用实战二 1. 问题的提出 计算机的本质工作就是数学运算,那计算机可以读入字符串”9 + (3 - 1) *5 +8/2”并且计算值吗? 2. 后缀表达式 波兰科学家在20世纪50年代提出了一种将运算符放在数字后面的后缀表达式. 对应的,我们平时用的数学表达式叫做中缀表达式. 实例 5 + 3 => 5 3 + 1 + 2 * 3 => 1 2 3 * + 9 + ( 3–1 ) * 5 => 9 3 1–5 * + 中缀表达式符合人类的阅读和思维习惯:后缀表达式符合计算

第17课 - 对象的构造

第17课 - 对象的构造(上) 0. 问题 对象中成员变量的初始值是什么? 下面的类定义中成员变量 i 和 j 的初始值是什么?  对象定义在 全局空间.栈上.堆上,具有不同的属性. 1 #include <stdio.h> 2 3 class Test 4 { 5 private: 6 int i; 7 int j; 8 public: 9 int getI() { return i; } // 类成员函数,直接访问 10 int getJ() { return j; } 11 }; 12

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all;  Select 列 into 新表;字符串函数;日期函数 SQL聚合函数 MAX(最大值).MIN(最小值).AVG(平均值).SUM(和).COUNT(数量:记录的条数) 聚合函数对null不计算.如果一行数据都是null,count(*)包含对空值行.重复行的统计. --聚合函数演示 selec

Spark IMF传奇行动第17课Transformations实战总结

今晚听了王家林老师的Spark IMF传奇行动第17课Transformations实战,作业是用SCALA写cogroup: def main(args: Array[String]): Unit = { val sc = sparkContext("Transformations") cogroupTrans(sc) sc.stop() } def cogroupTrans(sc:SparkContext): Unit ={ val stuNames = Array( Tuple2

1月5日完成第22课,准备开始第17课

今天总算把第22课,nagios的第二部分视频看完了.3个月的时间,实在超出我的预期:之前的21课.28课,可以说是一课比一课超出我的预期.22课还比21课少半小时的视频时长,可是,学习的进度实在太慢了. 不断"挑战"自己的容忍限度,可是对自己又没有什么办法. 后天下班回来,计划开始第17课(如果明天能早起,说不定可以从明天开始.对了,后天下班回来,我还想完成51cto学院里,oldboy组织的一次运维职场发展的课程里的1节视频:"到底做运维还是做开发-听听专家的意见&quo

3月3日完成第17课,准备开始第18课

昨天,也就是3月3日终于完成word文档"lvs+keepalived集群架构服务应用指南.doc"第17课的部分.之前,又完成1节51cto学院里,oldboy关于职业发展的视频笔记"linux运维人员需要具备的技能说明". 本来的计划是春节前完成第17课,没想到又拖成2个月. 第18课估计也不会好到那里去-- 我现在又开始纠结到底要不要进行MySQL的最后1课了,在公司根本就用不到MySQL.是不是要在换工作之前,先把4节shell课程完成再说呢? 先学能用的,