本文是针对数据结构基础系列(6):树和二叉树的配套实践。【项目 - 用二叉树求解代数表达式】
用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算的+、-、*、/,不加括号,运算数也只是一位的数字字符。本项目只考虑输入合乎以上规则的情况)。请设计算法,(1)根据形如“1+2?3?4/51+2*3-4/5”的字符串代表的表达式,构造出对...
分类:
其他好文 时间:
2015-11-01 12:44:11
阅读次数:
340
本文针对数据结构基础系列网络课程(5):数组与广义表的实践项目。【项目 -广义表的原子统计】
设计算法,求出给定广义表g中的原子个数和最大原子[参考解答] (头文件glist.h是广义表算法库建设的成果,见链接…)#include
#include "glist.h"int atomnum(GLNode *g) //求广义表g中的原子个数
{
if (g!=NULL)...
分类:
其他好文 时间:
2015-10-08 06:56:45
阅读次数:
135
本文针对数据结构基础系列网络课程(5):数组与广义表的实践项目。【项目 - 压缩存储的对称矩阵的运算】
设计算法,实现两个用压缩形式存储的对称矩阵A和B的加法和乘法。实现中请使用好前面设计的基本运算。[参考解答]#include
#define N 4
#define M 10
int value(int a[],int i,int j)
{
if (i>=j)...
分类:
其他好文 时间:
2015-10-08 06:55:44
阅读次数:
184
bash编程bash脚本编程是过程式解释编程,其实就是linux命令的堆砌,既然是编程就应该有相应编程语法。与任何过程式编程一样,过程式编程的特点就是:顺序执行,选择执行,循环执行。过程式编程:以指令为中心,设计算法,数据服务于算法,过程式编程的灵魂:算法。1.变量:数值..
分类:
其他好文 时间:
2015-09-23 01:18:23
阅读次数:
233
bash是调用机器上命令程序文件进行编写的。外部命令由各应用程序提供程序是由:指令(算法)+数据(数据结构)面向过程以指令为中心,设计算法,数据服务于算法面向对象以数据为中心,设计数据结构,程序服务于数据结构bash的流程控制语句:顺序执行:逐个执行选择执行:按条件..
分类:
其他好文 时间:
2015-09-20 22:28:27
阅读次数:
210
本文是针对数据结构基础系列网络课程(3):栈和队列的实现项目。【项目 - 数制转换】 把十进制的整数转换为任一进制数输出。请利用栈设计算法,并实现程序。
提示:要转换为r进制,则原来的数逐次除以基数r(除完之后用商再除),直到商为0,得到的一系列余数的逆序就是转换结果。这里的“逆序”,意味着后产生的余数,会先输出,后进先出,栈的机会来了……
[参考解答]解法:头文件sqstack.h请见[顺序栈...
分类:
其他好文 时间:
2015-09-20 08:09:12
阅读次数:
185
本文是数据结构基础系列网络课程(2):线性表中第6课时线性表顺序存储的应用中所讲的例程。例:删除元素
问题:已知长度为n的线性表A采用顺序存储结构,设计算法,删除线性表中所有值为x的数据元素。
要求:时间复杂度为O(n)、空间复杂度为O(1)的算法
解法0:用基本运算实现,不满足复杂度要求
(注:本文中所需要的list.h和list.cpp见点击参照…)#include "list.h...
分类:
其他好文 时间:
2015-09-08 08:27:27
阅读次数:
310
约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出..
分类:
其他好文 时间:
2015-09-08 07:19:36
阅读次数:
172
【项目 - 顺序表应用】
定义一个采用顺序结构存储的线性表,设计算法完成下面的工作:
1、删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1);
2、将所在奇数移到所有偶数的前面,要求算法的时间复杂度为O(n),空间复杂度为O(1)。
提示:
(1)充分利用前面建立的算法库解决建立顺序表、输出线性表的问题;
(2)为保证复杂度的要求,...
分类:
其他好文 时间:
2015-09-08 07:01:16
阅读次数:
163
【项目 - 求集合并集】
假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员。设计算法,用函数unionList(List LA, List LB, List &LC )函数实现该算法,求一个新的集合C=A∪B,即将两个集合的并集放在线性表LC中。
提示:
(1)除了实现unnionList函数外,还需要在main函数中设计代码...
分类:
其他好文 时间:
2015-09-07 16:51:09
阅读次数:
179