① 算法的执行效率与数据的储存结构无关
答案C
分析:用算法的定义逐一来分析判断各选项的正确与否.
算法的特点:有穷性,确定性,顺序性与正确性,不唯一性,普遍性
算法可以用自然语言、图形语言,程序语言来表示,故A、B不对
同一问题可以用不同的算法来描述,但结果一定相同,故D不对.C对.
故应选C.
点评:考查算法的定义以及算法的表示形式,算法的特征,考查很详细.
打字不易,如满意,望采纳.
② 数据结构和算法有什么关系数据结构就是算法吗
首先你要弄清楚数据结构是什么?数据结构呢其实就是一种存储数据之间的逻辑结构:比如我们学过的线性结构:顺序表啦,链表啦;层次结构:树啦。合适的数据结构可以带来更高的运行效率和存储效率,与相应解决实际问题算法的适应性也就越高,这也就是为什么一些算法指定了数据存储必须以某种特定的数据结才行。一般都是根据合适的数据结构来设计算法,而不是根据算法来设计数据结构。
算法和数据结构往往是互不分开的。离开了算法,数据结构就显得毫无意义,而没有了数据结构算法就没有实现的条件。良好的数据结构思想就是一种高效的算法,但是数据结构不等于算法。只有当数据结构用于处理某个特定问题类型的时候,数据结构才会体现为算法。要想细致的了解,就要多看书,因为这东西毕竟发展了那么多年,一两句话是说不清楚的。想知道更多的数据结构与算法知识吗?可以去了解一下小码哥李明杰。
③ 算法的时间复杂度和存储结构有关吗
有关,数据结构也是影响时间复杂度的重要因素之一。
④ 影响算法设计的因素有哪些
影响算法设计的有以下因素:
针对机器:空间复杂性和时间复杂性。
针对程序员:算法表达和实现的简单性。
针对问题:算法对问题及问题输入规模的普适性。
影响算法效率的因素
1、从大的方面来讲,所选择的语言对算法的效率影响很大。一般来说,使用越高级的语言所需要的时间和空间就越大。另外,不同编译器产生的代码质量不同,这对算法的效率也会有影响。
2、存储结构
数据的存储结构,分为顺序存储结构和链式存储结构。顺序存储结构的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;链式存储结构则是借助指示元素存储地址的指针表示数据元素之间的逻辑关系。不同的问题求解选用不同的存储结构。
3、指针操作
在使用指针时,指针的有秩序扫描非常重要。例如在模式匹配中,如果直接进行匹配,当有不完全匹配时,主串的指针需要回溯。
在KMP算法中,我们先可以求出每个元素的next函数值,从而在发生不完全匹配时,主串的指针不必要回溯,只需要模式串的元素回到当前元素的next函数值所指的元素再进行匹配即可。当主串和模式串有很多不完全匹配时,KMP算法可以大大提高效率。
4、查找的效率
有很多快速查找的算法都可以提高查找的效率,如建立索引,折半查找等,都是在记录和关键字之间进行比较,从而寻求关系。这一类查找建立在比较的基础之上。查找的效率依赖于查找过程中所进行的比较次数。
在哈希表中,使得记录的存储位置和关键字之间建立一个确定的存储关系,因而在查找时,只需要根据这个对应的关系f 找到给定值K 的像f(k)。用这个思想建立哈希表。如在基因组匹配时,用哈希表非常方便。
5、数据类型的选择
数据类型的选择也会影响算法效率,在对时间和空间要求非常严格时,尽可能的使用占用空间较小的数据类型。使用动态开辟空间会使得效率降低,所有在能确定或估计出需要的空间大小的情况下尽量使用静态数字。个人觉得用vector虽然方便,但是效率并不高。
6、存储方式
用堆操作还是用栈操作,对于不同的问题需要仔细选择。在串和队列的有关操作中用堆操作合适,在树的操作中用栈操作合适,如建立二叉树中序遍历的递归算法或非递归算法,用栈操作好。
⑤ 数据结构与算法,这道难题怎么做啊,求指教
首先,要能够读懂代码,总结算法的思想,搞清楚该题算法是完成什么功能,然后是填空也好,写算法结果也好,就不成问题了。要想提高的快,就得多练啊。同时教材中的相关算法也要熟,好多是书中的原算法
1. 在计算机中,算法是指什么?
答案:解题方案的准确而完整的描述。
2. 在下列选项中,哪个不是一个算法一般应该具有的基本特征?
说明:算法的四个基本特征是:可行性、确定性、有穷性和拥有足够的情报。 答案:无穷性。
3. 算法一般都可以用哪几种控制结构组合而成? 答案:顺序、选择、循环。 4. 算法的时间复杂度是指?
答案:算法执行过程中所需要的基本运算次数。 5. 算法的空间复杂度是指?
答案:执行过程中所需要的存储空间。 6. 算法分析的目的是?
答案:分析算法的效率以求改进。 7. 下列叙述正确的是(C)
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.算法的时间复杂度是指执行算法程序所需要的时间 8. 数据结构作为计算机的一门学科,主要研究什么?
答案:主要研究数据的逻辑结构、对各种数据结构进行的运算,以及数据的存储结构。 9. 数据结构中与所使用的计算机无关的是数据的(C) A.存储结构 B.物理结构
C.逻辑结构 D.物理和存储结构 10. 下列叙述中,错误的是(B)
A.数据的存储结构与数据处理的效率密切相关 B.数据的存储结构与数据处理的效率无关
C.数据的存储结构在计算机中所占的空间不一定是连续的 D.一种数据的逻辑结构可以有多种存储结构 11. 数据的存储结构是指什么?
答案:数据的逻辑结构在计算机中的表示。 12. 数据的逻辑结构是指?
答案:反映数据元素之间逻辑关系的数据结构。
13. 根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为? 答案:线性结构和非线性结构。
14. 下列数据结构具有记忆功能的是(C) A.队列 B.循环队列 C.栈
D.顺序表
15. 下列数据结构中,按先进后出原则组织数据的是(B) A.线性链表 B.栈
C.循环链表 D.顺序表
⑥ 数据的存储结构与数据的处理效率有关
当然有关了,就好像你往书柜里放书,不同的放书的方式会影响你找这本书的速度。
⑦ (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令
B对了吧,不过似乎不完整。
这应该是数据结构的题目,数据的存储结构将直接影响到算法的执行效率的。
比如用数组跟用链表的效果就是不一样的,它们的查找、插入、删除、排序都是不一样的。
⑧ 算法的执行效率和数据内存有关系吗
严格的说算法的执行效率跟算法本身的效率和计算机的效率有关。
计算机的效率包括cpu和内存的速度。这是你执行算法时候实实在在花费的时间长短。
撇开计算机的效率,算法本身的效率跟算法本身和数据有关。比如冒泡排序,如果数据本身已经接近要求的顺序和是逆序差别极大。
⑨ 算法的执行效率于数据的存储结构有关么为什么
当然有关,好的数据结构能加速算法的速度。所以说算法和数据结构是不分家的。但是这和高速缓存没有关系,那是硬件上的东西。
⑩ 程序执行的效率与与什么有关
程序执行的效率跟算法有关,而一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
1、空间复杂度是指算法在计算机内执行时所需存储空间的度量
2、一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。
在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n2+3n+4与T(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为O(n2)。
按数量级递增排列,常见的时间复杂度有:
常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n^3),...,
k次方阶O(n^k),指数阶O(2^n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。