数据结构与算法分析 - 韦斯 (Mark Allen Weiss)

数据结构与算法分析

韦斯 (Mark Allen Weiss)

出版时间

2008-12-31

ISBN

9787111231837

评分

★★★★★

标签

编程

书籍介绍

本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书把算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。

AI导读
核心看点
  • 经典教材,结合Java深入讲解数据结构与算法分析
  • 内容全面缜密,涵盖表、栈、队列及树等核心结构
  • 强调算法运行时间估计与高效程序开发方法
适合谁读
  • Java程序员及计算机专业学生必修参考书
  • 希望系统掌握算法效率与非科班自学人员
  • 需复习数据结构基础及提升编程思维者
读前提醒
  • 中译本翻译质量参差不齐,建议参考英文版
  • 理论逻辑性强,需配合代码实践以加深理解
  • 习题难度较大,建议结合其他经典教材对比阅读
读者共识
  • 内容精炼且涵盖面广,是入门与进阶的佳作
  • 翻译腔重且偶有逻辑不通,阅读体验受影响
  • 虽不及Sedgewick著作,但Java实现更地道

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "数据抽象类型(ADT)是一些操作的集合。抽象数据类型是数学的抽象;在ADT的定义中根本没有涉及如何实现操作的集合。这可以看成模块化设计的扩充。"
  • "对表的操作可以用数组来实现。但是需要对表的大小的最大值进行估计,通常需要估计得大一些,会浪费大量的空间。这是严重的局限,特别是存在许多未知大小的表的情况下。所以简单数组一般不用来实现表这种结构。"
  • "任何表的形式都能实现栈。"
  • "队列的基本操作时入队,它是在表的末端插入一个元素,还有出队,它是删除在表开头的元素。 队列一般被用于处理用概率方法计算用户排队预计等待时间,等待服务的队列。诸如此类的问题被称为排队论。"
  • "算法分析评估里面的N是代表输入数据的规模 对于大量数据的输入,链表的线性访问时间太慢,不宜使用。树这种数据结构的运行时间平均为O(log N)。树的一种自然的定义方式是递归方法。"
  • "具有相同父亲的节点为兄弟(sibling).一个树的深度等于它的最深树叶的深度,该深度总是等于这棵树的高度。 树节点的定义:将灭个节点的所有儿子都放在树节点的链表中。"
  • "树有很多应用。最流行的用法之一就是UNIX,VAX/VMS和DOS在内常用操作系统的目录结构。严格来说UNIX文件系统不是树,是类树(treelike)。"
  • "二叉树有许多与搜索无关的重要应用。主要用途之一就是在编译器设计领域。"
作者简介
MarkAllen Weiss拥有普林斯顿大学计算机科学博士学位,现在是佛罗里达国际大学计算机学院教授。他是著名的计算机教育专家,在数据结构与算法分析方面卓有建树,著有多部畅销书籍:《Data Structures and Problem Solving:LJsirlg、Java》、《Data Structures and Problem Solving:Using C++》、《数据结构与算法分析——C语言描述》等。他目前是AP(AdvancedPlacement)计算机学科委员会成员。
目录
译者序
前言
第1章 引论
1.1 本书讨论的内容
1.2 数学知识复习

显示全部
用户评论
看过Sedgewick的书后,实在没办法给你打个高分。
第二版2013年出的。这本书应该是java程序员必修书之一。以前从没细考虑过程序效率的同学都应该好好来读读的。
我的数据结构和算法入门书,全书难度适中,使用java语言非常地道,适合非科班程序员自学
刚读完前两章,远胜于以前任何算法与数据结构书,切中困惑点。有些翻译问题
1/4 习题未研究~
真别看,不如厕纸。同样是Java,为什么不去看《算法(第四版)》呢
毕业找工作学习java和刷题时看的书。
几个关键的章节看了,还有一些没看,以后再细读吧
出来混迟早要还系列,宏观的整体把握与业务推演是必须的,但卓越与极致源于出色的细节,补课ing
前半部分还可以,后半部分真的不是人读的,语句不通,代码是伪代码,各种定义残缺不全,如果没有基础的话,从第8章,第9章开始整部书会显得非常晦涩难懂
Z-Library
收藏