- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个算法应该具有以下几个五个特征:(有穷性)(确定性)(输入)(输出)(可行性)
算法的复杂度有(时间)和(空间)之分
数据结构指的是数据之间的相互关系,,既数据的组织形式,一般包括三个方面的内容(逻辑结构)(存储结构)(数据的运算)
(数据元素)是数据的基本单位
(算法的复杂度)是算法效率的度量,是评价算法优势的重要依据
(结构)是元素之间的关系的集合
通常来说,一个数据结构的DS可以表示为一个(二元组)
最常用的数据结构是(数组结构)和(记录结构)
算法设计策略有(递归技术)(分治法)(模拟法)(贪心算法)(随机算法)(动态规划)(状态空间)(搜索法)
现实世界中的事物及联系在数据世界中用(数据模型)描述
数据元素之间的逻辑关系,也称(数据的逻辑结构)
数据的逻辑结构可以形式的用一个二元组B=(K,R)来表示,其中K是(结点的有穷集合)R是*(K上关系的有穷集合)
一个数据元素可以有若干个(数据项)组成考虑:如何做;
(数据项)是具有独立含义的最小表示单位
(数据的运算)既对数据施加的操作
(数据的逻辑结构)可以看做是从具体问题抽象出来的数学模型
数据元素及其关系在计算机存储;内的表示称为(数据的存取结构)
数据的存储结构是逻辑结构用(计算机语言)的实现
对机器语言而言,存储结构是具体的。一般至在(高级语言)层次上讨论存储机构
所谓(抽象的操作),是至只知道这些操作是“做什么”,而无需
较早的软件开发用结构法层序设计方法。层序的定律是;程序=(算法)+(数据结构)
算法是一个独立的整体,数据结构也是一个独立的整体俩者分开设计以(算法)为主;’
数据结构是介于(数学)(计算机硬件)(计算机软件)三者之间的一门核心课程
数据的范畴包括(整数)(实数)(字符串)(图像)和(声音)
下面程序的时间复杂度为)(0(sqrt(n)))
Void prime(int n)
{ for(i=2;((n%i)!=)0(isqart(n));i++);
If(isqart(n))
Printf(“%d is a prime number”,n);
Else print(“%d is a prime number”,n); }
下面程序的时间复杂度为(0(n))
Float suml (int n)
{ p=1;suml=0;
For(i=1;i=n;++i)
{p=p*i;suml=suml+p; }}
下面的时间复杂度为(0(n^2))
Float sum2(int n)
{ sum2=0;
For{i=1;i=n;i++)
} p=1;
For(j=1;ji;++j) p=p*i;
Sum2=sum2+p; }}
顺序存储的线性表,设其长度为n。在任何位置上插入或删除操作的时间代价基本上都是等效的。则插入一个元素大约需要移动表中的(n(n+1)/2 )个元素,删除一个元素时大约要移动表中的( n(n-1)/2 )
个元素。
线性表的存储结构可以分为(线性存储结构)和(链式存储结构)。
若要在一个不带表头结点的单链表的首结点*P结点之前插入一个*S结点时,可执行下列操作:
(1)s-next= p-next ;
(2) p-next=s;
(3)t=p-data;
(4)p-data= s-data ;
(5)s-data= t ;
4.根据线性表的链式存储结构中每个结点所含指针的个数,链表可分为(单链表)和(双链表);而根据指针的联系方式,链表又可分为(非循环链表)和(循环链表)。
5.对于线性表的顺序存储,需要预先分配好存储空间。若分配太多容易造成存储空间的(浪费),若分配太少又容易在算法中造成(上溢),因而只适用于数据量变化不大的情况;对于线性表的链接存储,不需要(预先分配)存储空间,存储器中的整个(空间)都可供使用,分配和回收结点都非常方便,能有效的利用存储空间,在算法中不必考虑(上溢)的发生,因而适用于数据量变化较大的情况。
7.(双向)链表适合从指点结点开始,寻找直接前趋的运算。
8.当一个线性表经常进行存取操作而很少进行插入和删除操作时,则采用(顺序)存储结构为宜,相反,当经常进行的是插入和删除操作时,则采用(链接)存储结构为宜。
9.在单链表中设置头结点的作用是(使空表和非空表统一,算法处理一致)。
10.顺序表中逻辑上相邻的元素物理位置(一定)紧邻,单链表中逻辑上相邻的元素物理位置(不一定)紧邻。
11.如果线性表的存储空间变化较大,则适用(链)表。
12.在链表中,每个结点中含8个字符,1个指针域。其中每个字符占1个字节,每个指针占4个字节。则该结点的存储密度是(2/3)。
13.当向一个顺序表插入
文档评论(0)