网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月05日
漏签
0
天
数据结构吧
关注:
104,525
贴子:
883,666
看贴
图片
吧主推荐
视频
游戏
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
尾页
407
回复贴,共
16
页
,跳到
页
确定
<<返回数据结构吧
>0< 加载中...
回复:本人今年大五鸟、为学弟学妹答疑解惑。
只看楼主
收藏
回复
这个色号可以
单链表
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
求学长拯救!!!
数据结构课程设计,C++语言编写,要程序并且运行出来!!!
题目是自己找一篇英语文章,然后统计里面的词频,最后分析时间复杂度~~~
少年梦fire
邻接表
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
想问下学长现在在总什么啊?软件开发吗?想问你些学习经验
天津三六零快看科技
360文库提供海量优质文档模板,类型覆盖教育、资格考试、经济管理等。深度融合技术,致力于赋能办公和创作场景,提供智能写作、AIPPT、AI问答等功能…
2025-05-05 09:05
广告
立即查看
广告
立即查看
贴吧用户_0JQ7U2e
四项式
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
由二叉树的中序序列及前序序列能唯一的建立二叉树,试问中序序列及后序序列是否也能唯一的建立二叉树,不能则说明理由,如能请对中序序列DBEAFGC和后序序列DEBGFCA构造二叉树。假定某二叉树前序遍历序列为ABCDEFGHIJ后序遍历为CEFDBJIHGA,据此两个序列能否唯一确定此二叉树?若不能,请画出两样具有同样上述遍历序列的二叉树。
谢谢各位了。不好画的话大家可以拍照传上来,再次谢谢!!!
贴吧用户_0JQ7U2e
四项式
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
学长啊,我的提你帮帮我吧
酷拉皮卡的笑颜
二叉树
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这里大三………就像问问怎样用快速排序的思想找出第j个位置关键字!……代码运行没错就是不出结果
酷拉皮卡的笑颜
二叉树
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
(88) 快速排序找出排在第j个的关键字
#include<stdio.h>
#include<stdlib.h>
#define n 10
typedef char datatype;
typedef struct
{
int key;
datatype other;
}rectype;
rectype R[n+1];
int PARTITION(rectype R[],int l,int h)
{
int i,j;
rectype temp;
i=l;j=h;temp=R[i];
do
{
while((R[j].key>=temp.key) && (i<j))
j--;
if(i<j) R[i++]=R[j];
while((R[i].key<=temp.key) && (i>j))
i++;
if(i>j) R[j--]=R[i];
}while(i!=j);
R[i]=temp;
return i;
}
int QUICKsort(rectype R[],int j,int s1,int t1)
{
int i;
if(s1<t1)
{i=PARTITION(R,s1,t1);
if(i==j)
return j;
else if(i<j)
return QUICKsort(R,j,i+1,t1);
else return QUICKsort(R,j,s1,i-1);
}
} int main()
{
int i,j,m;
printf("请输入关键字序列:\n");
for(i=1;i<n;i++)
scanf("%d",&R[i]);
printf("请输入需要查找的位置j:");
scanf("%d\n",&j);
m=QUICKsort(R,j,1,n);
printf("%d",R[m]); }
一念起一念落
单链表
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
对普通的二叉排序树、AVL树分别实现制定操作,并分析比较这两种不同数据结构对应的一系列插入和删除的效率。要求测试对N个不同整数进行下列操作的效率:
按递增顺序插入N个整数,并按同样顺序删除;
按递增顺序插入N个整数,并按相反顺序删除;
按随机顺序插入N个整数,并按随机顺序删除;
要求N从1000到10000取值,并以数据规模N为横轴,运行时间为纵轴,画出3种不同数据结构对应的操作效率比较图。
求解 谢谢
迪斯尼屹耳驴
单链表
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
top=0;p=bt;
do
{
while (p!=NULL) //遍历左子树
{
s[top].ptr = p;
s[top].tag = 1; //标记为左子树
top++;
p=p->lchild;
} while (top>0 && s[top-1].tag==2)
{
x = s[--top];
p = x.ptr;
cout<<p->data; //tag为R,表示右子树访问完毕,故访问根结点
} if (top>0)
{
s[top-1].tag =2; //遍历右子树
p=s[top-1].ptr->rchild;
}
}while (top>0);}
}//PostOrderUnrec int BTDepth(BiTree T){//求二叉树的深度
if(!T) return 0;
else{
int h1=BTDepth(T->lchild);
int h2=BTDepth(T->rchild);
if(h1>h2) return h1+1;
else return h2+1;
}
} int Leaf(BiTree T){//求二叉树的叶子数
if(!T) return 0;
else if(!T->lchild&&!T->rchild) return 1;
else return(Leaf(T->lchild)+Leaf(T->rchild));
} int NodeCount(BiTree T){//求二叉树的结点总数
if(!T) return 0;
else return NodeCount(T->lchild)+NodeCount(T->rchild)+1;
} void main(){
BiTree T;
T=NULL;
int select;
//cout<<"请按先序次序输入各结点的值,以空格表示空树(输入时可连续输入):"<<endl;
// CreateBiTree(T);
while(1){
cout<<"\n\n请选择要执行的操作:\n";
cout<<"1.创建二叉树\n";
cout<<"2.二叉树的递归遍历算法(前、中、后)\n";
cout<<"3.二叉树的层次遍历算法\n";
cout<<"4.求二叉树的深度\n";
cout<<"5.求二叉树的叶子结点\n";
cout<<"6.求二叉树的结点总数\n";
cout<<"7.二叉树的非递归遍历算法(前、中、后)\n"; //此项可选做
cout<<"0.退出\n";
cin>>select;
switch(select){
case 0:return;
case 1:
cout<<"请按先序次序输入各结点的值,以空格表示空树(输入时可连续输入):"<<endl;
CreateBiTree(T);
break;
case 2:
if(!T) cout<<"未建立树,请先建树!";
else{
cout<<"\n先序遍历:\n";
PreOrderTraverse(T);
cout<<"\n中序遍历:\n";
InOrderTraverse(T);
cout<<"\n后序遍历:\n";
PostOrderTraverse(T);
}
break;
case 3:
cout<<"\n层序遍历:\n";
LevelOrderTraverse(T);
break;
case 4:
cout<<"二叉树的深度为:\n";
cout<<BTDepth(T);
break;
case 5:
cout<<"\n叶子节点数:\n";
cout<<Leaf(T);
break;
case 6:
cout<<"总节点数:\n";
cout<<NodeCount(T);
break;
case 7:
if(!T) cout<<"未建立树,请先建树!";
else{
cout<<"\n先序遍历:\n";
NRPreOrder(T);
cout<<"\n中序遍历:\n";
NRInOrder(T);
cout<<"\n后序遍历:\n";
NRPostOrder(T);
}
break;
default:
cout<<"请确认选择项:\n";
}//end switch
}//end while }
广告
立即查看
迪斯尼屹耳驴
单链表
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
使用二叉链表建立二叉树的存储结构。
(
2
)实现二叉树的先序、中序、后序和层序遍历。
(
3
)实现二叉树两种应用算法,如计算二叉树中的叶子结点的个数、求二叉树的深度、将二叉树中所有结点的左右孩子互换、求二叉树从根到叶子的路径、判断二叉树是否为完全二叉树等应用算法。
迪斯尼屹耳驴
单链表
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
学长我想问问上面的那段程序符合题目要求吗三克油啦
淮工小亮
二叉树
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
求解释
Sundy_叶_子
单链表
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
设顺序表
vb
中的数据元素递增有序。试写一算法,将
z
插入到顺序表的适当位置上,以保持该表的有序性。
ss__Diamond
单链表
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
话说大一数据结构表示很坑爹的几乎都没听......自学的话果然除了练习代码不知道干什么好呢.... - -...
还有,借了一本C语言版的数据结构书.暂时小程序在用Visual Studio里的C#语言练习....
到后期会不会遇到问题..毕竟是新人...
还有呢....有没有好的C++的小案例的书推荐一下下~~....我是不是问的太多了......
vieyahn
自成一派
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不错,
广告
立即查看
读不懂的易经
无向图
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
回复:酷拉皮卡的笑颜 (以下是正确代码)
// 快速排序找出排在第j个的关键字
#include<stdio.h>
#include<stdlib.h>
#define n 10
typedef char datatype;
typedef struct
{
int key;
//datatype other;
}rectype;
rectype R[n+1];
int PARTITION(rectype R[],int l,int h)
{
int i,j;
rectype temp;
i=l;
j=h;
temp=R[l];
do
{
while((R[j].key>=temp.key) && (i<j))
j--;
if(i<j){ /// 太粗心了
temp = R[i];
R[i]=R[j];
R[j]= temp;
i++;
}
while((R[i].key<=temp.key) && (i>j))
i++;
if(i>j) R[j--]=R[i];
}while(i!=j);
R[i]=temp;
return i;
}
int QUICKsort(rectype R[],int j,int s1,int t1)
{
int i;
if(s1<t1)
{
i=PARTITION(R,s1,t1);
if(i==j)
return j;
else if(i<j)
return QUICKsort(R,j,i+1,t1);
else return QUICKsort(R,j,s1,i-1);
}
}
int main()
{
int i,j,m;
printf("请输入关键字序列:\n");
for(i=1;i<=n;i++) /// 这里也是
scanf("%d", &R[i].key); ///
printf("请输入需要查找的位置j:");
scanf("%d",&j); /// 这里
m=QUICKsort(R,j,1,n);
printf("%d",R[m].key);
system("pause");
return 0;
}
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示