第一图书网

妙趣横生的算法

杨峰 清华大学出版社
出版时间:

2010-4  

出版社:

清华大学出版社  

作者:

杨峰  

页数:

377  

Tag标签:

无  

前言

程序 = 数据结构 + 算法——著名的计算机科学家沃斯(Nikiklaus Wirth)自从著名的计算机科学家沃斯将程序设计形象地用上面的公式表示出来后,这条“黄金定律”便成为了人们学习程序设计,进行程序开发的准则。要想成为一名真正专业的程序设计人员,基本的数据结构基础和常用的算法知识是必须掌握的。脱离了这两点,编写出来的程序一定不是健壮的好程序。然而单纯地掌握了一些数据结构基础和常用的算法知识也是远远不够的。空洞地掌握所谓的数据结构和算法等理论知识只是纸上谈兵,这些知识必须要依托于一门程序设计语言才具有真正的生命力,才能够转化为真实的程序代码,才能真正地解决实际问题。本书就是将数据结构基础和常用的算法知识与目前广泛应用、最具群众基础的C语言相结合而产生的。本书的写作思想是理论与实践相结合,以实践为核心,以实例为主要内容。首先,本书总结归纳了数据结构基础、常用的排序查找算法和经典的算法思想,提纲挈领地阐述了核心的理论知识。这样可以使没有系统学习过或者不熟悉数据结构和算法等知识的读者对这部分知识有一个基本的了解,并掌握基本的数据结构知识和常用而经典的算法思想,以便更加深入地学习本书的其他内容。其次,本书列举了大量的编程实例,这些题目都按照知识体系进行了内容上的划分。本书列举的这些编程实例都是一些比较灵活有趣的题目,有些题目渗透了巧妙的算法思想,有些题目则必须借助特殊的数据结构才能更加容易解答。通过这些题目的训练,可以使读者开阔眼界,启迪思维,提高编程的兴趣。最重要的是能够提高读者算法设计的本领,提高读者灵活应用各种数据结构的本领,提高读者编写程序解决实际问题能力。本书有何特点1.结构清晰,知识全面本书分为两部分。第1部分是基础知识介绍,主要介绍数据结构的基础知识和一些常用的算法思想。这部分内容为核心的理论知识,可以帮助读者学习和回顾数据结构和算法的知识,使读者在理论水平上有所提高,从而能够更加顺利地深入学习后续内容。第2部分主要是编程实例的介绍,通过一些非常有趣的编程实例使读者开阔眼界,发散思维,提高算法设计本领,提高灵活应用各种数据结构的本领,提高读者编写程序解决实际问题能力。

内容概要

  本书理论与实践相结合,旨在帮助读者理解算法,并提高C语言编程能力,培养读者的编程兴趣,并巩固已有的C语言知识。全书分为2个部分共10章,内容涵盖了编程必备的基础知识(如数据结构、常用算法等),编程实例介绍,常见算法和数据结构面试题等。本书最大的特色在于实例丰富,题材新颖有趣,实用性强,理论寓于实践之中。通过本书的学习,可以使读者开阔眼界,提高编程的兴趣,提高读者的编程能力和应试能力。  本书附带1张光盘,内容为本书源代码和作者为本书录制的5.5小时多媒体教学视频。本书可作为算法入门人员的教程,也可以作为学习过C语言程序设计的人士继续深造的理想读物,也可作为具有一定经验的程序设计人员巩固和提高编程水平,查阅相关算法实现和数据结构知识的参考资料,同时也为那些准备参加与算法和数据结构相关的面试的读者提供一些有益的帮助。

书籍目录

第1部分 基础篇  第1章 数据结构基础   1.1 什么是数据结构   1.2 顺序表    1.2.1 顺序表的定义    1.2.2 向顺序表中插入元素    1.2.3 从顺序表中删除元素    1.2.4 实例与分析   1.3 链表    1.3.1 创建一个链表    1.3.2 向链表中插入结点    1.3.3 从链表中删除结点    1.3.4 销毁一个链表    1.3.5 实例与分析   1.4 栈    1.4.1 栈的定义    1.4.2 创建一个栈    1.4.3 入栈操作    1.4.4 出栈操作    1.4.5 栈的其他操作    1.4.6 实例与分析   1.5 队列    1.5.1 队列的定义    1.5.2 创建一个队列    1.5.3 入队列操作    1.5.4 出队列操作    1.5.5 销毁一个队列    1.5.6 循环队列的概念    1.5.7 循环队列的实现    1.5.8 实例与分析   1.6 树结构    1.6.1 树的概念    1.6.2 树结构的计算机存储形式    1.6.3 二叉树的定义    1.6.4 二叉树的遍历    1.6.5 创建二叉树    1.6.6 实例与分析   1.7 图结构    1.7.1 图的概念    1.7.2 图的存储形式    1.7.3 邻接表的定义    1.7.4 图的创建    1.7.5 图的遍历(1)——深度优先搜索    1.7.6 图的遍历(2)——广度优先搜索    1.7.7 实例与分析  第2章 常用的查找与排序方法   2.1 顺序查找   2.2 折半查找   2.3 排序的概述   2.4 直接插入排序   2.5 选择排序   2.6 冒泡排序   2.7 希尔排序   2.8 快速排序  第3章 常用的算法思想   3.1 什么是算法   3.2 算法的分类表示及测评    3.2.1 算法的分类    3.2.2 算法的表示    3.2.3 算法性能的测评   3.3 穷举法思想    3.3.1 基本概念    3.3.2 寻找给定区间的素数    3.3.3 TOM的借书方案   3.4 递归与分治思想    3.4.1 基本概念    3.4.2 计算整数的划分数    3.4.3 递归的折半查找算法   3.5 贪心算法思想    3.5.1 基本概念    3.5.2 最优装船问题   3.6 回溯法    3.6.1 基本概念    3.6.2 四皇后问题求解   3.7 数值概率算法    3.7.1 基本概念    3.7.2 计算定积分 第2部分 编程实例解析  第4章 编程基本功  第5章 数学趣题(一) 第6章 数学趣题(二) 第7章 数据结构趣题 第8章 数值计算问题 第9章 综合题 第10章 算法设计与数据结构面试题精粹

章节摘录

插图:其实阶乘的数学定义可以用递归函数来简单地描述:这样的函数称为递归函数,因为该函数本身直接或间接地调用了该函数本身。基于阶乘的递归函数的描述,就不难设计出计算n的阶乘n!的递归算法。可以看出,使用递归算法解决阶乘问题形式上更加简洁,更易于人们理解。在设计递归算法时要注意以下几点。(1)每个递归函数都必须有一个非递归定义的初始值,作为递归结束标志,或递归结束的出口。就像实例3.5所描述的递归算法中的if(n-0)ret啪l;如果一个递归算法中没有这个非递归定义的初始值,那么该递归调用是无法计算出具体的值的(或无法得到结果),同时该递归调用也无法结束。(2)在设计递归算法时,要解决的问题需具有递归性。例如要计算,2的阶乘n!,n!的定义本身具有递归性。这种所谓的递归性实际上就是一种反复调用自身过程的特性。(3)虽然采用递归算法解决问题,特别是一些复杂问题,更加方便且容易实现,但是递归方法的运行较低,时间和空间复杂度都比较高,因此对于一些对时间和空间要求较高的程序,建议使用非递归算法设计。在实际的算法设计中,递归与分治如同一对兄弟,经常结合在一起使用。这是因为,由分治的方法产生的子问题往往都是原问题的更小规模。反复使用分治的手段,可使子问题与原问题类型一致,但规模不断缩小,最终使子问题比较容易求解。既然子问题与原问题的类型一致,这就具有了所谓的递归性,因此可以使用递归的方法用解决原问题的算法去解决同类型的子问题。在第2章中介绍的折半查找算法只是单纯地使用了分治的策略,在下面的实例分析中将使用递归与分治思想相结合的方法进行折半查找算法的设计。


编辑推荐

《妙趣横生的算法(C语言实现)》:5.5小时教学视频、86个趣味算法题、61个算法面试题,一学就会!帮您开阔眼界,培养编程兴趣,提高编程能力,增强求职的竞争力!特别提示《妙趣横生的算法(C语言实现)》配套多媒体教学视频和涉及的实例代码收录于《妙趣横生的算法(C语言实现)》配书光盘中。另外,《妙趣横生的算法(C语言实现)》适合作为相关学校的教材使用。为了方便老师授课,《妙趣横生的算法(C语言实现)》专门配备了相应的教学PPT。《妙趣横生的算法(C语言实现)》内容生动有趣,寓教于乐,旨在帮您开阔眼界,培养编程兴趣,提高编程能力。增强求职的竞争力。如果您想在程序设计之路上走得更远,请翻开《妙趣横生的算法(C语言实现)》,仔细研读吧,它将助您一臂之力。《妙趣横生的算法(C语言实现)》特色◎提供了5.5小时多媒体教学视频,学习起来比较直观。◎提供了24个数据结构和算法的基础知识实例,便于读者入门。◎提供了86个经典、有趣、贴近生活、实用性强的算法实例。◎提供了61个算法及数据结构的面试题。增强求职者的竞争力。◎内容梯度科学,既适合入门,也适合进一步提高和研究。◎书中实例用C语言实现,便于读者验证及加深对C语言的理解。◎既涵盖基本理论,又包含大量实例,寓理论于实践之中。◎讲解由浅入深,通俗易懂,将复杂问题简单化,读者可以轻松掌握。

图书封面

图书标签Tags

广告

下载页面


妙趣横生的算法 PDF格式下载



书上介绍上很多算法,对于自学C语言的人来说,很实用.也是一本对C语言编程技术提高的好教程.特别是光盘上的视频教程.


通过前一部分可以了解基本的数据结构,后面都是大量的小例子,帮助你理解算法,开动你的脑筋


至于物流和书本都没得说,光盘也完好
下面说说书本吧:原来大学期间无意中发现的这本书,借了看后觉的算法讲述的都很唯美,所以买了学习下,觉的对于新手还是很有必要看看


大多数算法书都是概念连篇,很枯燥,这本书给人以不一样的感觉,在解决趣味问题的时候,不知不觉掌握了算法,可以吸引你读下去


权当拿来 练练手了,毕竟 算法才是 计算机的 王道


这本书适合毕业生面试看的一本书,很多应聘的笔试题都可以在这本书找到。


还没看,但翻了一下,觉得一般。代码还挺好,实例多。但“妙趣横生”,不是深入讲解那种。


这本书挺好的 感觉比用的教材好很多 而且有很多实例 不错


C语言学习的乐趣


精品,有益知识扩充


非常喜欢,对我的学习很有帮助!


不错的一本书,但是内容比较浅显~


本书的排版风格感觉挺好的,纸质也不错。好像内容也非常好哦。


说的很详细,很有趣


这是我在学校图书馆经常用到的一本书 由于这书确实不错 借的人很多 每次去借都是被借走了 只能在阅览区 勉强看看 感觉确实对自己很有用 于是干脆上网买了 好书值得拥有收藏


超赞的一本书 里面满满都是精华 建议有基础的同学看


例题经典,东西很多,同时配上视频,资料不错


大学比赛时看过这本书,没想到工作后还是觉得有必要看一看。


收到图书,感觉很好的一本书


题目挺多的,讲解也可以。相对来说浅了些,妙趣也没有达到横生的级别。


工科的必备书目


一本很好的书 又去有意思


很好的书呀,我喜欢。应该很好的读一读


好评。儿子收到我送的书,好开心,现在每晚都在看。


希望赶紧都学会,找到好工作


忘了评价了,很好,呵呵


喜欢这样的纸质


学长推荐的。。不知道好不好呢


在图书馆看到的,就买了,很值得看哦


对我这个新手,可以满足我


HAHAHAHAHAHAHA


之能说还不错吧


真的很好 快递很好


节省了不少代码开发的时间


我不清楚,应该很好的


妙趣横生的算法(C语言实现),有助于对数据结构的理解


例子有讲解,适合算法初学者或者对算法感兴趣的人。最后一章还有数据结构与算法常用笔试题,蛮不错的


很基础的一本书,但是就是重复太多啦,如果算法再多些就好啦


还行,本书讲的很详细,有很多经典算法


书的例子海蛮多的,挺实用的 要是再专一于算法更好


这里面的算法挺好


常用数据结构都有,入门不错,不适合深入学习。


书上的内容很实用而且还带有光盘,我已经开看罗


买来大致看了看,里面讲解很基础,也有部分加深了的知识点。不过还好,书很正值得看。


拿平时的课本看看就可以了 这里面有很多都重复课本里面的知识 买这本书没必要


内容很详实,有梯度,有难度


跟着描点还可以吧.基础不是很好.有点难度


包装还行,正在阅读中。


只是讲得不是很详细


忙死了,没时间忙死了,没时间忙死了,没时间


看了下东西,结果就掉了,伤不起啊。。!


还没有正式读,感觉应该还好吧


内容不错,表皮好旧的感觉!!!里面是新的···


不太适合新手阅读


擦哈哈打发打发的方法 一点都不好


哎,被骗了,原以为新华出版的不会差,随便翻了下,发现这本书作者的编程水平,说实话太差,就这点菜鸟水平,去教书会害人害已,最搞笑的是,这本书,还是编著,太恶搞了吧
书的内容给人的感觉就是东抄西凑的,没有自己的想法(连编都谈不上,还编著),比如,书上每个算法,都写了两篇,描述和实例各一篇,有必要吗?浪费读者的阅读时间,算法精髓体现在一个精字,如果没说到点子上,再多的啰嗦也是多余的。
哎,我本来是不想说的,实在看不下去了,不过,从这本书书的目录来看,还是本好书,适合初学者,只是作者的编程水平和语言表达不足,有待提高。


这本书看了1天,老实说没点感觉,写书的明显是混钱的。


算是数据结构,数值计算很多学科的简单实现,当做业余的"小说"看吧


没有想象中的好,不过学习c的入门提高,还可以看看


适合我,正想学习一下C语言得常见算法,这书里面的趣味范例还挺多的。印刷的也不错,正品。


这本书还是不错的,推荐一下


有价值的部分不多,最让人不解的是,公开出版的书,代码竟然可以带有一大堆q1,q2,p这样的变量。


零基础的可以慢慢看,很有逻辑


20号早上下单,21下午就到了。书内容还没看,但是整体感觉不错。


挺好的,对C语言和算法学习都挺不错


书不错,通俗易懂,深入检出


很棒的书,很喜欢。以后还会来买书的


还没有看。。。老师推荐的。。。


还凑合吧,刚开始的时候看看也挺好。


给表弟买的,自己只是概览,不错的书!


帮舍友买的,听说还不错,正版书比较贵,学生党的可以自己去复印,比书便宜不少


朋友推荐的!!不错!!适合深入探究


书很好,质量不错,包装也挺好,很满意


很好,很不错,学习算法好书


妙趣横生的算法(C语言实现)


就是普通的算法书。


算法很好用


算法必看书~


算法讲的还行


相关图书