当前位置:首页 » 操作系统 » 数据结构算法题

数据结构算法题

发布时间: 2022-01-08 19:20:40

① 数据结构算法题:

无向图:
先画出全部的顶点,并用v1~v6依次标注,顶点的位置不重要,但可以配合边的情况排布得尽量美观;
然后,对于每一个包含在E中的顶点对,用一条边连接两个顶点。
邻接表:
由于是无向图,而且E中也没有给出边的权值,所以邻接表实际上就是把E中的顶点对抄一遍,如:
V1 V2
V1 V4
……

② 数据结构关于折半算法的题

修改了4处:

#include<stdio.h>

#include<stdlib.h>

#defineN15

intBinSrch(intl[],intk)

{

intlow,high,mid;

low=1;

high=10;

while(low<=high)

{

mid=(low+high)/2;

if(k==l[mid])

return(mid);

elseif(k<l[mid])

high=mid-1;

else

low=mid+1;

}

return(low);/*第1处修改*/

}

main()

{

intq,p,i,a[N];

for(i=1;i<=10;i++)

a[i]=i;

printf("请输入要插入的值:");

scanf("%d",&p);

q=BinSrch(a,p);

if(a[q]<=p)/*a[q]是函数中弹出来的下标的相应值*/

{

for(i=10;i>=q;i--)/*第2处修改*/

a[i+1]=a[i];/*第3处修改*/

a[q]=p;

}

else

{

for(i=10;i>=q;i--)/*第4处修改*/

a[i+1]=a[i];

a[q]=p;

}

for(i=1;i<=11;i++)

printf("%d",a[i]);

}

运行测试:

③ 求教几个数据结构算法题的解法

1.试写算法让一个带头结点的单链表逆置,如L=(b1,b2,...,bn)逆置为L2=(bn,bn-1,...,b2,b1)
解法如下:
假定head为头节点,
p=head->next;
if(p==NULL) return;
pnow = NULL;
while(p->next)
{
q = p->next;
p->next = pnow;
pnow = p;
p = q;
}
p->next = pnow;
head->next = p;

④ 一道数据结构题目 算法

过程的目的就是使得x,y,z,成为递减的顺序
首先判断x,y,如果x,y不是递减,即x<y,那么交换x和y,这样就保证了x,y是递减的顺序,即x>=y
然后判断y和z的顺序,如果y和z已经保证递减顺序,也就是y>=z的话,那么什么也不用做,因为这是x,y,z肯定是递减关系了
如果y<z的话,那就要看x和z谁大谁小,如果x比较大,那么顺序就是x,z,y,所以要交换z和y。如果z比较大,那么顺序就是z,x,y,那么三个数都要变:y=x,x=z,z=y

当然所有的交换都要引入临时变量temp
另外,从小到大很简单,只要输出的时候反过来就可以了,本来是顺序输出x,y,z,现在是顺序输出z,y,x

⑤ 数据结构与算法 数组题

(1)如图可知,A是一个nXn的矩阵,非零元素是


(倒数第一行应该是 (R-n) is even 就是偶数,我打错了)

以及上面全部是是n为奇数的情况,图里面画的nXn矩阵的n一定是奇数,所以应该不用考虑n为偶数的情况

⑥ 数据结构算法题

int BTreeCount(BinTreeNode* BT, char x){

if(BT){
if(BT->data>x) return BTreeCount(BT->left,x)+BTreeCount(BT->right,x)+1;
else return BTreeCount(BT->left,x)+BTreeCount(BT->right,x);
}}

⑦ 数据结构与算法题

数据结构复习
重点是了解数据结构的逻辑结构、存储结构、数据的运算三方面的概念及相互关系,难点是算法复杂度的分析方法。
需要达到<识记>层次的基本概念和术语有:数据、数据元素、数据项、数据结构。特别是数据结构的逻辑结构、存储结构及数据运算的含义及其相互关系。数据结构的两大类逻辑结构和四种常用的存储表示方法。
需要达到<领会>层次的内容有算法、算法的时间复杂度和空间复杂度、最坏的和平均时间复杂度等概念,算法描述和算法分析的方法、对一般的算法要能分析出时间复杂度。
对于基本概念,仔细看书就能够理解,这里简单提一下:
数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,有时一个数据元素可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。如整数这个集合中,10这个数就可称是一个数据元素.又比如在一个数据库(关系式数据库)中,一个记录可称为一个数据元素,而这个元素中的某一字段就是一个数据项。

数据结构的定义虽然没有标准,但是它包括以下三方面内容:逻辑结构、存储结构、和对数据的操作。这一段比较重要,我用自己的语言来说明一下,大家看看是不是这样。

比如一个表(数据库),我们就称它为一个数据结构,它由很多记录(数据元素)组成,每个元素又包括很多字段(数据项)组成。那么这张表的逻辑结构是怎么样的呢? 我们分析数据结构都是从结点(其实也就是元素、记录、顶点,虽然在各种情况下所用名字不同,但说的是同一个东东)之间的关系来分析的,对于这个表中的任一个记录(结点),它只有一个直接前趋,只有一个直接后继(前趋后继就是前相邻后相邻的意思),整个表只有一个开始结点和一个终端结点,那我们知道了这些关系就能明白这个表的逻辑结构了。

而存储结构则是指用计算机语言如何表示结点之间的这种关系。如上面的表,在计算机语言中描述为连续存放在一片内存单元中,还是随机的存放在内存中再用指针把它们链接在一起,这两种表示法就成为两种不同的存储结构。(注意,在本课程里,我们只在高级语言的层次上讨论存储结构。)

第三个概念就是对数据的运算,比如一张表格,我们需要进行查找,增加,修改,删除记录等工作,而怎么样才能进行这样的操作呢? 这也就是数据的运算,它不仅仅是加减乘除这些算术运算了,在数据结构中,这些运算常常涉及算法问题

⑧ 数据结构与算法题需要回答

《数据结构与算法》模拟题
一、填空题:(共15分)(每空一分)
按照排序时,存放数据的设备,排序可分为<1> 排序和<2> 排序。内部排序和外部排序
图的常用的两种存储结构是<3> 和<4> 。邻接矩阵和邻接表
数据结构中的三种基本的结构形式是<5> 线性结构 和<6> 树型结构 、图型结构<7> 。
一个高度为6的二元树,最多有<8> 63 个结点。
线性查找的时间复杂度为:<9> O(n^2) ,折半查找的时间复杂度为:<10> O(nlogn) 、堆分类的时间复杂度为:<11> O(nlogn) 。
在采用散列法进行查找时,为了减少冲突的机会,散列函数必须具有较好的随机性,在我们介绍的几种散列函数构造法中,随机性最好的是<12> 随机数 法、最简单的构造方法是除留余数法<13> 。
线性表的三种存储结构是:数组、<14> 链表 、<15> 静态链表 。
二、回答下列问题:(共30分)
现有如右图的树,回答如下问题:看不见图
根结点有:
叶结点有:
具有最大度的结点:
结点的祖先是:
结点的后代是:
栈存放在数组A[m]中,栈底位置是m-1。试问:
栈空的条件是什么?top=m-1
栈满的条件是什么?top=-1
数据结构和抽象数据型的区别与联系:
数据结构(data structure)—是相互之间存在一种或多种特定关系的数据元素的集合。数据元素相互之间的关系称为结构。
抽象数据类型(ADT):是指一个数学模型(数据结构)以及定义在该模型(数据结构)上的一组操作。

⑨ 408计算机数据结构考研,算法题,是要考那几张的算法啊

主要是线性表,还会有二叉树中的算法

⑩ 数据结构算法设计题和2个计算题(重分)

1:
至少为3
进栈:s1,s2,
s3,
s4,
s5,s6
出栈:
s2,
s3,
s4,
s6,s5,s1
栈内
元素
个数:1,2,1,2,1,2,1,2,3,2,1,0
2:
2^0+2+2^2+2^3+……+2^(h-1)=2^h-1
》》[2^h-1]<n<[2^(h+1)-1]
所以h=[log2
(n+1)]向下取整
算法设计题好久没看了,很伤脑筋
希望对你有用

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:760
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:660
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:308
子弹算法 发布:2024-09-20 08:41:55 浏览:285
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:814
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:159
sql数据库安全 发布:2024-09-20 08:31:32 浏览:91
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:505
编程键是什么 发布:2024-09-20 07:52:47 浏览:655
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:479