计算机大神进!!!!急求!!!1. 总结和比较线性表、堆栈、队列、二叉树、树、图的各种存储结构,并说明
1. 总结和比较线性表、堆栈、队列、二叉树、树、图的各种存储结构,并说明它们是如何使用数组和指针的。(10分)
2. 斐波那契数列问题。(1) 编写求解斐波那契数列中第n个数的递归和非递归c/c++函数;(2)编写main函数,测试n={10,20,30,40,50}时,上述递归和非递归c/c++函数的执行时间。(10分)
3. 括号匹配问题。(1) 编写c/c++函数,验证一个字符串形式的表达式中的括号是否匹配,其中括号包括圆括号、方括号和花括号。(2) 编写main函数从键盘读入表达式,并调用你编写的函数。(10分)
4. 排序问题。(1) 编写简单插入排序和基于二分查找的插入排序算法的c/c++函数;(2)设待排序数据个数为n,为每个n设计10个随机实例,然后测试当n大于多少时,二基于二分查找的插入排序的平均运行时间比简单插入排序算法的平均运行时间少四分之一。平均运行时间指对每个n的10个随机实例上的运行时间的平均值。(15分)
5. 二叉树的层次遍历。设二叉树的存储结构为二叉链表,数据元素类型为整数,(1) 编写二叉树前序建立二叉树的c/c++函数;(2) 编写该二叉树的层次遍历的代码;(3)编写main函数,从文件读入二叉树的前序序列,建立二叉树,并输出层次遍历序列。(15分)
6. 树的层次遍历一。设树的存储结构为孩子链表,数据元素类型为整数,(1) 编写建立树的c/c++函数;(2) 编写该树的层次遍历的代码;(3)编写main函数,从文件读入并建立树,并输出层次遍历序列。(20分)
7. 䯞完全二叉树的存储结构变换。给定一个数组存储的完全二叉树,(1) 编写c/c++函数将完全二叉树的数组存储结构转换为二叉链表;(2)编写main函数,验证你的转换函数。(20分)
请把七到题全做完,我会追加奖励的~
5.
//裤慎 aaaaaaaaaaaa.cpp : 定义控制台应用程序的入口点。
//
// Tree.cpp : 定义控制台应用程序的入口点。冲纯饥
//
#include "stdafx.h"
#include<iostream>
using namespace std;
typedef int ElemType;
typedef struct BiTNode{
ElemType data;
struct BiTNode*lchild,*rchild;
}BiTNode,*BiTree;
void CreateTree(BiTree&T)
{
int ch;
cout<<"请输入节点:"<<endl;
cin>>ch;
if(ch==0) T=NULL;//ch==自己定义的数散返
else
{
T=new BiTNode;
if(T==NULL) return;
T->data=ch;
CreateTree(T->lchild);
CreateTree(T->rchild);
}
}
void visit(BiTree T)
{
if(T->data!=0) cout<<T->data<<'\t';
}
void preOrder(BiTree T)//前序遍历
{
if(T!=NULL)
{
visit(T);
preOrder(T->lchild);
preOrder(T->rchild);
}
}
void zhongxu(BiTree T)//中序遍历
{
if(T!=NULL)
{
zhongxu(T->lchild);
visit(T);
zhongxu(T->rchild);
}
}
void houxu(BiTree T)//后序遍历
{
if(T!=NULL)
{
houxu(T->lchild);
houxu(T->rchild);
visit(T);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
BiTree Tree;
CreateTree(Tree);
cout<<"前序遍历结果为:"<<endl;
preOrder(Tree);
cout<<endl;
cout<<"中序遍历结果为:"<<endl;
zhongxu(Tree);
cout<<endl;
cout<<"后序遍历结果为:"<<endl;
houxu(Tree);
return 0;
}
最好的方法,自己去把数据结构再多看两编
我给你们其中一个同学靳伟发了资料了,找他看看吧~~
哥们 你是郑州航院7专业 哪个班的
你是六系那个专业的,呵呵?