数据结构线性表的基本操作

  • 格式:doc
  • 大小:220.28 KB
  • 文档页数:31

山东建筑大学计算机科学与技术学院 课程设计说明书

题 目: 二叉树、树的遍历,重言式的判别 课 程: 数据结构 院 (部): 专 业: 班 级: 学生姓名: 学 号: 指导教师: 完成日期: 山东建筑大学计算机学院课程设计说明书

I 目 录 课程设计任务书一 ................................................ I 课程设计任务书二 ............................................... II 课程设计任务书三 ............................... 错误!未定义书签。 题目一 .......................................................... 4 一、问题描述................................................. 4 二、基本要求................................................. 4 三、算法思想................................................. 4 四、数据结构................................................. 4 五、模块划分................................................. 4 六、源程序................................................... 5 七、测试数据................................................. 5 八、测试情况................................................ 10 题目二 ......................................................... 12 一、问题描述................................................ 12 二、基本要求................................................ 12 三、算法思想................................................ 12 四、数据结构................................................ 12 五、模块划分................................................ 12 六、源程序.................................................. 13 七、测试数据................................................ 16 八、测试情况................................................ 17 题目三 ......................................... 错误!未定义书签。 一、问题描述................................ 错误!未定义书签。 二、基本要求................................ 错误!未定义书签。 三、算法思想................................ 错误!未定义书签。 四、数据结构................................ 错误!未定义书签。 五、模块划分................................ 错误!未定义书签。 六、源程序.................................. 错误!未定义书签。 七、测试数据................................ 错误!未定义书签。 八、测试情况................................ 错误!未定义书签。 结 论 .......................................................... 27 参考文献 ....................................................... 28 课程设计指导教师评语 ........................................... 29 山东建筑大学计算机学院课程设计说明书 I 山东建筑大学计算机学院 课程设计任务书一

指导教师(签字): 教研室主任(签字) 设计题目 二叉树的遍历 已知技术参数和设计要求 对任意给定的二叉树建立它的二叉链表存储结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。

设计内容与步骤

1 对给定节点,建立二叉链表存储结构; 2 利用栈的上述五种基本运算实现先序、中序、后序三种遍历。 3 输出三种遍历结果。

设计工作计划与进度安排

1、课程设计按照教学要求需要两周时间完成, 2、两周中每天(按每周5天)至少要上机6小时来调试程序。 3、总共至少要上机调试程序60小时。

设计考核要求

1、考勤20% 2、课程设计说明书50% 3、程序实现30% 山东建筑大学计算机学院课程设计说明书

II 山东建筑大学计算机科学与技术学院

课程设计任务书二

指导教师(签字): 教研室主任(签字) 设计题目 树的遍历 已知技术参数和设计要求 对任意给定的树(顶点数自定)建立它的二叉链表存储结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现树的先根,后根两种遍历,输出两种遍历的结果。

设计内容与步骤

1将给定的树转换成二叉树。 2对给定节点,建立二叉链表存储结构; 3 利用栈的上述五种基本运算实现先根,后根两种遍历。 4 输出两种遍历结果。

设计工作计划与进度安排

1、课程设计按照教学要求需要两周时间完成, 2、两周中每天(按每周5天)至少要上机6小时来调试程序。 3、总共至少要上机调试程序60小时。

设计考核要求

1、考勤20% 2、课程设计说明书50% 3、程序实现30% 山东建筑大学计算机学院课程设计说明书 III 山东建筑大学计算机科学与技术学院 课程设计任务书三

指导教师(签字): 教研室主任(签字)设计题目 重言式判别 指导教师 汤晓兵 班 级 信计102 学 生 刘扬

已知技术参数和设计要求

[问题描述]一个逻辑表达式如果对于其变元的任一种取值都为真,则称为重言式;反之,如果对于其变元的任一种取值都为假,则称为矛盾式;然后,更多的是既非重言式,也非矛盾式。试写一程序,通过真值表判别一个逻辑表达式属于上述哪一类。 [基本要求]1.逻辑运算符包括“|”,“&”和“~”,分别表示或,与和非,运算优先程度递增,但可由括号改变,即括号内的运算优先。2.逻辑变元为26个大小写字母,还可以是确定的值1或0,分别表示逻辑真和假。3.表达式中任何地方都可以含有多个空格符。4.程序结果会显示表达式的真值表,所有变量名,和运算所耗时间(毫秒为单位)。

设计内容与步骤 [实现提示] (1) 识别逻辑表达式的符号形式并建立二叉树可以有两种策略:自底向上的算符优先法和自顶向下分割,先序遍历建立二叉树的方法。 (2) 用递归实现。

设计工作计划与进度安排

1、课程设计按照教学要求需要两周时间完成, 2、两周中每天(按每周5天)至少要上机6小时来调试程序。 3、总共至少要上机调试程序60小时。

设计考核要求

1、考勤20% 2、课程设计说明书50% 3、程序实现30% 山东建筑大学计算机学院课程设计说明书 题目一

一、问题描述 对任意给定的二叉树建立它的二叉链表存储结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。

二、基本要求 1 对给定节点,建立二叉链表存储结构; 2 利用栈的上述五种基本运算实现先序、中序、后序三种遍历。 3 输出三种遍历结果

三、算法思想 以字符串的形式“根 左子树 右子树”创建一棵二叉树。利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。

四、数据结构 (1)二叉树定义如下: typedef struct BiTNode { char data; int num; struct BiTNode *lchild,*rchild; } BiTNode,*BiTree; (2)栈定义如下: typedef struct{ BiTree *top; BiTree *base; int StackSize; }Stack;

五、模块划分 void InitStack(Stack *S)初始化栈。 int StackEmpty(Stack S)判断栈空,若栈空返回1否则返回0。 void Push(Stack *S,BiTree p)压栈,将p压入栈顶。 void Pop(Stack *S,BiTree *p)出栈,将栈顶元素出栈并付给p。 BiTree CreateBiTree(BiTree &T)创建二叉树T。