数据结构导论数据结构导论里的时间复杂度

数据结构导论  时间:2021-06-23  阅读:()

数据结构导论考试大纲

安排新计划中的“数据库系统原理”(4735)、“计算机网络原理”(4741)、“C++程序设计”(4737)、“数据结构导论”(2142)、“操作系统概论”(2323)...原计划中的加考课程“计算机原理”(2384)、“数据结构导论

自考数据结构导论……

望能对你有所帮助!

  “ 如果你想通过数据结构导论这门课,至少得看两遍书吧?”

  第一遍就是粗略的看一下,这样你心里也就有了底,也就大概的了解了数据结构导论这门课所

  讲的内容,并且那里是考点在头脑里也就都有了大致的把握,这样,你就可以带着相应的重点,去重点

  把握你觉得重要的东西了!不过其实你到现在如果连一遍也没看过呢,也没关系,我下面的总结就是希

望能对这些还没看过书的人,有所帮助!

下面就列出一些我觉得是重点的东西:

  1 ,线性表,这一章整个都比较重要,因为这一章中关于线性表的顺序实现和链接实现及在上

  面的基本运算,在最后考试中很有可能以多种形式的考法出现(如:选择,填空,应用及程序设计等)。

  并且由于这一章是整本书的基础,所以考试时占的比重会比较大,最后的程序设计题很可能就从这一章

  里出一道甚至两道都从这章里出(一道程序设计题6 分)。

这一点是我在作过大量模拟试题和分析了历

  年试卷的基础上得出的结论,应当比较有参考价值。

在这一章中有一个知识点应引起大家的注意,就是

  链式存储结构,因为这种存储结构在以后的各章中对于各种结构的实现(如:树,图等)都比较有用且

  实用。

所以对于它的掌握应当达到“ 综合应用” 的等级!(一点建议:如果你在第一次看的时候遇到了

  自己不懂的问题,可以先尝试着跳过去看后面的,等后面的看完了,再回过头看不会的这一段,问题就

  可能迎刃而解了!^ )在这一章里还有一个数据结构就是串!关于串的具体的程序编制我想就不必太

  花心思了。

(如果你学这门课不光是为了考试,并且想对串有较具体的了解的话,请参看:>,中国水利水电出版社,宁郑元主编一书)只要知道它的各种运算及结果就可以了

(考试时也就这么考了:-P )

如:DELETE(“ACABA” ,3 ,3)=?

结果为:“AC”

又如:SUBSTR(“ABBCA” ,2 ,2)=?

结果为:“BB”

  2 ,栈,队列和数组:这一章里你要掌握的东西就比较简单了(如果你掌握了上一章的内容对

  于这一章来讲,基本上就没有难题了)这一章里你要牢记两个概念:关于栈和队列的修改原则:(1 ),

  栈,后进先出,所有操作都是在栈顶进行的。

(2 ),队列,先进先出,插入运算只能在对尾进行,删

  除运算只能在对头进行!且注意对头指针指示对头元素在数组中实际位置的前一个位置;实现递归调用

属于栈的应用!

再附上关于栈和队列的几道例题如下:

  1 ,运算(* 作)是数据结构的一个重要方面,试举一例,说明两个数据结构的。

逻辑结构和

  存储方式完全相同,只是对于运算(* 作)的定义不同,因而两个结构具有显著不同的特性,是两个不

同的结构。

  答案:栈和队列的元素依次存放在一个数组中,他们的逻辑结构和存储方式完全一样,只是栈

  的插入和删除* 作只能在一端进行,而队列的插入在对尾进行,出对(删除)* 作在对首进行,因而是

两种不同的数据结构,并各自具有显著的特征。

  2 ,设有一个栈,元素进展的次序为A ,B ,C ,D ,E ,写出下列出栈序列的* 作序列。

  (1 )C ,B ,A ,D ,E ;(2 )A ,C ,B ,E ,D ;其中I 为进栈* 作,O 为出栈操作

答案:1 ,IIIOOOIOIO

2 ,IOIIOOIIOO

  3 ,树:这一章里对于不善于编制程序的你可以说是一个解脱,因为这一章和图那章都只涉及

  到了很少的程序编制,不过千万别忽视这两章,因为这两章有很多的考点……

  (1 ),关于树的一些概念:结点的度,树的度,节点的层树,树的深度等(千万别忽视这些

概念,他们可是拿分的主角啊!)

  (2 ),二叉树: 注意!二叉树是一类与树不同的树型结构!

例:判断:二叉树是树的特殊情形(X)

二叉树的性质

完全二叉树的性质

二叉树的遍历:前,中,后序遍历

其中, 两点在选择或填空中肯定会考到!

  (3 ),树和林: 树和林的存储结构①,孩子链表表示法

②,孩子兄弟链表表示法

③,双亲表示法

  其中孩子兄弟链表表示法是树和林与二叉树相互转变的关键应熟练掌握!

  树的遍历:前,后和按层次遍厉(注意与二叉树遍厉的区别)

  (4 )判定树和哈夫曼树:这一节里哈夫曼算法算是个重点,考试时有可能会在应用题中出现,

  不过应该不会考程序设计,所以掌握起来还是比较轻松的!

4 ,图

  (1 ),图的基本概念:顶点,有向图,无向图,弧,边子图,连通图,连通分量,路径,环,

网等

(2 ),图的存储结构:邻接矩阵法和邻接表法

网要用邻接矩阵法来存储

(3 )图的遍厉:深度优先搜索和广度优先搜索

  ,深度优先搜索是一个递归过程; ,广度优先搜索中,若对x 的访问先于y ,则对x

邻接点的访问也限于对y 邻接点的访问!

  (4 ),最小生成树:prim算法(很有可能会以应用题的形式出现)

  (5 ),拓扑排序:带环的有向图不能进行拓扑排序(拓扑排序是针对有向图的!)

  写到这里关于数据结构导论的所有最重点章节就都已经介绍完了,后面的三章总共加起来可能

  也就不过十几分,不过我们为了万无一失还是应该将其看完,但在后面的章节中,我们只要掌握概念性

  的东西就可以了,还值得一提的是,对于第八章排序,我们应当加以重视,各种排序方法,及稳定性还

数据结构概论作业

您好,看到您的问题一直是零回答问题且将要被新提的问题从问题列表中挤出,问题无人回答过期后会被扣分并且悬赏分也将被没收!所以我给你提几条建议: 一,您可以选择在正确的分类下去提问或者到与您问题相关专业网站论坛里去看看,这样知道你问题答案的人才会多一些,回答的人也会多些。

当然,找老师帮忙是最简单有效的方法! 二,您可以多认识一些知识丰富的网友,和曾经为你解答过问题的网友经常保持联系,遇到问题时可以直接向这些好友询问,他们会更加真诚热心为你寻找答案的。

三,很多时候该自己做的事还是必须有自己独立完成的,有的事还是须由自己的聪明才智来解决的,别人不可能代劳!就算别人给你代劳,最后也不属于你的,只有自己做了才是真正属于自己的,别人只能给你提供指导和建议,最终靠自己。

所以,祝愿你可以凭借自己的努力找到最终自己想要的结果!你是最棒的! 您可以不采纳我的答案,但请你一定采纳我的建议哦! 虽然我的答案很可能不能解决你的问题,但一定可以使你更好地使用问问哦~~~

c语言,数据结构,算法导论三本书的关系是什么,学习它们要有什么基础,以及三者学习先后次序是什么?

c语言就像鞋,数据结构就相当于走路,算法导论就像跑步 只有穿上了鞋,你才能走起来,走的熟练了才能跑起来。

否则,你会走的脚疼,虽然也能走。









数据结构导论里的时间复杂度

1. 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n))  分析:随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越高。

  

2. 在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出T(n)的同数量级(它的同数量级有以下:1,Log2n ,n ,nLog2n ,n的平方,n的三次方,2的n次方,n!),找出后,f(n)=该数量级,若T(n)/f(n)求极限可得到一常数c,则时间复杂度T(n)=O(f(n))  例:算法:  for(i=1;i<=n;++i)  {   for(j=1;j<=n;++j)   {   c[ i ][ j ]=0; //该步骤属于基本操作 执行次数:n的平方 次  for(k=1;k<=n;++k)   c[ i ][ j ]+=a[ i ][ k ]*b[ k ][ j ]; //该步骤属于基本操作 执行次数:n的三次方 次  }   }   则有 T(n)= n的平方+n的三次方,根据上面括号里的同数量级,我们可以确定 n的三次方 为T(n)的同数量级  则有f(n)= n的三次方,然后根据T(n)/f(n)求极限可得到常数c   则该算法的 时间复杂度:T(n)=O(n的三次方)

3.分类  按数量级递增排列,常见的时间复杂度有:  常数阶O(1),对数阶O(log2n),线性阶O(n),   线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),...,  k次方阶O(nk), 指数阶O(2n) 。

随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

建议:多看一些带答案的习题就理解了

Sparkedhost($8/月)美国迈阿密AMD Ryzen高性能VPS;免费100G高防

sparkedhost怎么样?sparkedhost主机。Sparkedhost于2017年7月注册在美国康涅狄格州,2018年收购了ClynexHost,2019年8月从Taltum Solutions SL收购了The Beast Hosting,同年10月从Reilly Bauer收购了OptNode Hosting。sparkedhost当前的业务主要为:为游戏“我的世界”提供服务器、虚拟...

腾讯云轻量应用服务器关于多个实例套餐带宽

腾讯云轻量应用服务器又要免费升级配置了,之前已经免费升级过一次了(腾讯云轻量应用服务器套餐配置升级 轻量老用户专享免费升配!),这次在上次的基础上再次升级。也许这就是良心云吧,名不虚传。腾讯云怎么样?腾讯云好不好。腾讯云轻量应用服务器 Lighthouse 是一种易于使用和管理、适合承载轻量级业务负载的云服务器,能帮助个人和企业在云端快速构建网站、博客、电商、论坛等各类应用以及开发测试环境,并提供...

2021年全新Vultr VPS主机开通云服务器和选择机房教程(附IP不通问题)

昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...

数据结构导论为你推荐
avc是什么格式手机avc格式怎么剪辑webservice框架WebService新手,请教WebService需要什么包shoujiao黑鲨手机SKW一AO怎么解锁?netbios协议NetBIOS协议起什么作用?gas是什么意思GC什么意思全局钩子delphi 键盘全局钩子腾讯合作伙伴大会腾讯位置服务是什么?动画分镜头脚本动漫脚本和分镜头的区别?懂的进防火墙技术应用常用防火墙技术有哪几种怎么查微信注册时间怎么查一个微信公众号的注册时间,发了多少条内容
中文国际域名 如何注销域名备案 互联网域名管理办法 骨干网 java主机 rackspace 紫田 免费ftp空间 青果网 南昌服务器托管 牛人与腾讯客服对话 圣诞促销 域名接入 cdn加速原理 1g内存 百度云1t 网游服务器 paypal注册教程 空间租赁 备案空间 更多