妙趣横生的算法(C语言实现 第2版)适合学习算法的人员作为入门教程,也适合有C语言基础的人作为编程实践读物,还可作为有编程经验的程序员查阅相关算法实现和数据结构知识的参考书。另外,本书也可以为那些准备参加IT面试和信息学竞赛的读者提供有益的帮助

编辑推荐

适读人群 :算法入门人员、算法爱好者、信息学/ACM竞赛参赛学员

算法入门经典畅销书全新升级,第1版图书被大量信息学竞赛学员作为学习教材

5.5小时教学视频、114个经典算法题、61个算法面试题和4个ACM竞赛题

帮您开阔眼界,培养编程兴趣,提高编程能力,增强求职竞争力

提供了5.5小时算法入门专题教学视频,学习起来比较直观

提供了28个数据结构及算法基础知识实例,便于读者入门

提供了86个经典、有趣、贴近生活、实用性强的算法实例

提供了61个算法及数据结构面试题,增强求职者的竞争力

提供了4个经典的ACM程序设计竞赛题目,便于读者了解

书中的所有实例用C语言实现,便于读者验证和加深对C语言的理解

既涵盖了算法的基本理论知识,又包含了大量实例,寓理论于实践之中

展开

内容简介

《妙趣横生的算法(C语言实现 第2版)》是深受广大读者好评的《妙趣横生的算法(C语言实现)》一书的全新升级版。本书在第1版的基础上对原书内容做了大量的调整和补充,并将书中的实例代码在Visual Studio 2010环境下重新编译通过,以适应当前技术的发展和阅读需求。本书内容涵盖了算法入门的必备基础知识和大量的趣味算法题、面试题和ACM竞赛题等。通过学习本书内容,可以开阔读者的视野,帮助读者理解算法,提高编程兴趣和能力,并提高C语言编程能力,还可以让读者了解IT面试中的常见算法题及编程竞赛中的相关知识。另外,本书提供了5.5小时配套教学视频和实例源代码,以提高读者的学习效率。

本书共11章,分2篇。第1篇为算法基础,包括数据结构基础知识、常用的查找与排序方法、常用的算法思想等。第2篇为常用算法实例解析,包括20个编程基本功趣题、39个数学趣题、14个数据结构趣题、7个数值计算趣题、6个综合题、61个算法设计与数据结构面试题、4个ACM程序设计竞赛 题目。

本书适合学习算法的人员作为入门教程,也适合有C语言基础的人作为编程实践读物,还可作为有编程经验的程序员查阅相关算法实现和数据结构知识的参考书。另外,本书也可以为那些准备参加IT面试和信息学竞赛的读者提供有益的帮助。

本书精华内容

数据结构基础(8个实例)

常用的查找与排序方法(9个实例)

常用的算法思想(11个实例)

编程基本功(20个实例)

数学趣题(39个实例)

数据结构趣题(14个实例)

数值计算问题(7个实例)

综合题(6个实例)

常见的算法设计面试题(31个实例)

常见的数据结构面试题(30个实例)

ACM程序设计竞赛题目选讲(4个实例)

本书赠送的教学视频内容

数据结构专题(36分钟)

查找和排序算法专题(75分钟)

常用算法专题(63分钟)

重点编程实例解析专题(89分钟)

重点面试题解析专题(65分钟)

展开

本书有何特点

1,结构清晰,知识全面

本书分为2篇。第1篇是基础知识介绍,主要介绍数据结构的基础知识和一些常用的算法思想。这部分内容为核心的理论知识,可以帮助读者学习和回顾数据结构和算法的知识,使读者在理论水平上有所提高,从而能够更加顺利地深入学习后续内容。第2篇主要是编程实例的介绍,通过一些非常有趣的编程实例使读者开阔眼界,发散思维,提高算法设计本领,提高灵活应用各种数据结构的本领,提高读者编写程序解决实际问题的能力。

2,实例丰富,讲解到位

本书的写作思想就是以实践为核心,以编程实例为主要内容。因此本书中包含了大量的编程实例,并都附有详细的分析和解答。作者认为讲解到位是本书与同类书籍相比的大特点。本书尽量做到深入浅出,多用简单的语句配以图示来讲解比较复杂的问题,而且尽量做到讲解透彻明白,不敷衍读者。

3,题材新型,趣味性强

兴趣是最好的老师。本书在编写过程中始终贯穿这一思想。因此本书中的题目设置尽量做到既有练习意义,又富有趣味性。特别是在本书的第2篇中,列举了大量的兼顾难度和趣味性的经典题目,例如魔幻方阵、汉诺塔、魔王语言翻译、约瑟夫环、马踏棋盘、巧算24、八皇后问题等。这样使读者对所谓的难题也不再那么畏惧,而是更加愿意面对它。

4、重点突出,实用性强

本书的写作意图是通过讲解大量生动有趣的实例,培养读者的编程能力、算法设计思想和对数据结构的灵活运用。归根到底就是通过程序设计解决实际问题的能力。因此本书中的所有题目都不只是给出答案而已,而是从算法思想的层面来剖析,涉及复杂数据结构的内容,还通过图示的方法形象地加以说明。特别值得一提的是,本书的最后一章为算法设计与数据结构面试题精粹,这部分内容从实战和应试的角度出发,旨在巩固读者的知识水平和提高读者的应试能力,同时使得本书更具实用价值。

5.视频教学,高效直观

本书中的重点内容和实例提供了配套教学视频辅助讲解。读者可以先阅读书中的内容讲解,然后再结合教学视频进行学习,可以获得更加高效而直观的学习效果。

展开

本书内容及知识体系

本书共11章,分为2篇,主要内容介绍如下。

第1篇 算法基础(第1~3章)

本篇主要介绍一些必备的算法基础知识,包括数据结构基础知识、常用的查找和排序方法、常用的算法思想。

第2篇 常用算法实例解析(第4~11章)

本篇主要介绍一些基于C语言的算法编程实例。包括编程的基本功、数学趣题、数据结构题、数值计算题、综合题、算法设计与数据结构面试题、ACM程序设计竞赛试题等。这些题目内涵丰富,兼顾趣味性,从不同侧面体现出对数据结构知识和算法设计思想的灵活运用,相信会对读者有一定帮助。

展开

什么是数据结构

数据结构是指计算机内部数据的组织形式和存储方法。我们熟悉的数组就是一种简单而典型的线性数据结构类型。本章中将更加具体地介绍一些常用的数据结构,主要包括:线性结构、树结构、图结构。

线性结构是最常用,也是最简单的一种数据结构。所谓线性结构,就是指由n个数据元素构成的有限序列。直观地讲,它就是一张有限的一维数表。数组就是一种最为简单的线性结构表示。更加具体地说,线性结构主要包括:顺序表、链表、栈、队列等基本形式。其中顺序表和链表是从存储形式上(或者说物理结构上)区分的,而栈和队列是从逻辑功能上区分的。也就是说,顺序表和链表是线性数据结构的基础,队列和栈是基于顺序表和链表的,它们由顺序表或链表构成。

有时仅仅用线性结构存储管理数据是难以胜任的,一些数据之间存在着“一对多”的关系,这就构成了所谓的树形结构,简称树结构。例如人工智能领域常用的“博弈树”,数据挖掘和商业智能中使用的“决策树”,多媒体技术中的“哈夫曼树”等都是应用树结构存储管理数据的实例。

还有一种常用的数据结构叫做图状结构,简称图结构。图结构中数据元素之间存在着

“多对多”的关系,因此图结构比线性结构和树结构都复杂得多。在处理一些复杂的问题中,图结构往往能派上用场,例如:人工智能领域中的神经网络系统、贝叶斯网络等都是应用图结构存储管理数据的实例。

展开

游客,本帖隐藏的内容需要积分高于 55 才可浏览,您当前积分为 0



回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 会员注册

    本版积分规则

    快速回复 返回顶部 返回列表