大话数据结构第三版 第三版什么时候出

&&&&大话数据结构(中文高清版)
大话数据结构(中文高清版)
数据结构绪论 1
如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。
你数据结构怎么学的? 3
他完成开发并测试通过后,得意地提交了代码。项目经理看完代码后拍着桌子对他说:&你数据结构是怎么学的?&
数据结构起源 4
基本概念和术语 5
正所谓&巧妇难为无米之炊&,再强大的计算机,也要有&米&下锅才可以干活,否则就是一堆破铜烂铁。这个&米&就是数据。
数据元素 5
数据对象 6
数据结构 6
逻辑结构与物理结构 7
逻辑结构 7
物理结构 9
抽象数据类型 11
大家都需要房子住,但显然没钱考虑大房子是没有意义的。于是商品房就出现了各种各样的户型,有几百平米的别墅,也有仅两平米的胶囊公寓……
数据类型 11
抽象数据类型 12
总结回顾 14
最终的结果一定是,你对着别人很牛的说&数据结构--就那么回事。&
数据结构与算法关系 18
计算机界的前辈们,是一帮很牛很牛的人,他们使得很多看似没法解决或者很难解决的问题,变得如此美妙和神奇。
两种算法的比较 19
高斯在上小学的一天,老师要求每个学生都计算1+2+…+100的结果,谁先算出来谁先回家……
算法定义 20
现实世界中的算法千变万化,没有通用算法可以解决所有问题。甚至一个小问题,某个解决此类问题很优秀的算法却未必就适合它。
算法的特性 21
输入输出 21
算法设计的要求 22
求100个人的高考成绩平均分与求全省所有考生的成绩平均分在占用时间和内存存储上有非常大的差异,我们自然追求高效率和低存储的算法来解决问题。
时间效率高和存储量低 23
算法效率的度量方法 24
随着n值越来越大,它们在时间效率上的差异也就越来越大。好比有些人每天都在学习,而另一些人,打打游戏、睡睡大觉,毕业后前者名企争着要,后者求职处处无门。
事后统计方法 24
事前分析估算方法 25
函数的渐近增长 27
算法时间复杂度 29
理解大O推导不算难,难的其实是对数列的一些相关运算,这考察的更多的是数学知识和能力。
算法时间复杂度定义 29
推导大O阶方法 30
常见的时间复杂度 35
有些时候,告诉你某些东西不可以去尝试,也是一种知识的传递。总不能非要去被毒蛇咬一口才知道蛇不可以去招惹吧。
最坏情况与平均情况 35
算法空间复杂度 36
事先建立一个有2050大的数组,然后把所有年份按下标数字对应,如果是闰年,此数组项的值就是1,如果不是就是0。这样,所谓的判断某一年是否是闰年就变成了查找这个数组的某一项的值是多少的问题。
总结回顾 37
愚公移山固然可敬,但发明炸药和推土机,可能更加实在和聪明。
门外家长都挤在大门口与门里的小孩子的井然有序,形成了鲜明对比。哎,有时大人的所作所为,其实还不如孩子。
线性表的定义 42
线性表的抽象数据类型 45
有时我们想知道某个小朋友(比如麦兜)是否是班级的同学,老师会告诉我说,没有,麦兜是在春田花花幼儿园里。这种查找某个元素是否存在的操作很常用。
线性表的顺序存储结构 47
他每次一吃完早饭就冲着去了图书馆,挑一个好地儿,把他书包里的书,一本一本的按座位放好,长长一排,九个座硬是被他占了。
顺序存储定义 47
顺序存储方式 47
数据长度与线性表长度区别 48
地址计算方法 49
顺序存储结构的插入与删除 50
春运时去买火车票,大家都排队排着好好的,这时来了一个美女:&可否让我排在你前面?&这可不得了,后面的人像蠕虫一样,全部都得退后一步。
获得元素操作 50
插入操作 51
删除操作 52
线性表顺序存储结构的优缺点 54
线性表的链式存储结构 55
反正也是要让相邻元素间留有足够余地,那干脆所有元素都不要考虑相邻位置了,哪有空位就到哪里。而只是让每个元素知道它下一个元素的位置在哪里。
顺序存储结构不足的解决
线性表链式存储结构定义 56
头指针与头结点的异同 58
线性表链式存储结构代码描述 58
单链表的读取 60
单链表的插入与删除 61
本来是爸爸左牵着妈妈的手、右牵着宝宝的手在马路边散步。突然迎面走来一美女,爸爸失神般地望着,此情景被妈妈逮个正着,于是扯开父子俩,拉起宝宝的左手就快步朝前走去。
单链表的插入 61
单链表的删除 64
单链表的整表创建 66
单链表的整表删除 69
单链表结构与顺序存储结构优缺点 70
静态链表 71
对于一些语言,如Basic、Fortran等早期的编程高级语言,由于没有指针,这链表结构,按照前面我们的讲法,它就没法实现了。怎么办呢?
静态链表的插入操作 73
静态链表的删除操作 75
静态链表优缺点 77
循环链表 78
这个轮回的思想很有意思。它强调了不管你今生是穷是富,如果持续行善积德,下辈子就会好过,反之就会遭到报应。
双向链表 81
就像每个人的人生一样,欲收获就得付代价。双向链表既然是比单链表多了如可以反向遍历查找等的数据结构,那么也就需要付出一些小的代价。
总结回顾 84
如果你觉得上学读书是受罪,假设你可以活到80岁,其实你最多也就吃了20年苦。用人生四分之一的时间来换取其余时间的幸福生活,这点苦不算啥。
栈与队列 87
想想看,在你准备用枪的时候,突然这手枪明明有子弹却打不出来,这不是要命吗。
栈的定义 89
类似的很多软件,比如Word、Photoshop等,都有撤消(undo)的操作,也是用栈这种思想方式来实现的。
栈的定义 89
进栈出栈变化形式 90
栈的抽象数据类型 91
栈的顺序存储结构及实现 92
栈的顺序存储结构 92
栈的顺序存储结构进栈操作 93
栈的顺序存储结构出栈操作 94
两栈共享空间 94
两个大学室友毕业同时到北京工作,他们都希望租房时能找到独自住的一室户或一室一厅,可找来找去发现,实在是承受不起。
栈的链式存储结构及实现 97
栈的链式存储结构 97
栈的链式存储结构进栈操作 98
栈的链式存储结构出栈操作 99
栈的作用 100
栈的应用--递归 100
当你往镜子前面一站,镜子里面就有一个你的像。但你试过两面镜子一起照吗?如果A、B两面镜子相互面对面放着,你往中间一站,嘿,两面镜子里都有你的千百个&化身&。
斐波那契数列实现 101
递归定义 103
栈的应用--四则运算表达式求值 104
后缀(逆波兰)表示法定义 104
后缀表达式计算结果 106
中缀表达式转后缀表达式 108
队列的定义 111
电脑有时会处于疑似死机的状态。就当你失去耐心,打算了Reset时。突然它像酒醒了一样,把你刚才点击的所有操作全部都按顺序执行了一遍。
队列的抽象数据类型 112
循环队列 113
你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也是可以坐的。
队列顺序存储的不足 112
循环队列定义 114
队列的链式存储结构及实现 117
队列链式存储结构入队操作118
队列链式存储结构出队操作 119
总结回顾 120
结尾语 121
人生,需要有队列精神的体现。南极到北极,不过是南纬90度到北纬90度的队列,如果你中途犹豫,临时转向,也许你就只能和企鹅相伴永远。可事实上,无论哪个方向,只要你坚持到底,你都可以到达终点。
开场白 124
&枯眼望遥山隔水,往来曾见几心知?壶空怕酌一杯酒,笔下难成和韵诗。途路阻人离别久,讯音无雁寄回迟。孤灯夜守长寥寂,夫忆妻兮父忆儿。&……可再仔细一读发现,这首诗竟然可以倒过来读。
串的定义 124
我所提到的&over&、&end&、&lie&其实就是&lover&、&friend&、&believe&这些单词字符串的子串。
串的比较 126
串的抽象数据类型 127
串的存储结构 128
感情上发生了问题,为了向女友解释一下,我准备发一条短信,一共打了75个字。最后八个字是&我恨你是不可能的&,点发送。后来得知对方收到的,只有70个字,短信结尾是&……我恨你&。
串的顺序存储结构 129
串的链式存储结构 131
朴素的模式匹配算法 131
主串为S=&01&,而要匹配的子串为T=&&,……在匹配时,每次都得将T中字符循环到最后一位才发现,哦,原来它们是不匹配的。
KMP模式匹配算法 135
很多年前我们的科学家觉得像这种有多个0和1重复字符的字符串,却需要挨个遍历的算法,是非常糟糕的事情。
KMP模式匹配算法原理 135
next数组值推导 139
KMP模式匹配算法实现 141
KMP模式匹配算法改进 142
nextval数组值推导 144
总结回顾 146
结尾语 146
《璇玑图》共八百四十字,纵横各二十九字,纵、横、斜、交互、正、反读或退一字、迭一字读均可成诗,诗有三、四、五、六、七言不等,目前有人统计可组成七千九百五十八首诗。听清楚哦,是7958首。
开场白 150
无论多高多大的树,那也是从小到大的,由根到叶,一点点成长起来的。俗话说十年树木,百年树人,可一棵大树又何止是十年这样容易。
树的定义 150
树的定义其实就是我们在讲解栈时提到的递归的方法。也就是在树的定义之中还用到了树的概念,这是比较新的一种定义方法。
结点分类 152
结点间关系 152
树的其他相关概念 153
树的抽象数据类型 154
树的存储结构 155
双亲表示法 155
孩子表示法 158
孩子兄弟表示法 162
二叉树的定义 163
苏东坡曾说:&人有悲欢离合,月有阴晴圆缺,此事古难全&。意思就是完美是理想,不完美才是人生。我们通常举的例子也都是左高右低、参差不齐的二叉树。那是否存在完美的二叉树呢?
二叉树特点 164
特殊二叉树 166
二叉树的性质 169
二叉树性质1 169
二叉树性质2 169
二叉树性质3 169
二叉树性质4 170
二叉树性质5 171
二叉树的存储结构 172
二叉树顺序存储结构 172
二叉链表 173
遍历二叉树 174
你人生的道路上,高考填志愿要面临哪个城市、哪所大学、具体专业等选择,由于选择方式的不同,遍历的次序就完全不同。
二叉树遍历原理 174
二叉树遍历方法 175
前序遍历算法 178
中序遍历算法 181
后序遍历算法 184
推导遍历结果 184
二叉树的建立 187
线索二叉树 188
我们现在提倡节约型社会,一切都应该节约为本。对待我们的程序当然也不例外,能不浪费的时间或空间,都应该考虑节省。
线索二叉树原理 188
线索二叉树结构实现 191
树、森林与二叉树的转换 195
有个乡镇企业也买了同样的生产线,老板发现这个问题后找了个小工来说:你必须搞定,不然炒你鱿鱼。小工很快想出了办法:他在生产线旁边放了台风扇猛吹,空皂盒自然会被吹走。
树转换为二叉树 196
森林转换为二叉树 197
二叉树转换为树 197
二叉树转换为森林 199
树与森林的遍历 199
赫夫曼树及其应用 200
压缩而不出错是如何做到的呢?简单的说,就是把我们要压缩的文本进行重新编码,以达到减少不必要的空间的技术。压缩和解压缩技术就是基于赫夫曼的研究之上发展而来,我们应该记住他。
赫夫曼树 200
赫夫曼树定义与原理 203
赫夫曼编码 205
总结回顾 208
结 尾 语 209
人受伤时会流下泪水。树受伤时,天将再不会哭。希望我们的未来不要仅仅是钢筋水泥建造的高楼,也要有那郁郁葱葱的森林和草地,我们人类才可能与自然和谐共处。
开场白 212
如果你不善于规划,很有可能就会出现如玩好新疆后到海南,然后再冲向黑龙江这样的荒唐决策。
图的定义 213
现实中,人与人之间关系就非常复杂,比如我的认识的朋友,可能他们之间也互相认识,这就不是简单的一对一、一对多的关系了,那就是我们今天要研究的主题--图。
各种图定义 214
图的顶点与边间关系 217
连通图相关术语 219
图的定义与术语总结 222
图的抽象数据类型 222
图的存储结构 223
因为美国的黑夜就是中国的白天,利用互联网,他的员工白天上班就可以监控到美国仓库夜间的实际情况,如果发生了像火灾、偷盗这样的突发事件,及时电话到美国当地相关人员处理
邻接矩阵 224
邻接表 228
十字链表 232
邻接多重表 234
边集数组 236
图的遍历 237
我有一天早晨准备出门,发现钥匙不见了。一定是我儿子拿着玩,不知道丢到哪个犄角旮旯去了,你们说,我应该如何找?
深度优先遍历 238
广度优先遍历 242
最小生成树 245
如果你加班加点,没日没夜设计出的结果是方案一,我想你离被炒鱿鱼应该是不远了(同学微笑)。因为这个方案比后两个方案一半还多的成本会让老板气晕过去的。
普里姆(Prim)算法 247
克鲁斯卡尔(Kruskal)算法 251
最短路径 257
有人为了省钱,需路程最短,但换乘站间距离长等原因并不省时间;另一些人,他为赶时间,最大的需求是总时间要短;还有一类人,他们都不想多走路,关键是换乘要少,这样可以在车上好好休息一下。
迪杰斯特拉(Dijkstra)算法 259
弗洛伊德(Floyd)算法 265
拓扑排序 270
电影制作不可能在人员到位进驻场地时,导演还没有找到,也不可能在拍摄过程中,场地都没有。这都会导致荒谬的结果。
拓扑排序介绍 271
拓扑排序算法 272
关键路径 277
假如造一个轮子要0.5天、造一个发动机要3天、造一个车底盘要2天、造一个外壳要2天,其它零部件2天,全部零部件集中到一处要0.5天,组装成车要2天,请问,在汽车厂造一辆车,最短需要多少天呢?
关键路径算法原理 279
关键路径算法 280
总结回顾 287
结尾语 289
世界上最遥远的距离,不是牛A与牛C之间狭小空隙,而是你们当中,有人在通往牛逼的路上一路狂奔,而有人步入大学校园就学会放弃。
开场白 292
当你精心写了一篇博文或者上传一组照片到互联网上,来自世界各地的无数&蜘蛛&便会蜂拥而至。所谓蜘蛛就是搜索引擎公司服务器上软件,它把互联网当成了蜘蛛网,没日没夜的访问上面的各种信息。
查找概论 293
比如网络时代的新名词,如 &蜗居&、&蚁族&等,如果需要将它们收录到汉语词典中,显然收录时就需要查找它们是否存在,以及找到如果不存在时应该收录的位置。
顺序表查找 295
顺序表查找算法 296
顺序表查找优化 297
有序表查找 298
我在纸上已经写好了一个100以内的正整数请你猜,问几次可以猜出来。当时已经介绍了如何才可以最快的猜出这个数字。我们把这种每次取中间记录查找的方法叫做折半查找。
折半查找 298
插值查找 301
斐波那契查找 302
线性索引查找 306
我母亲年纪大了,经常在家里找不到东西,于是她用一小本子,记录了家里所有小东西放置的位置,比如户口本放在右手床头柜下面抽屉中,钞票放在衣……咳,这个就不提了。
稠密索引 307
分块索引 308
倒排索引 311
二叉排序树 313
后来老虎来了,一人拼命地跑,另一人则急中生智,爬到了树上。而老虎是不会爬树的,结果……。爬树者改变了跑的思想,这一改变何等重要,捡回了自己的一条命。
二叉排序树查找操作 316
二叉排序树插入操作 318
二叉排序树删除操作 320
二叉排序树总结 327
平衡二叉树(AVL树) 328
平板就是一个世界,当诱惑降临,人心中的平衡被打破,世界就会混乱,最后留下的只有孤独寂寞失败。这种单调的机械化的社会,禁不住诱惑的侵蚀,最容易被侵蚀的,恰恰是最空虚的心灵。
平衡二叉树实现原理 330
平衡二叉树实现算法 334
多路查找树(B树) 341
要观察一个公司是否严谨,看他们如何开会就知道了。如果开会时每一个人都只是带一张嘴,即兴发言,这肯定是一家不严谨的公司。
2-3-4树 348
散列表查找(哈希表)概述 353
你很想学太极拳,听说学校有个叫张三丰的人打得特别好,于是到学校学生处找人,工作人员拿出学生名单,最终告诉你,学校没这个人,并说张三丰几百年前就已经在武当山作古了。
散列表查找定义 354
散列表查找步骤 355
散列函数的构造方法 356
直接定址法 357
数字分析法 358
平方取中法 359
折叠法 359
除留余数法 359
随机数法 360
处理散列冲突的方法 360
我们每个人都希望身体健康,虽然疾病可以预防,但不可避免,没有任何人可以说,生下来到现在没有生过一次病。
开放定址法 361
再散列函数法 363
链地址法 363
公共溢出区法 364
散列表查找实现 365
散列表查找算法实现 365
散列表查找性能分析 367
总结回顾 368
结尾语 369
如果我是个喜欢汽车的人,时常搜汽车信息。那么当我在搜索框中输入&甲壳虫&、&美洲虎&等关键词时,不要让动物和人物成为搜索的头条。
开场白 374
假如我想买一台iphone4的手机,于是上了某电子商务网站去搜索。可搜索后发现,有8863个相关的物品,如此之多,这叫我如何选择。我其实是想买便宜一点的,但是又怕遇到骗子,想找信誉好的商家,如何做?
排序的基本概念与分类 375
比如我们某些大学为了选拔在主科上更优秀的学生,要求对所有学生的所有科目总分倒序排名,并且在同样总分的情况下将语数外总分做倒序排名。这就是对总分和语数外总分两个次关键字的组合排序。
排序的稳定性 376
内排序与外排序 377
排序用到的结构与函数 378
冒泡排序 378
无论你学习哪种编程语言,在学到循环和数组时,通常都会介绍一种排序算法,而这个算法一般就是冒泡排序。并不是它的名称很好听,而是说这个算法的思路最简单,最容易理解。
最简单排序实现 379
冒泡排序算法 380
冒泡排序优化 382
冒泡排序复杂度分析 383
简单选择排序 384
还有一种做股票的人,他们很少出手,只是在不断观察和判断,等时机一到,果断买进或卖出。他们因为冷静和沉着,以及交易的次数少,而最终收益颇丰。
简单选择排序算法 384
简单选择排序复杂度分析 385
直接插入排序 386
哪怕你是第一次玩扑克牌,只要认识这些数字,理牌的方法都是不用教的。将3和4移动到5的左侧,再将2移动到最左侧,顺序就算是理好了。这里,我们的理牌方法,就是直接插入排序法。
直接插入排序算法 386
直接插入排序复杂度分析 388
希尔排序 389
不管怎么说,希尔排序算法的发明,使得我们终于突破了慢速排序的时代(超越了时间复杂度为O(n2)),之后,更为高效的排序算法也就相继出现了。
希尔排序原理 391
希尔排序算法 391
希尔排序复杂度分析 395
堆排序 396
什么叫堆结构呢?回忆一下我们小时候,特别是男同学,基本都玩过叠罗汉的恶作剧。通常都是先把某个要整的人按倒在地,然后大家就一拥而上扑了上去……后果?后果当然就是一笑了之。
堆排序算法 398
堆排序复杂度分析 405
归并排序 406
即使你是你们班级第一、甚至年级第一名,如果你没有上分数线,则说明你的成绩排不到全省前1万名,你也就基本失去了当年上本科的机会了。
归并排序算法 407
归并排序复杂度分析 413
非递归实现归并排序 413
快速排序 417
终于我们的高手要登场了,将来你工作后,你的老板让你写个排序算法,而你会的算法中竟然没有快速排序,我想你还是不要声张,偷偷去把快速排序算法找来敲进电脑,这样至少你不至于被大伙儿取笑。
快速排序算法 417
快速排序复杂度分析 421
快速排序优化 422
总结回顾 428
目前还没有十全十美的排序算法,有优点就会有缺点,即使是快速排序法,也只是在整体性能上优越,它也存在排序不稳定、需要大量辅助空间、对少量数据排序无优势等不足。
结尾语 430
如果你有梦想的话,就要去捍卫它。当别人做不到的时候,他们就想要告诉你,你也不能。如果你想要些什么,就得去努力争取。就这样!
参考文献 435
嵌到我的页面
<input type="text" readonly="true" value="">
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行请使用支持脚本的浏览器!
大话数据结构
( 81个评分 )
纸书? 59.00
超级畅销书《大话设计模式》作者程杰三年磨一剑推出大话第二季,以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。
《大话数据结构》是一本关于数据结构和算法的自学读物,全书模拟上课场景,让一个说话有趣的老师来和同学们交流数据结构知识。它不板着脸灌输,它期望和读者做朋友,在每每的会心一笑中,只是融入了读者脑海,化为读者自己的本领。它是这么做的——
1、一图值千言。作者精心设计了多幅结构独特的图片,充分运用图形语言来体现抽象内容,力求让读者通过图形的直观表达,更高效地换取数据结构的知识。
2、善于打比方。世界上很多道理都是相通的。精心构思的类比能让人发出“原来如此”的感叹。读者会发现:枯燥的数据结构知识背后,也隐藏着一个个生活中的小故事。
3、细致深入,适合自学。作者对数据结构涉及到的一些经典算法进行了逐行分析,并进行了多算法比较。
本书适合学过一门编程语言的如下读者:
o 在读的大中专计算机专业学生;
o 想转行做开发的非专业人员;
o 欲考计算机研究生的应届或在职人员;
o 工作后需要补学或温习数据结构和算法的程序员。
您的评分:
正文(不少于20字)
回复已提交审核...
移动设备阅读
扫二维码下载客户端
买过此书的人还买过
Copyright&  
已将图书添加到购物车
购物车中有8本书总计:? 24.00
购买过《大话数据结构》的用户还购买了:
【英】彼得·本特利
【美】Charles Petzold
【日】松本行弘
【美】Toby Segaran
【美】Jeff Hammerbacher
【美】Terence Parr
您已领取成功!
您可以进入//平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦!
快登录帐号来一起讨论吧~|
查看全部回复
{ sid : '45058',
id : 'cd88ffbbba7a74d8a7fed8d',
webreader : 1,
title : 'C++反汇编与逆向分析技术揭秘',
price : '30.0',
old_price : '40.0',
new_price : '30.0',
cover : 'http://cover./mfsv2/download/s010/p01US0WRGA39/dZBVyrP5BQdaXA.jpg!vt',
url : '/book/45058',
authors : '钱林松\\n赵海旭'
{ sid : '98374',
id : '31d1fbe2f97d315cc5337',
webreader : 1,
title : '计算机:一部历史(东西文库)',
price : '30.0',
old_price : '40.0',
new_price : '30.0',
cover : 'http://cover./mfsv2/download/s010/p019uea7aq6O/8fK3JdMTiJiFKK.jpg!vt',
url : '/book/98374',
authors : '【英】彼得·本特利'
{ sid : '28072',
id : 'dbdfbfecc0f8eea843d48',
webreader : 1,
title : '图灵的秘密',
price : '25.0',
old_price : '30.0',
new_price : '25.0',
cover : 'http://cover./mfsv2/download/s010/p01x1oHsUdsd/JM4dT4IlCdL3K0.jpg!vt',
url : '/book/28072',
authors : '【美】Charles Petzold'
{ sid : '42938',
id : '64b0dd25caf14dc793b0',
webreader : 1,
title : '编写高质量代码:改善C#程序的157个建议',
price : '25.0',
old_price : '40.0',
new_price : '25.0',
cover : 'http://cover./mfsv2/download/s010/p01MxsRB9NOM/VUMYlJHVltz5k0.jpg!vt',
url : '/book/42938',
authors : '陆敏技'
{ sid : '113931',
id : '4cdb92ec946e4cf18cfdb6ff',
webreader : 1,
title : '分布式实时处理系统:原理、架构与实现',
price : '34.99',
old_price : '40.0',
new_price : '34.99',
cover : 'http://cover./mfsv2/download/fdsc3/p01po5QVOTVb/G3a0wQe9I63Wcu.jpg!vt',
url : '/book/113931',
authors : '卢誉声'
{ sid : '85505',
id : '928ae40f01ec465b92b5',
webreader : 1,
title : '算法竞赛入门经典(第2版)',
price : '30.0',
old_price : '40.0',
new_price : '30.0',
cover : 'http://cover./mfsv2/download/s010/p016pbjKAgvu/utIPNdy6WXYQmg.jpg!vt',
url : '/book/85505',
authors : '刘汝佳'
{ sid : '43469',
id : '61c4c3f6cfabb42',
webreader : 1,
title : '代码的未来',
price : '40.0',
old_price : '40.0',
cover : 'http://cover./mfsv2/download/s010/p019nBEh1XoK/QCnk2ZvHYo272T.jpg!vt',
url : '/book/43469',
authors : '【日】松本行弘'
{ sid : '42935',
id : 'af41a3370e8cdfd8c0bf',
webreader : 1,
title : '数据之美',
price : '12.0',
old_price : '18.0',
new_price : '12.0',
cover : 'http://cover./mfsv2/download/s010/pfRk/d4E0ITk33NO2px.jpg!vt',
url : '/book/42935',
authors : '【美】Toby Segaran\\n【美】Jeff Hammerbacher'
{ sid : '85028',
id : '8fbd2ba8b6e9',
webreader : 1,
title : '编程语言实现模式',
price : '18.0',
old_price : '30.0',
new_price : '18.0',
cover : 'http://cover./mfsv2/download/s010/p01iUfeQbI3R/7vmUYY9EehjCPU.jpg!vt',
url : '/book/85028',
authors : '【美】Terence Parr'
{ sid : '55763',
id : '9bde834fbbd24befa42e7cc',
webreader : 1,
title : '零基础学数据结构(第2版)',
price : '25.0',
old_price : '78.0',
new_price : '25.0',
cover : 'http://cover./mfsv2/download/s010/p014aUaeVOhA/FIrQO9UY3yz3aE.jpg!vt',
url : '/book/55763',
authors : '陈锐'当前位置:&&&大话数据结构.pdf 大话数据结构.pdf分享用户:资源分类:文件大小: ---资源类型:浏览次数:2903次发布日期: 03:04:24资源类别:文件其它:1865次下载/752次保存
收藏资源:
也许对您有用的百度云盘资源推荐百度云盘分享达人推荐相关百度云盘资源推荐cc分享的百度云盘资源大话数据结构总结(1)
线性表(List):零个或多个数据元素的有限序列。
有限序列:有且仅有 直接前驱元素 &直接后继元素数据元素:由相同类型的一个或多个数据项组成
线性表的抽象数据类型(基本操作)
增(ListInsert)、删(ListDelete,ClearList)、初(InitList)、查(ListEmpty,GetELem,LocateElem、ListLength)复杂操作 = 基本操作的组合
线性表的存储结构
顺序存储结构SqList(一维数组实现)
描述SqList三个属性:起始位置,最大存储容量,当前长度插入和删除操作优劣性:
优点:相比于链式存储结构,无需为元素之间的逻辑关系增加额外的存储空间;快速存取元素缺点:插入和删除操作需要移动大量元素;线性表长度变化大时,难以确定存储空间长度;造成存储空间的碎片,浪费空间资源
链式存储结构LinkList
描述LinkList关键词:结点、数据域、指针域(每个结点只有一个指针域是单链表)、头结点(头指针)、尾结点(null或^)
头指针和头结点区别:
头指针:无论链表是否为空,头指针均不为空。头指针是链表的必要元素;头指针是链表指向第一个结点的指针,如有头结点,则是指向头结点的指针头结点:头结点是为了操作的统一性而设立;头结点不一定是链表的必要元素
单链表的读取、插入(malloc)和删除(free)操作单链表的整表创建(malloc)(动态生成链表):头插法和尾插法
srand和rand区别:srand(time(0))重置随机数种子,以当前时间为参数;rand每次生成的随机数序列不变malloc和new的区别:new返回制定类型的指针且自动计算所需大小;malloc必须人工计算字节数且将返回&#20540;强制转换成实际类型指针,如(linklist)malloc(sizeof(node))
单链表的整表删除(free)
单链表结构和顺序存储结构的优缺点:
存储分配方式:顺序存储结构用连续的存储单元;链式存储结构用任意存储单元时间性能:
查找:顺序O(1);单链表O(n)插入和删除:顺序O(n);单链表O(1)
空间性能:顺序需要预先分配空间;单链表无需预先分配空间,且个数不受限制
单循环链表(循环链表)
头指针单指针--&尾指针单指针rear(基于查找开始结点和终端结点时间复杂度改进)
双向链表(基于查找上一级结点的时间复杂度)
优缺点:比单向链表多了反向遍历查找功能;在插入和删除时,更改两个指针变量插入和删除更改指针变量的顺序:先搞定插入的前驱和后继,再搞定后结点的前驱,最后解决前结点的后继
出现原因:对于basic等早期高级语言,没有指针,也没有对象引用机制,无法实现链表结构----&数组代替指针描述单链表,即静态链表,又称游标实现法描述静态链表关键字:数据域data、游标cur、下标注意:单链表的搜索次序静态链表优缺点:
优点:相比于顺序结构,在插入和删除操作时,只需要修改游标,不需移动元素缺点:失去了顺序结构的随机存取特性;未解决连续分配表长难以确定的问题
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:52次
排名:千里之外

我要回帖

更多关于 数据结构第三版答案 的文章

 

随机推荐