首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • 测绘软件实习报告

    时间:2021-03-03 12:10:53 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:测绘 实习报告 软件

    测绘软件实习报告 本文关键词:测绘,实习报告,软件

    测绘软件实习报告 本文简介:中国矿业大学测绘软件设计与实现实验报告学号:姓名:班级:指导教师:王永波实验一二叉树的构建及其遍历算法的实现实验目的:完成二叉树的构建以及二叉树的遍历等,加深对树以及二叉树的遍历相关知识的理解。实验内容:1.二叉树类的定义及建立。2.二叉树的前序、中序、后序遍历。主要代码:templateclass

    测绘软件实习报告 本文内容:

    中国矿业大学

    测绘软件设计与实现

    实验报告

    号:

    名:

    级:

    指导教师:

    王永波

    实验一

    二叉树的构建及其遍历算法的实现

    实验目的:

    完成二叉树的构建以及二叉树的遍历等,加深对树以及二叉树的遍历相关知识的理解。

    实验内容:

    1.二叉树类的定义及建立。

    2.二叉树的前序、中序、后序遍历。

    主要代码:

    template

    class

    C_LJH_BinTree

    {

    public:

    C_LJH_BinTree();//构造函数,根据输入前序序列由键盘输入

    ~C_LJH_BinTree();//析构函数

    void

    PreOrder();//前序遍历

    void

    InOrder();//中序遍历

    void

    PostOrder();//后序遍历

    private:

    T

    data;

    C_LJH_BinTreelchild,*rchild;

    bool

    NO_Die;

    };

    template

    C_LJH_BinTree::C_LJH_BinTree()

    {

    NO_Die

    =

    false;

    lchild

    =

    NULL;

    rchild

    =

    NULL;

    char

    ch;

    cin>>ch;

    if

    (ch

    ==

    #

    )

    {

    NO_Die

    =

    true;//若为#,代表空节点

    }

    else

    {

    this->data

    =

    ch;//保存输入的节点

    //左子树

    C_LJH_BinTreenewChild0

    =

    new

    C_LJH_BinTree();

    if

    (newChild0->NO_Die)

    delete

    newChild0;

    else

    this->lchild=

    newChild0;

    //右子树

    C_LJH_BinTreenewChild1

    =

    new

    C_LJH_BinTree();//直接创建子节点,

    if

    (newChild1->NO_Die)

    delete

    newChild1;

    else

    this->rchild=

    newChild1;

    }

    }

    //析构函数

    template

    C_LJH_BinTree::~C_LJH_BinTree()

    {

    if

    (lchild)

    delete

    lchild;

    //删除父节点之前,先删除子节点

    if

    (rchild)

    delete

    rchild;

    }

    //前序遍历

    template

    void

    C_LJH_BinTree::PreOrder()

    {

    coutdatalchild->PreOrder();

    if

    (rchild!=NULL)

    this->rchild->PreOrder();

    }

    //中序遍历

    template

    void

    C_LJH_BinTree::InOrder()

    {

    if

    (lchild)

    lchild->InOrder();

    coutdataInOrder();

    }

    //后序遍历

    template

    void

    C_LJH_BinTree::PostOrder()

    {

    if

    (lchild)

    lchild->PostOrder();

    if

    (rchild)

    rchild->PostOrder();

    coutdata

    m_tree;

    cout=0//v不在图中,不删除

    int

    i,j;

    VerticesList[v]=VerticesList[numVertices-1];//顶点表中删除该结点

    for(i=0;i0//输入顶点数n和边数m

    cout>e1;

    this->insertVertex(e1);}

    i=0;

    while(i>e1>>e2>>weight;//输入端点信息

    j=this->getVertexPos(e1);//查顶点号

    k=this->getVertexPos(e2);

    if(j==-1||k==-1)

    coutinsertEdge(j,k,weight);

    i++;}}

    return

    true;}

    bool

    LJH_Graphmtx::output()//输出函数

    {int

    i,j,n,m;

    char

    e1,e2;

    int

    w;

    n=this->NumberOfVertices();

    m=this->NumberOfEdges();

    coutgetWeight(i,j);

    if(w>0

    e2=this->getValue(j);coutcloseedge[j].lowcost)

    {

    min=j;

    }

    }

    }

    i=min;

    cout>u;

    int

    i=this->getVertexPos(u);

    visit[i]=1;

    for(int

    j=0;j

    >

    _A;

    int

    _row,/*行*/

    _column;

    //

    };

    void

    LJH_CMatrix::input()//输入函数

    {

    int

    i,j;

    cout>_row;

    cout>_column;

    cout>_A[i][j];

    }

    }

    void

    LJH_CMatrix::output()//输出函数

    {

    int

    i,j;

    for(i=0;i_column;

    tem._column=this->_row;

    int

    i,j;

    for(i=0;i_row-1;

    temp._column=this->_column-1;

    int

    m,n,k=0,l;

    for(m=0;myuzishi(0,i).hanglieshi();

    }

    return

    sum;

    }

    }

    LJH_CMatrix

    LJH_CMatrix::bansui()//求伴随矩阵

    {

    LJH_CMatrix

    temp;

    temp._column=this->_column;

    temp._row=this->_row;

    int

    i,j;

    for(i=0;iyuzishi(i,j).hanglieshi();}

    return

    temp;

    }

    LJH_CMatrix

    LJH_CMatrix::inverse()//矩阵求逆

    {

    LJH_CMatrix

    temp;

    int

    n;

    n=this->hanglieshi();

    temp=this->bansui();

    int

    i,j;

    for(i=0;imax)

    {max=fabs(_A[i][k]);

    m=i;}

    }

    return

    m;

    }

    LJH_CMatrix

    LJH_CMatrix::inv()//矩阵求逆,通过行列变换

    {

    int

    i,j,m;

    LJH_CMatrix

    E1;

    E1=*this;

    if(this->_row!=this->_column)

    {

    cerr_column-1;i>0;i--)//

    {double

    xishu1;

    for(m=0;m_column;j++)

    {

    E1._A[m][j]=E1._A[m][j]-xishu1*E1._A[i][j];

    E._A[m][j]=E._A[m][j]-xishu1*E._A[i][j];

    }}}

    ///////////////////////////////////矩阵单位化

    double

    xishu3;

    for(i=0;i=0;i--)

    //自下往上逐步回代求得真解

    {

    for(j=m._row-1;j>=i+1;j--)

    m._A[i][m._row]

    -=

    m._X[j]*m._A[i][j];

    m._X[i]=

    m._A[i][m._row]/m._A[i][i];

    }

    cout=0;i--)

    //利用公式Ux=Y,求解得到x

    {

    for(j=m._row-1;j>=i+1;j--)

    Y[i]

    -=

    m._X[j]*m._A[i][j];

    m._X[i]=

    Y[i]/m._A[i][i];

    }

    cout=1000)

    {

    coutmax)

    max=temp;

    }

    if

    (max<1e-6)

    {

    cout<<“迭代次数为:“<

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识