C++数据结构原理与经典问题求解
基本信息
内容简介回到顶部↑
本书是一部关于计算机科学与工程领域基础性核心课程——数据结构与算法的专著。全书以典型数据结构、程序设计方法及问题求解方法为研究对象,用c++面向对象程序设计语言作为描述语言,时刻突出对经典问题求解这一要旨,并将丰富的c++语言程序设计实践融入其中。
全书采用“数据结构原理描述→面向对象实现→解决经典问题→stl介绍”的基本架构,既强调理论的完整性,又突出实例引导的驱动性,用经典问题和大量背景描述提高读者的阅读兴趣,从而使原本枯燥的理论变得妙趣横生。基于上述框架,本书简要回顾了基本c++程序设计方法后,又全面系统地介绍了链表、队列、栈、树、图等基本数据结构。此外,本书还提供了近百个算法、数十个经典问题和十余个综合问题的完整实现代码近万余行。
本书内容实用,体例新颖,结构清晰,既可以作为大、中专院校在校师生相关课程的参考书,也可以作为信息学竞赛中数据结构方面的辅导用书。此外,本书也可供计算机科学与工程领域从业人员参考和查阅。
全书采用“数据结构原理描述→面向对象实现→解决经典问题→stl介绍”的基本架构,既强调理论的完整性,又突出实例引导的驱动性,用经典问题和大量背景描述提高读者的阅读兴趣,从而使原本枯燥的理论变得妙趣横生。基于上述框架,本书简要回顾了基本c++程序设计方法后,又全面系统地介绍了链表、队列、栈、树、图等基本数据结构。此外,本书还提供了近百个算法、数十个经典问题和十余个综合问题的完整实现代码近万余行。
本书内容实用,体例新颖,结构清晰,既可以作为大、中专院校在校师生相关课程的参考书,也可以作为信息学竞赛中数据结构方面的辅导用书。此外,本书也可供计算机科学与工程领域从业人员参考和查阅。
作译者回到顶部↑
目录回到顶部↑
第1章 绪论
1.1 数据与数据结构
1.1.1 数据及其类型
1.1.2 数据结构简介
1.2 算法
1.2.1 算法的概念
1.2.2 算法的分析
1.2.3 算法的设计
1.3 c++语言简介
1.3.1 c++的产生与发展
1.3.2 c++与面向对象思想
1.3.3 c++中的类和对象
1.4 本章小结
第2章 c++编程基础
2.1 开始c++编程
2.1.1 输入输出
2.1.2 预处理
2.1.3 名字空间
2.2 深入的类编程
2.2.1 访问控制
1.1 数据与数据结构
1.1.1 数据及其类型
1.1.2 数据结构简介
1.2 算法
1.2.1 算法的概念
1.2.2 算法的分析
1.2.3 算法的设计
1.3 c++语言简介
1.3.1 c++的产生与发展
1.3.2 c++与面向对象思想
1.3.3 c++中的类和对象
1.4 本章小结
第2章 c++编程基础
2.1 开始c++编程
2.1.1 输入输出
2.1.2 预处理
2.1.3 名字空间
2.2 深入的类编程
2.2.1 访问控制
前言回到顶部↑
本书缘起.
一家世界一流的IT公司给其面试者出了如下两道测试题。
1.一辆有7节车厢的列车在星期五下午18点17分离开车站,并以50 km/h的速度行驶。现在是周末,请问你要去哪里?
2.股票A目前的报价是100元。3个月后,这个价钱可能涨到120元,也可能跌到90元。如果现在给你一次机会允许你用110元钱在接下来的3个月内买这个股票,你将如何使用这110元钱。请将你的决策过程告诉我们。
无独有偶,许多世界顶级的软件公司都喜欢在面试时问一些考查应试者思维能力的问题,为什么呢?道理很简单,单纯掌握一门编程语言并不足以编写出好的程序。重要的是,掌握思考问题的方法和解决问题的策略。
古语云:“授人以鱼,不如授人以渔。”如果说吃鱼是目的,那么钓鱼就是手段。尽管一条鱼能解一时之饥,但却不能解长久之饥;如果想永远有鱼吃,那就要学会钓鱼的方法。这就是作者写作本书的目的和动机。
本书不仅是一本向程序员传授专业技术的书,更是一本教导人们如何思考问题的书。
本书对象
数据结构和算法是计算机程序设计领域的重要理论和技术基础,是计算机学科的核心课程,也是计算机科学研究的基础方向。数据结构不但为数据存储和问题解决提供逻辑结构基础,还可以提供一种抽象现实世界的思维方式,即使非计算机专业的人员学习和了解它也有助于发散思维,激发创意。而算法设计则在提供实际问题解决方案的同时,帮助训练人脑对问题的抽象能力和逻辑思维能力,因此学习这方面的知识也大有裨益。
对于计算机应用及程序设计相关方向的工程技术人员而言,数据结构和算法是处理实际问题的必备利器。
对于计算机相关方向的在校学生而言,数据结构和算法是深入学习本学科其他知识的必要保障。
对于热衷计算机技术或程序设计的业余爱好者而言,数据结构和算法是开拓思维、培养能力的必由之路。
本书特点
尽管数据结构相关课程教育引入我国不过二三十年,但在这短短的时间里其相关领域的教学和科研成果层出不穷。近年来,有关数据结构的书籍可谓是“百花齐放,百家争鸣”。不言而喻,读者可选择的范围更广了,可研习的材料更多了,但在林林总总之间选择却也不由得令人眩晕起来。观察现有的众多数据结构书籍,大部分教材注重相关理论的阐述,而在一定程度上忽略了这些理论的应用和实现,与程序设计本身相脱离,内容难免晦涩又缺乏实用性。本书则力求避其短而扬其长,以典型数据结构、程序设计方法及问题求解方法为研究对象,将三者融会贯通的同时,巧妙地将丰富的C++面向对象语言程序设计实践融入其中。最大限度地提高本书的含金量,以飨读者。
笔者始终本着强调重点、突出实践、精益求精、存同求异的思想努力将这本书写好。总的来说,本书主要有如下3点区别于其他同类书籍。
道法自然、内外兼修。将程序设计方法、面向对象思想同数据结构与算法设计有机结合,进而突出工程性、实用性。..
问题典型、实例经典。时刻不离对经典问题求解这一要旨,通过生动丰富的问题描述突出经典问题求解的趣味性和实效性。
深入浅出、通俗易懂。注意从日常生活中可能遇到的实际问题出发以引导读者思考,并杜绝生硬灌输和填鸭式教学。
本书结构
本书以C++语言作为描述语言,时刻突出对经典问题求解这一要旨。全书采用“数据结构原理描述→面向对象实现→解决经典问题→STL介绍”的基本架构,既强调理论的完整性又突出实例引导的驱动性,用经典问题和大量背景描述提高读者的阅读兴趣,从而使原本枯燥的理论变得妙趣横生。基于上述框架,全书共分为11章。
一家世界一流的IT公司给其面试者出了如下两道测试题。
1.一辆有7节车厢的列车在星期五下午18点17分离开车站,并以50 km/h的速度行驶。现在是周末,请问你要去哪里?
2.股票A目前的报价是100元。3个月后,这个价钱可能涨到120元,也可能跌到90元。如果现在给你一次机会允许你用110元钱在接下来的3个月内买这个股票,你将如何使用这110元钱。请将你的决策过程告诉我们。
无独有偶,许多世界顶级的软件公司都喜欢在面试时问一些考查应试者思维能力的问题,为什么呢?道理很简单,单纯掌握一门编程语言并不足以编写出好的程序。重要的是,掌握思考问题的方法和解决问题的策略。
古语云:“授人以鱼,不如授人以渔。”如果说吃鱼是目的,那么钓鱼就是手段。尽管一条鱼能解一时之饥,但却不能解长久之饥;如果想永远有鱼吃,那就要学会钓鱼的方法。这就是作者写作本书的目的和动机。
本书不仅是一本向程序员传授专业技术的书,更是一本教导人们如何思考问题的书。
本书对象
数据结构和算法是计算机程序设计领域的重要理论和技术基础,是计算机学科的核心课程,也是计算机科学研究的基础方向。数据结构不但为数据存储和问题解决提供逻辑结构基础,还可以提供一种抽象现实世界的思维方式,即使非计算机专业的人员学习和了解它也有助于发散思维,激发创意。而算法设计则在提供实际问题解决方案的同时,帮助训练人脑对问题的抽象能力和逻辑思维能力,因此学习这方面的知识也大有裨益。
对于计算机应用及程序设计相关方向的工程技术人员而言,数据结构和算法是处理实际问题的必备利器。
对于计算机相关方向的在校学生而言,数据结构和算法是深入学习本学科其他知识的必要保障。
对于热衷计算机技术或程序设计的业余爱好者而言,数据结构和算法是开拓思维、培养能力的必由之路。
本书特点
尽管数据结构相关课程教育引入我国不过二三十年,但在这短短的时间里其相关领域的教学和科研成果层出不穷。近年来,有关数据结构的书籍可谓是“百花齐放,百家争鸣”。不言而喻,读者可选择的范围更广了,可研习的材料更多了,但在林林总总之间选择却也不由得令人眩晕起来。观察现有的众多数据结构书籍,大部分教材注重相关理论的阐述,而在一定程度上忽略了这些理论的应用和实现,与程序设计本身相脱离,内容难免晦涩又缺乏实用性。本书则力求避其短而扬其长,以典型数据结构、程序设计方法及问题求解方法为研究对象,将三者融会贯通的同时,巧妙地将丰富的C++面向对象语言程序设计实践融入其中。最大限度地提高本书的含金量,以飨读者。
笔者始终本着强调重点、突出实践、精益求精、存同求异的思想努力将这本书写好。总的来说,本书主要有如下3点区别于其他同类书籍。
道法自然、内外兼修。将程序设计方法、面向对象思想同数据结构与算法设计有机结合,进而突出工程性、实用性。..
问题典型、实例经典。时刻不离对经典问题求解这一要旨,通过生动丰富的问题描述突出经典问题求解的趣味性和实效性。
深入浅出、通俗易懂。注意从日常生活中可能遇到的实际问题出发以引导读者思考,并杜绝生硬灌输和填鸭式教学。
本书结构
本书以C++语言作为描述语言,时刻突出对经典问题求解这一要旨。全书采用“数据结构原理描述→面向对象实现→解决经典问题→STL介绍”的基本架构,既强调理论的完整性又突出实例引导的驱动性,用经典问题和大量背景描述提高读者的阅读兴趣,从而使原本枯燥的理论变得妙趣横生。基于上述框架,全书共分为11章。
书摘回到顶部↑
第1章绪论
1.1数据与数据结构
数据是一切有意义信息的基本存在形式。如何有效地组织和利用数据一直是计算机科学家们研究的重点。无论是学术研究还是工程应用,数据和数据结构都扮演着极其重要的角色。
1.1数据及其类型
数据(Data)是信息的载体,有序的数据组织就形成了信息。信息是人类可以直接利用或感知的意识形式。而数据则是用来被计算机识别、存储和处理的,它是计算机利用或感知的基本单位。
……
1.1数据与数据结构
数据是一切有意义信息的基本存在形式。如何有效地组织和利用数据一直是计算机科学家们研究的重点。无论是学术研究还是工程应用,数据和数据结构都扮演着极其重要的角色。
1.1数据及其类型
数据(Data)是信息的载体,有序的数据组织就形成了信息。信息是人类可以直接利用或感知的意识形式。而数据则是用来被计算机识别、存储和处理的,它是计算机利用或感知的基本单位。
……
相关资源回到顶部↑
· 【推荐】众多高校学子口口相传,他们共同的选择--华清远见嵌入式学院(嵌入式Linux就业课程、3G手机开发就业课程,通过入学测试即签100%就业协议,4个月集中实训,世界500强企业成功就业保障!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
· C/C++ 经典著作(《C专家编程》《C++ Templates中文版》《C和指针 》《C陷阱与缺陷》《C++沉思录》)
评论交流
共有10人开贴评论 14人参与评论 6人参与打分 查看
评价等级:



发表于:2009-2-26 1:12:00
买到书只看了第四章链表的单向链表部分,但是已经发现书中有太多错误了。
1、一些小错误:比如ListNode的析构函数少了个分号。
2、List的实现部分,少了很多delete,内存泄漏问题严重。settail函数的作用描述的不清不楚,析构函数实现有问题,根本不能一个{}了事。
3、有序链表的合并,书上的算法也太笨拙了。多项式加法的算法实现是错误。
本来看了书的前言和目录,对作者和书有很大的信心才购买了此书。但是我,一个菜鸟,才看了11页就已经发现数以十计的错误,怎能不寒心。希望作者快快修正,出个修订版吧。否则怎么对的起我们这些买书支持你的读者。
1、一些小错误:比如ListNode的析构函数少了个分号。
2、List的实现部分,少了很多delete,内存泄漏问题严重。settail函数的作用描述的不清不楚,析构函数实现有问题,根本不能一个{}了事。
3、有序链表的合并,书上的算法也太笨拙了。多项式加法的算法实现是错误。
本来看了书的前言和目录,对作者和书有很大的信心才购买了此书。但是我,一个菜鸟,才看了11页就已经发现数以十计的错误,怎能不寒心。希望作者快快修正,出个修订版吧。否则怎么对的起我们这些买书支持你的读者。
| 我要写评论 |
| 查看所有评论交流(共10条) |


点击看大图





加载中...
