PTA 4-2 二叉树的基本操作 (10分)

2024-05-03 22:57

1. PTA 4-2 二叉树的基本操作 (10分)

//输入样例://ab#c##d##//输出样例://PreOrder:abcd//InOrder:bcad//PostOrder:cbda//LevelOrder:abdc//       a//     /    \//    b      d//   / \    / \//  #   c  #   #//     / \//    #   ##include #include #define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef char TElemType;typedef struct BiTNode{    TElemType data;    struct BiTNode *lchild;    struct BiTNode *rchild;}BiTNode, *BiTree;/////////////////////////////////typedef BiTNode * QElemType;typedef struct QNode{    QElemType data;    struct QNode * next;}QNode, *QueuePtr;typedef struct{    QueuePtr front;    QueuePtr rear;}LinkQueue;Status InitQueue_L(LinkQueue &Q){    Q.front = (QueuePtr) malloc (sizeof(QNode));    if (Q.front == NULL)        return OVERFLOW;    Q.front->next = NULL;    Q.rear = Q.front;    return OK;}bool QueueEmpty_L(LinkQueue &Q){    return (Q.front == Q.rear);}int QueueLength_L(LinkQueue &Q){    int count = 0;    for (QNode *p = Q.front->next; p != NULL; p = p->next)        count++;    return count;}Status EnQueue_L(LinkQueue &Q, QElemType e){    QNode *s = (QNode *) malloc (sizeof(QNode));    s->data = e;    s->next = NULL;    Q.rear->next = s;    Q.rear = s;    return OK;}Status DeQueue_L(LinkQueue &Q){    QNode *q = Q.front->next;    Q.front->next = q->next;    if (q->next == NULL)        Q.rear = Q.front;    free(q);    return OK;}void PrintQueue_L(LinkQueue &Q){    for(QNode *p = Q.front->next; p != NULL; p = p->next)        printf("%c", p->data->data);    printf("\n");}/////////////////////////////////void CreateBiTree(BiTree &T);void PreOrder(BiTree &T);void InOrder(BiTree &T);void PostOrder(BiTree &T);void LevelOrder(BiTree &T);int main(){    BiTree T;    CreateBiTree(T);    printf("PreOrder:");    PreOrder(T);    printf("\n");    printf("InOrder:");    InOrder(T);    printf("\n");    printf("PostOrder:");    PostOrder(T);    printf("\n");    printf("LevelOrder:");    LevelOrder(T);    printf("\n");    return 0;}//创建二叉树: 先序扩展序列 + 递归法void CreateBiTree(BiTree &T){    char input;    scanf("%c",&input); //输入数据    if(input == '#')    //'#'是空节点    {       T = NULL;    }    else    {        T=(BiTree)malloc(sizeof(BiTNode));        if(T == NULL)        {            printf("\n分配动态内存时出错.\n");            exit(1);        }        T->data=input;        CreateBiTree(T->lchild);        CreateBiTree(T->rchild);    }}void PreOrder(BiTree &T) //先序遍历{    if(T != NULL)    {        printf("%c",T->data);        PreOrder(T->lchild);        PreOrder(T->rchild);    }}void InOrder(BiTree &T) //中序遍历{    if(T != NULL)    {        InOrder(T->lchild);        printf("%c",T->data);        InOrder(T->rchild);    }}void PostOrder(BiTree &T) //后序遍历{    if(T != NULL)    {        PostOrder(T->lchild);        PostOrder(T->rchild);        printf("%c",T->data);    }}void LevelOrder(BiTree &T) //层序遍历{    LinkQueue Q;    BiTree p = T;    if(p == NULL)    {        return;    }    InitQueue_L(Q);    EnQueue_L(Q, p);    while( !QueueEmpty_L(Q) )    {        p = Q.front->next->data;        DeQueue_L(Q);        printf("%c",p->data);        if(p->lchild != NULL)        {            EnQueue_L(Q, p->lchild);        }        if(p->rchild != NULL)        {            EnQueue_L(Q, p->rchild);        }    }}

PTA 4-2 二叉树的基本操作 (10分)

2. pta 遍历时用裁判定义的函数 4-2 邻接矩阵存储图的深度优先遍历 (20分)

这个应该可以
//插入排序
#ifndef LIST_H
#define LIST_H
#include
using namespace std;

template
class List
{
public:

3. PTA是什么?有哪些应用?

高纯度对苯二甲酸PTA与乙二醇(EG)缩聚得到聚对苯二甲酸乙二醇酯(PET), 还可以与1,4-乙二醇或1,4-环己烷二甲酸反应生成相应的酯,主要用于生产聚酯。
而聚酯纤维是合成纤维最主要的品种,在世界合成纤维总产量中占将近80%的比例,在中国以聚酯为原料生产的聚酯纤维已经在合成纤维总产量中超过了80的比例。加之聚酯还用于生产非纤维产品非纤产品消耗的PTA的数量近来增长迅速,非纤维领域聚酯的用量持续增长,目前产品主要用于与乙二醇酯化聚合生产聚酯切片长短涤纶纤维,广泛用于纺织,此外聚酯还用于电影胶片、涂料、油漆及聚酯塑料的生产。
PTA的应用比较集中,世界上90%以上的PTA用于生产聚对苯二甲酸乙二醇酯,其它部分是作为聚对苯二甲酸丙二醇酯(PTT)和聚对苯二甲酸丁二醇酯(PBT)及其它产品的原料。
PTA生产工艺过程可分氧化单元和加氢精制单元两部分。原料对二甲苯以醋酸为溶剂,在催化剂作用下经空气氧化成粗对苯二甲酸,再依次经结晶、过滤、干燥为粗品;粗对苯二甲酸经加氢脱除杂质,再经结晶、离心分离、干燥为PTA成品。
精对苯二甲酸是生产聚酯纤维、树脂、胶片及容器树脂的主要原料,被广泛应用于化纤、容器、包装、薄膜生产等领域。PTA的原料为二甲苯
,二甲苯的原料为石油。

PTA是什么?有哪些应用?

4. PTA、MEG是指什么?

PTA:精对苯二甲酸;MEG:精对苯二甲酸。
1、精对苯二甲酸
本品在常温下是白色晶体或粉末,低毒,易燃。若与空气混合,在一定的限度内遇火即燃烧甚至发生爆炸。它的自燃点680℃,燃点384~421℃,升华热98.4kJ/mol,燃烧热3225.9kJ/mol。溶于碱溶液,微溶于热乙醇,不溶于水、乙醚、冰醋酸及氯仿。
2、乙二醇
乙二醇又名“甘醇”、“1,2-亚乙基二醇”。乙二醇是无色无臭、有甜味液体,对动物有毒性,人类致死剂量约为1.6 g/kg。乙二醇能与水、丙酮互溶,但在醚类中溶解度较小。用作溶剂、防冻剂以及合成涤纶的原料。

扩展资料
PTA的用途:
PTA是重要的大宗有机原料之一,广泛用于与化学纤维、轻工、电子、建筑等国民经济的各个方面。同时,PTA的应用又比较集中,世界上90%以上的PTA用于生产聚对苯二甲酸乙二醇酯(简称聚酯,PET)。
生产1吨PET需要0.85-0.86吨的PTA和0.33-0.34吨的MEG(乙二醇)。聚酯包括纤维切片、聚酯纤维、瓶用切片和薄膜切片。国内市场中,有75%的PTA用于生产聚酯纤维;20%用于生产瓶级聚酯,主要应用于各种饮料尤其是碳酸饮料的包装;5%用于膜级聚酯,主要应用于包装材料、胶片和磁带。
可见,PTA的下游延伸产品主要是聚酯纤维。
参考资料来源:百度百科-精对苯二甲酸
参考资料来源:百度百科-乙二醇

5. PTAc语言基础练习

//输入样例:
//ab#c##d##
//输出样例:
//PreOrder:abcd
//InOrder:bcad
//PostOrder:cbda
//LevelOrder:abdc

//       a
//     /    \
//    b      d
//   / \    / \
//  #   c  #   #
//     / \
//    #   #

#include 
#include 

#define OK 1
#define ERROR 0
#define OVERFLOW -2

typedef int Status;
typedef char TElemType;

typedef struct BiTNode
{
    TElemType data;
    struct BiTNode *lchild;
    struct BiTNode *rchild;
}BiTNode, *BiTree;

/////////////////////////////////
typedef BiTNode * QElemType;

typedef struct QNode
{
    QElemType data;
    struct QNode * next;
}QNode, *QueuePtr;

typedef struct
{
    QueuePtr front;
    QueuePtr rear;
}LinkQueue;

Status InitQueue_L(LinkQueue &Q)
{
    Q.front = (QueuePtr) malloc (sizeof(QNode));
    if (Q.front == NULL)
        return OVERFLOW;
    Q.front->next = NULL;
    Q.rear = Q.front;
    return OK;
}

bool QueueEmpty_L(LinkQueue &Q)
{
    return (Q.front == Q.rear);
}

int QueueLength_L(LinkQueue &Q)
{
    int count = 0;
    for (QNode *p = Q.front->next; p != NULL; p = p->next)
        count++;
    return count;
}

Status EnQueue_L(LinkQueue &Q, QElemType e)
{
    QNode *s = (QNode *) malloc (sizeof(QNode));
    s->data = e;
    s->next = NULL;
    Q.rear->next = s;
    Q.rear = s;
    return OK;
}

Status DeQueue_L(LinkQueue &Q)
{
    QNode *q = Q.front->next;
    Q.front->next = q->next;
    if (q->next == NULL)
        Q.rear = Q.front;
    free(q);
    return OK;
}

void PrintQueue_L(LinkQueue &Q)
{
    for(QNode *p = Q.front->next; p != NULL; p = p->next)
        printf("%c", p->data->data);
    printf("\n");
}
/////////////////////////////////

void CreateBiTree(BiTree &T);
void PreOrder(BiTree &T);
void InOrder(BiTree &T);
void PostOrder(BiTree &T);
void LevelOrder(BiTree &T);

int main()
{
    BiTree T;

    CreateBiTree(T);

    printf("PreOrder:");
    PreOrder(T);
    printf("\n");

    printf("InOrder:");
    InOrder(T);
    printf("\n");

    printf("PostOrder:");
    PostOrder(T);
    printf("\n");

    printf("LevelOrder:");
    LevelOrder(T);
    printf("\n");

    return 0;
}
//创建二叉树: 先序扩展序列 + 递归法
void CreateBiTree(BiTree &T)
{
    char input;
    scanf("%c",&input); //输入数据
    if(input == '#')    //'#'是空节点
    {
       T = NULL;
    }
    else
    {
        T=(BiTree)malloc(sizeof(BiTNode));
        if(T == NULL)
        {
            printf("\n分配动态内存时出错.\n");
            exit(1);
        }
        T->data=input;
        CreateBiTree(T->lchild);
        CreateBiTree(T->rchild);
    }
}

void PreOrder(BiTree &T) //先序遍历
{
    if(T != NULL)
    {
        printf("%c",T->data);
        PreOrder(T->lchild);
        PreOrder(T->rchild);
    }
}

void InOrder(BiTree &T) //中序遍历
{
    if(T != NULL)
    {
        InOrder(T->lchild);
        printf("%c",T->data);
        InOrder(T->rchild);
    }
}

void PostOrder(BiTree &T) //后序遍历
{
    if(T != NULL)
    {
        PostOrder(T->lchild);
        PostOrder(T->rchild);
        printf("%c",T->data);
    }
}

void LevelOrder(BiTree &T) //层序遍历
{
    LinkQueue Q;
    BiTree p = T;
    if(p == NULL)
    {
        return;
    }
    InitQueue_L(Q);
    EnQueue_L(Q, p);
    while( !QueueEmpty_L(Q) )
    {
        p = Q.front->next->data;
        DeQueue_L(Q);
        printf("%c",p->data);
        if(p->lchild != NULL)
        {
            EnQueue_L(Q, p->lchild);
        }
        if(p->rchild != NULL)
        {
            EnQueue_L(Q, p->rchild);
        }
    }
}

PTAc语言基础练习

6. pta是什么的缩写?

  PTA
  精对苯二甲酸(PTA),相对分子量为166.13,结构式HOOC[C6H4]COOH,在常温下是白色粉状晶体,无毒易燃,若与空气混合在一定限度内遇火即燃烧。高纯度对苯二甲酸PTA与乙二醇(EG)缩聚得到聚对苯二甲酸乙二醇酯(PET), 还可以与1,4-乙二醇或1,4-环己烷二甲酸反应生成相应的酯,主要用于生产聚酯。而聚酯纤维是合成纤维最主要的品种,在世界合成纤维总产量中占将近80%的比例,在中国以聚酯为原料生产的聚酯纤维已经在合成纤维总产量中超过了80的比例。加之聚酯还用于生产非纤维产品非纤产品消耗的PTA的数量近来增长迅速,非纤维领域聚酯的用量持续增长,目前产品主要用于与乙二醇酯化聚合生产聚酯切片长短涤纶纤维,广泛用于纺织,此外聚酯还用于电影胶片、涂料、油漆及聚酯塑料的生产。
  PTA的应用比较集中,世界上90%以上的PTA用于生产聚对苯二甲酸乙二醇酯,其它部分是作为聚对苯二甲酸丙二醇酯(PTT)和聚对苯二甲酸丁二醇酯(PBT)及其它产品的原料。
  PTA生产工艺过程可分氧化单元和加氢精制单元两部分。原料对二甲苯以醋酸为溶剂,在催化剂作用下经空气氧化成粗对苯二甲酸,再依次经结晶、过滤、干燥为粗品;粗对苯二甲酸经加氢脱除杂质,再经结晶、离心分离、干燥为PTA成品。
  精对苯二甲酸是生产聚酯纤维、树脂、胶片及容器树脂的主要原料,被广泛应用于化纤、容器、包装、薄膜生产等领域。PTA的原料为二甲苯,二甲苯的原料为石油。而PTA是聚酯的原料,聚酯又是涤纶的原料,而化纤中80%为涤纶,化纤占纺织业原料36%的份额。
  中国对PTA期货的需求
  目前国外尚无PTA期货品种。中国是世界上最大的PTA消费市场,目前的进口依存度约为50%,推出PTA期货将有利于市场相关各方规避价格波动风险,并进一步争夺PTA的定价权。
  目前中国是世界上最大的PTA消费市场,去年中国PTA产量为550万吨,消费量超过1000万吨,预计到2010年需求量将达到1700万吨,国内PTA市场存在很大的一部分需求要靠进口弥补。由于市场需求的扩大和石油价格的攀升,近年来PTA市场价格也不断上涨,由于缺乏避险工具,相关企业承受了非常大的市场风险。
  PTA期货的未来
  PTA(即精对苯二甲酸)期货有望在年内登陆郑州商品交易所。PTA期货上市已经获得了国务院的批准。
  PTA价格
  PTA成本价=0.655×PX价+1200
  PTA成本价=0.655×PX价+1200。其中0.655×PX价格为原料成本,1200元为各种生产费用。
  (1)PTA的生产原料成本
  PTA的原料成本=0.655*PX价
  (2)单位产品直接加工成本约375元/吨
  (3)单位产品包装成本约45元/吨
  (4)单位产品人工成本约20元/吨
  (5)单位产品财务费用约145元,单位产品折旧约305元
  (6)单位产品运费约50元/吨
  (7)单位产品维修、管理费用估计在60元/吨
  (8)PTA生产的税前总成本:0.655×PX价+1000
  注:PX又称对二甲苯,是一种重要的有机化工原料,用它可生产精对苯二甲酸(PTA)。
  PTA进口价格计算:
  计算公式为PTA 570美元/吨×换算人民币汇率***×增值税***×关税6.5%+码头费用约150元/吨=5530.62元/吨,
  PTA进口价格= FOB(离岸价)×换算人民币汇率×增值税×关税6.5%+码头费用约150元/吨
  PTA的进口关税将逐年降低,2002年中国PTA的关税为12.8%,按照关税减让日程2003年1月1日起降为11.8%。2005年聚酯链产品:对位二甲苯(PX)、精对苯二酸(PTA)和聚乙烯对苯二酸酯(PET)的进口关税下调了0.5%-1%。PTA的进口税在2004年税率的基础上削减了0.5%,降到6.5%。