数据结构算法Day09-创新互联
7、输出二叉搜索树中所有值大于key的结点
文章题目:数据结构算法Day09-创新互联
文章URL:http://azwzsj.com/article/dcepse.html
进行遍历,如果值大于key直接输出
成都创新互联公司服务项目包括盐都网站建设、盐都网站制作、盐都网页制作以及盐都网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,盐都网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到盐都省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
void OutPut(BiTree T,int key){
if(T==NULL)
return;
if(T->lchild!=NULL)
OutPut(T->lchild,key);
if(T->data>key)
printf("%d",T->data);
if(T->rchild!=Null)
OutPut(T->rchild,key);
}
8、判断一个二叉树是否为平衡二叉树//求二叉树高度
int get_high(BiTree T){
if(T==NULL)
ruturn 0;
else
hl=get_high(T->lchild);
hr=get_high(T->rchild);
return hl>hr?hl+1:hr+1;
}
//判断是否为平衡二叉树
bool Judge_AVL(BiTree T){
int hl,hr;
if(T==NULL)
return false;
else{
hl=get_high(T->lchild);
hr=get_high(T->rchild);
if(abs(hl-hr)<=1)
return Judge_AVL(T->lchild)&&Judge_AVL(T->rchild);
else
return false;
}
}
六、排序
1、直接插入排序每次都新插入一个数,数组范围:
0-0
0-1
0-n-1
void InsertSort(int A[],int n){
//临时变量与新插入的
int temp,newnum;
for(int i=1;i=0 && A[newnum]
2、折半插入排序void InsertSort(int A[], int n){
int low,high,mid;
for(int i=2;iA[0])
high=mid-1;
else
low=mid+1;
}//找到插入位置
//开始插入 high+1为我们想要插入的位置
for(int j=i;j>high+1;j--){
A[j]=A[j-1];
}
A[high+1]=A[0];
}
}
3、冒泡排序void BubbleSort(int A[],int n){
int temp;
for(int i=n-1;i>=0;i--){
for(int j=1;j<=i;j++){
if(A[j-1]>A[j]){
temp=A[j-1];
A[j-1]=A[j];
A[j]=temp;
}
}
}
}
4、快速排序void QuickSort(int A[],int n)
{
QSort(A,0,n-1);
}
void QSort(int A[],int low,int high)
{
int pivot;
if(low
//一趟快排
int Partition(int A[],int low,int high){
int pivot;
pivot=A[low];
while(lowpivot)
high--;
if(low
5、选择排序void SelectSort(int A[], int n){
int min;
int jilu;
for (int i = 0; i< n; i++)
{
min = i;
for (int j = i; j< n; j++)
{
if (A[j]
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章题目:数据结构算法Day09-创新互联
文章URL:http://azwzsj.com/article/dcepse.html