① 一个计算机算法的基础题求解答
根据你给出的问题,可以得到以下几个信息:
每对夫妻肯定是没办法握手的;
自己和自己没办法握手;
一共只有20个人
所以,小明得到了19种握手数,那么就是从0到18.
对于握手数是0的人,小红肯定认识;
对于握手数18的人,小红肯定不认识;
因此,小红的握手数是1-17中的一种。
② 算法导论 习题
将集合排序,复杂度O(nlogn)。
从小到大遍历整个数组的每个数i,计算出X-i是否存在,复杂度O(n)。
于是就是复杂度O(nlogn) + O(n) = O(nlogn)
③ 算法与程序框图习题
一、选择题
1、根据算法的程序框图,当输入n=6时,输出的结果是( )
A.35 B.84
C.49 D.25
2、如图,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面,把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是( )
A.12 B.9 C.6 D.7
3、一程序框图如图1-1-25所示,它能判断任意输入的数x的奇偶性,其中判断框中的条件是( )
A.m=0 B.x=0 C.x=1 D.m=1
图1-1-25
4、阅读下面的程序框图并判断运行结果为…( )
A.55 B.-55
C.5 D.-5
5、给出下面的算法:该算法表示( )
S1 m=a;
S2 若b<m,则m=b;
S3 若c<m,则m=c;
S4 若d<m,则m=d;
S5 输出m.
A.a,b,c,d中最大值 B.a,b,c,d中最小值
C.将a,b,c,d由小到大排序 D.将a,b,c,d由大到小排序
6、下列关于算法的说法中,正确的是 ( )
A.求解某一类问题的算法是唯一的
B.算法必须在有限步操作之后停止
C.算法的每一步操作必须是明确的,不能有歧义或模糊
D.算法执行后一定产生确定的结果
7、算法共有三种逻辑结构,即顺序结构、条件分支结构和循环结构,下列说法正确的是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.一个算法可以含有上述三种逻辑结构的任意组合
8、下面的程序框图中是循环结构的是( )
A.①② B.②③ C.③④ D.②④
9、阅读下边的程序框图,若输入的n是100,则输出的变量S和T的值依次是( )
A.2 500,2 500 B.2 550,2 550
C.2 500,2 550 D.2 550,2 500
10、程序框是程序框图的一个组成部分,下面的对应正确的是 ( )
①终端框(起止框),表示一个算法的起始和结束 ②输入、输出框,表示一个算法输入和输出的信息 ③处理框(执行框),功能是赋值、计算 ④判断框,判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”
A.(1)与①,(2)与②,(3)与③,(4)与④
B.(1)与④,(2)与②,(3)与①,(4)与③
C.(1)与①,(2)与③,(3)与②,(4)与④
D.(1)与①,(2)与③,(3)与④,(4)与②
二、填空题
1、已知函数f(x)=|x-3|程序框图1-1-26表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填_______________,②处应填_______________.
图1-1-26
2、写出下列程序框图表示的算法功能.
(1)如1-1-14图(1)的算法功能是(a>0,b>b)____________________.
(2)如1-1-14图(2)的算法功能是_____________________.
图(1) 图(2)
图1-1-14
3、已知函数f(x)=|x-3|,下面的程序框图表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填___________________________________________________.
②处应填_______________________________________________________________________.
4、指出程序框图1-1-24运行结果.
图1-1-24
若输入-4,则输出结果为_______________.
三、解答题
1、写出求方程ax2+bx+c=0的根的算法,画出相应的程序框图,并要求输出它的实根.
2、写出一个求解任意二次函数y=ax2+bx+c(a≠0)的最值的算法.
3、一把石子,3个3个地数,最后余下2个;5个5个地数,最后余下3个;7个7个地数,最后余下4个.请设计一个算法,求出这把石子至少有多少个.
④ 关于自考《数据结构导论》的疑问!同比C语言(分不多全给,请不啬指点)
你得明确学习的目的,你现在学会数据结构并不能编程,学数据结构好比学建筑的,学设计房屋,而编程好比该房,两者之间还是有一个过度的,所以你现在因为无法编程,或无法将其与编程联系起来而感到很吃力,这是在学习上的误区,要想学好数据结构,要弄明白程序运行的过程(c是面向过成的),多和其他的学员交流,一般情况下,把数据结构学的非常好后都不一定会编程,若你真要严格要求自己,我建议你把c中结构体及链表那块的知识弄懂,要非常懂,还有就是地址和指针那块的知识弄懂就ok了,
再就是看看教学视频,在网上搜一些现成的程序,拷过去运行一下,改改其中的代码,你一下就明白了,
也就是在读程序中领悟算法的实现过程
⑤ 请教高手自考数据结构算法阅读题怎么提高,不会做。
首先,要能够读懂代码,总结算法的思想,搞清楚该题算法是完成什么功能,然后是填空也好,写算法结果也好,就不成问题了。要想提高的快,就得多练啊。同时教材中的相关算法也要熟,好多是书中的原算法