留学群专题频道数据结构报告栏目,提供与数据结构报告相关的所有资讯,希望我们所做的能让您感到满意!

数据结构报告(集合15篇)

数据结构报告

  我们写报告要有一定的方法和技巧,不可胡乱去写,在当下这个社会中。一般都会需要撰写报告,优秀的报告该怎么去写?小编花费了不少时间搜集整理了“数据结构报告”的相关内容,期待这些教程能够让你更好地理解该产品!

数据结构报告 篇1

  1、进一步掌握指针变量的含义及应用。

  2、掌握二叉树的结构特征,以及各种存储结构的`特点及使用范围。

  3、掌握用指针类型描述、访问和处理二叉树的运算。

  题目1:编写一个程序,采用一棵二叉树表示一个家谱关系。要求程序具有如下功能:

  (1)用括号表示法输出家谱二叉树,

  (2)查找某人的所有儿子,

  为了能够用二叉树表示配偶、子女、兄弟三种关系,特采用以下存储关系,则能在二叉树上实现家谱的各项运算。

  二叉树型存储结构定义为:

  struct SNODE *right; //指向兄弟或子女结点

  实验由主函数、家谱建立函数、家谱输出函数、儿子查找函数、祖先查找函数、结点定位函数、选择界面函数七个函数共同组成。其功能描述如下:

  void InitialFamily(FNODE *&head) //家谱建立函数

  输出形式为:父和母(子1和子妻1(孙1),子2和子妻2(孙2))

  void PrintFamily(FNODE *head) //家谱输出函数

  (4)儿子查找函数:在家谱中查找到某人所有的子女并输出,同时也能辨别出其是否为家族成员与是否有子女

  void FindSon(FNODE *b,char p[]) //儿子查找函数

  (5)祖先查找函数:在家谱中查找到某人所有的祖先并输出,同时也能辨别出其是否为家族中成员。

  int FindAncestor(FNODE *head,char son[ ]) //祖先查找函数

  FNODE *findnode(FNODE *b,char p[]) //结点定位函数

  (7)选择界面函数:为便于编写程序,将用户选择部分独立为此函数。

  (三)各函数的详细设计:

  void InitialFamily(FNODE *&head) //家谱建立函数

  1:首先建立当前人的信息,将其左右结点置为空,

  2:然后让用户确定其是否有配偶,如果没有配偶,则当前程序结束,

  3:如果有则建立其配偶信息,并将配偶结点赋给当前人的左结点;

  4:再让用户确定其是否有子女,如果有则递归调用家谱建立函数建立子女结点,并将其赋给配偶结点的下一个右结点。

  void PrintFamily(FNODE *head) //家谱输出函数

  1:首先判断当前结点是否为空,如果为空则结束程序;

  3:然后判断其左结点(配偶结点)是否为空,如不为空则输出“和配偶信息。

  4:再判断配偶结点的右结点是否为空,如不为空则递归调用输出其子女信息,最后输出“)”;

  FNODE *findnode(FNODE *b,char p[]) //结点定位函数

  void FindSon(FNODE ...

与数据结构报告相关的实用资料

数据结构报告(推荐13篇)

数据结构报告

  编写报告能让我们对自己未来的工作有更透彻的理解,随着人们自身素质提升。我们通常会使用到报告,撰写报告需要注意哪些内容呢?留学群的编辑认真整理了大量信息推出了这篇数据结构报告,本文供你参考,希望能帮到你!

数据结构报告【篇1】

    一、实验目的及要求

  1)掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活运用它们。

  本实验训练的要点是“栈”和“队列”的观点;

    二、实验内容

  1) 利用栈,实现数制转换。

  2) 利用栈,实现任一个表达式中的语法检查(选做)。

  3) 编程实现队列在两种存储结构中的基本操作(队列的初始化、判队列空、入队列、出队列);

    三、实验流程、操作步骤或核心代码、算法片段

  顺序栈:

  Status InitStack(SqStack &S)

  {

  S.base=(ElemType*)malloc(STACK_INIT_SIZE*sizeof(ElemType));

  if(!S.base)

  return ERROR;

  S.top=S.base;

  S.stacksize=STACK_INIT_SIZE;

  return OK;

  }

  Status DestoryStack(SqStack &S)

  {

  free(S.base);

  return OK;

  }

  Status ClearStack(SqStack &S)

  {

  S.top=S.base;

  return OK;

  }

  Status StackEmpty(SqStack S)

  {

  if(S.base==S.top)

  return OK;

  return ERROR;

  }

  int StackLength(SqStack S)

  {

  return S.top-S.base;

  }

  Status GetTop(SqStack S,ElemType &e)

  {

  if(S.top-S.base>=S.stacksize)

  {

  S.base=(ElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(ElemType));

  if(!S.base) return ERROR;

  S.top=S.base+S.stacksize;

  S.stacksize+=STACKINCREMENT;

  }

  *S.top++=e;

  return ...

与数据结构报告相关的实用资料

推荐更多