学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 外语学习 > 韩语学习 > 2011年贵州省数据概述纲要

2011年贵州省数据概述纲要

2011年贵州省数据概述纲要

1、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。

void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度

{BiTree p=bt,l[],s[]; //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点

int i,top=0,tag[],longest=0;

while(p || top>0)

{ while(p) {s[++top]=p;tag[top]=0; p=p->Lc;} //沿左分枝向下

if(tag[top]==1) //当前结点的右分枝已遍历

{if(!s[top]->Lc && !s[top]->Rc) //只有到叶子结点时,才查看路径长度

if(top>longest) {for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;}

//保留当前最长路径到l栈,记住最高栈顶指针,退栈

}

else if(top>0) {tag[top]=1; p=s[top].Rc;} //沿右子分枝向下

}//while(p!=null||top>0)

}//结束LongestPath

2、矩阵中元素按行和按列都已排序,要求查找时间复杂度为O(m+n),因此不能采用常规的二层循环的查找。可以先从右上角(i=a,j=d)元素与x比较,只有三种情况:一是A[i,j]>x, 这情况下向j 小的方向继续查找;二是A[i,j]<x,下步应向i大的方向查找;三是A[i,j]=x,查找成功。否则,若下标已超出范围,则查找失败。

void search(datatype A[ ][ ], int a,b,c,d, datatype x)

//n*m矩阵A,行下标从a到b,列下标从c到d,本算法查找x是否在矩阵A中.

{i=a; j=d; flag=0; //flag是成功查到x的标志

while(i<=b && j>=c)

if(A[i][j]==x) {flag=1;break;}

else if (A[i][j]>x) j--; else i++;

if(flag) printf(“A[%d][%d]=%d”,i,j,x); //假定x为整型.

else printf(“矩阵A中无%d 元素”,x);

}算法search结束。

[算法讨论]算法中查找x的路线从右上角开始,向下(当x>A[i,j])或向左(当x<A[i,j])。向下最多是m,向左最多是n。最佳情况是在右上角比较一次成功,最差是在左下角(A[b,c]),比较m+n次,故算法最差时间复杂度是O(m+n)。

3、我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置(下标)。用j记住局部平台的起始位置,用i指示扫描b数组的下标,i从0开始,依次和后续元素比较,若局部平台长度(i-j)大于l时,则修改最长平台的长度k(l=i-j)和其在b中的起始位置(k=j),直到b数组结束,l即为所求。

void Platform (int b[ ], int N)

//求具有N个元素的整型数组b中最长平台的长度。

{l=1;k=0;j=0;i=0;

while(i<n-1)

{while(i<n-1 && b[i]==b[i+1]) i++;

第1页

TOP相关主题

  • 贵州省十三五规划纲要
  • 贵州省十二五规划纲要
  • 贵州省依法治省纲要
  • 2011年贵州省统计公报
  • 妇女发展纲要2011
  • 全国国土规划纲要2011
  • 贵州省大数据
  • 贵州省贫困生数据库

我要评论

相关文档

  • 2011年贵州省数据纲要

    2011年贵州省数据纲要_韩语学习_外语学习_教育专区。2011年贵州省数据纲要 1、冒泡排序算法是把大的元素向上移(气泡的上浮) ,也可以把小的元素向下移(气泡的下 ...

  • 2011年贵州省数据统计纲要

    2011年贵州省数据统计纲要_韩语学习_外语学习_教育专区。2011年贵州省数据统计纲要 1、假设以 I 和 O 分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和...

  • 2011年贵州省重要数据纲要

    2011年贵州省重要数据纲要_韩语学习_外语学习_教育专区。2011年贵州省重要数据纲要 1、假设以 I 和 O 分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和...

  • 2011年贵州省数据整理纲要

    2011年贵州省数据整理纲要_韩语学习_外语学习_教育专区。2011年贵州省数据整理纲要 1 、已知有向图 G=(V,E) ,其中 V={V1,V2,V3,V4,V5,V6,V7} E={<V...

  • 2011年贵州省数据库入门纲要

    2011年贵州省数据库入门纲要_韩语学习_外语学习_教育专区。2011年贵州省数据库入门纲要 1、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶...

  • 2012年贵州省数据理论纲要

    2012年贵州省数据理论纲要_韩语学习_外语学习_教育专区。2012年贵州省数据理论纲要 1 、已知有向图 G=(V,E) ,其中 V={V1,V2,V3,V4,V5,V6,V7} E={<V...

  • 2015年贵州省数据纲要

    2015年贵州省数据纲要_韩语学习_外语学习_教育专区。2015年贵州省数据纲要 1、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一个遍历序列。但对于满...

  • 2014年贵州省数据整理纲要

    2014年贵州省数据整理纲要_韩语学习_外语学习_教育专区。2014年贵州省数据整理纲要 1、证明由二叉树的中序序列和后序序列,也可以唯一确定一棵二叉树。 当 n=1 ...

  • 2015年贵州省数据理论纲要

    2015年贵州省数据理论纲要_韩语学习_外语学习_教育专区。2015年贵州省数据理论纲要 1、设一棵树 T 中边的集合为{(A ,B),(A ,C),(A ,D),(B ,E),(C...

  • 贵州省数据产业发展规划纲要

    贵州省数据产业发展规划纲要_互联网_IT/计算机_专业资料。贵州大数据产业发展规划纲要全文 《贵州省数据产业发展规划纲要》序言 大数据是通过快速获取、处理、...

  • 贵州省数据产业发展规划纲要(2014-2020年)

    贵州省数据产业发展规划纲要》序言 大数据是通过快速获取、处理、分析以从中提取价值的海量、多样化的交易 数据、交互数据与传感数据。大数据产业是指一切与大...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部