数据结构与算法分析

韦斯 (Mark Allen Weiss)

出版时间

2016-02-29

ISBN

9787111528395

评分

★★★★★

标签

编程

书籍介绍

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

AI导读
核心看点
  • 经典教材,涵盖ADT、算法分析及高级数据结构
  • 深入讲解贪婪、分治、动态规划等算法设计技巧
  • 通过C语言实现,强调程序效率与运行时间估算
适合谁读
  • 计算机专业本科生及研究生,作为课程教材
  • 准备技术面试,需系统复习数据结构的程序员
  • 具备中级编程基础,希望提升算法能力的开发者
读前提醒
  • 需具备离散数学背景及中级程序设计知识
  • 翻译质量参差不齐,建议结合英文原版阅读
  • 后半部分高级结构较晦涩,初学者可酌情跳过
读者共识
  • 内容全面且深入,是数据结构领域的权威著作
  • 理论性强,部分章节阅读门槛高,略显枯燥
  • 适合系统学习,面试前翻阅效果优于速成书

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

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

显示全部
用户评论
不错的一本入门书,但是一定要的吧算法都是用自己的理解实现好几遍哦。
为了面试 竟然花了两天看完了 这本书好就好在有具体的java实现 当然能看这么快也是因为之前了解过相关的东西 当作是一种复习 少一星是因为这个醉人的翻译
从一个博主那里看到这本书的,然后买来看,发现很难阅读。
读起来很别扭
前前后后,花了一个多月,总算把它啃完。总的来说,这本近400页的书还是很不错,比国内很多本科教材好多。佩服作者。看是看完了,但是很多内容还有待消化,尤其是后面的一些内容。还需要很长一段时间反嚼。比较烧脑。
翻译得真是晦涩难懂....心好累....
周末翻了翻手里的这版(2004)想找些定义,发现翻译的是真烂…
这本书只看代码,不能看内容,翻译的水平太低
翻译得像💩
推荐直接看英文原版,为什么可以翻译的这么烂。
下载
收藏