- 浏览: 117051 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
liang1022:
請問要怎麼在命列行 启动服务器呢?java MainServe ...
CXF学习(1) 使用CXF实现简单的HelloWorld -
newdog_cbl:
JAVA静态方法形式上可以重写,但从本质上来说不是JAVA的重 ...
java静态方法能否被重写 -
zhyun29:
比喻非常不错,赞一个
java中synchronized用法 -
MyEyeOfJava:
LZ的帖子都很好啊。
java中synchronized用法 -
FutureKey:
LZ写的太好了
java中synchronized用法
本人小硕,现在的公司的都tmd太急功近利了,到了就想让干活,真tmd近视!
今天开始,再把数据结构Java版弄一遍,以后非得把那些孙子整趴下!
DATA STRUCTURES AND ALGORITHMS IN JAVA
Table of Contents
Data Structures and Algorithms in Java
Introduction
Part I
Chapter 1 - Overview
Chapter 2 - Arrays
Chapter 3 - Simple Sorting
Part II
Chapter 4 - Stacks and Queues
Chapter 5 - Linked Lists
Chapter 6 - Recurion
Part III
Chapter 7 - Advanced Sorting
Chapter 8 - Binary Trees
Chapter 9 - Red-Black Trees
Part IV
Chapter 10 - 2-3-4 Trees and External Storage
Chapter 11 - Hash Tables
Chapter 12 - Heaps
Part V
Chapter 13 - Graphs
Chapter 14 - Weighted Graphs
Chapter 15 - When to Use What
Part VI Appendixes
Appendix A - How to Run the Workshop Applets and Example Programs
Appendix B - Further Reading
Back Cover
• Data Structures and Algorithms in Java, by Robert Lafore (The Waite Group, 1998) "A beautifully written and illustrated introduction to manipulating data in practical ways, using Java examples."
• Designed to be the most easily understood book ever written on data structures and algorithms
• Data Structures and Algorithms is taught with "Workshop Applets+ -animated Java programs that introduce complex topics in an intuitively obvious way
• The text is clear, straightforward, non-academic, and supported by numerous figures
• Simple programming examples are written in Java, which is easier to understand than C++
About the Author
Robert Lafore has degrees in Electrical Engineering and Mathematics, has worked as a systems analyst for the Lawrence Berkeley Laboratory, founded his own software company, and is a best-selling writer in the field of computer programming. Some of his current titles are C++ Interactive Course, Object-Oriented Programming in C++, and C Programming Using Turbo C++. Earlier best-selling titles include Assembly Language Primer for the IBM PC and XT and (back at the beginning of the computer revolution) Soul of CP/M.
Data Structures and Algorithms in Java
不重要[略去]
Introduction
This introduction tells you briefly
• What this book is about
• Why it's different
• Who might want to read it
• What you need to know before you read it
• The software and equipment you need to use it
• How this book is organized
What This Book Is About
This book is about data structures and algorithms as used in computer programming. Data structures are ways in which data is arranged in your computer's memory (or stored on disk). Algorithms are the procedures a software program uses to manipulate the data in these structures.
Almost every computer program, even a simple one, uses data structures and algorithms. For example, consider a program that prints address labels. The program might use an array containing the addresses to be printed, and a simple for loop to step through the array, printing each address.
The array in this example is a data structure, and the for loop, used for sequential access to the array, executes a simple algorithm. For uncomplicated programs with small amounts of data, such a simple approach might be all you need. However, for programs that handle even moderately large amounts of data, or that solve problems that are slightly out of the ordinary, more sophisticated techniques are necessary. Simply knowing the syntax of a computer language such as Java or C++ isn't enough.
This book is about what you need to know after you've learned a programming language. The material we cover here is typically taught in colleges and universities as a second-year course in computer science, after a student has mastered the fundamentals of programming.
What's Different About This Book
There are dozens of books on data structures and algorithms. What's different about this one? Three things:
• Our primary goal in writing this book is to make the topics we cover easy to understand.
• Demonstration programs called Workshop applets bring to life the topics we cover, showing you step by step, with "moving pictures," how data structures and algorithms work.
• The example code is written in Java, which is easier to understand than C,C++, or Pascal, the languages traditionally used to demonstrate computer science topics.
Let's look at these features in more detail.
Easy to Understand
Typical computer science textbooks are full of theory, mathematical formulas, and abstruse examples of computer code. This book, on the other hand, concentrates on simple explanations of techniques that can be applied to real-world problems. We avoid complex proofs and heavy math. There are lots of figures to augment the text.
Many books on data structures and algorithms include considerable material on software engineering. Software engineering is a body of study concerned with designing and implementing large and complex software projects.
However, it's our belief that data structures and algorithms are complicated enough without involving this additional discipline, so we have deliberately de-emphasized software engineering in this book. (We'll discuss the relationship of data structures and algorithms to software engineering in Chapter 1," Overview.")
de-emphasize [di:'emfəsaiz] vt. 不再重视,不再强调
Of course we do use an object-oriented approach, and we discuss various aspects of object-oriented design as we go along, including a mini-tutorial on OOP in Chapter 1. Our primary emphasis, however, is on the data structures and algorithms themselves.
Workshop Applets
The CD-ROM that accompanies this book includes demonstration programs, in the form of Java applets, that cover the topics we discuss. These applets, which we call Workshop applets, will run on many computer systems, appletviewers, and Web browsers. (See the readme file on the CD-ROM for more details on compatibility.) The Workshop applets create graphic images that show you in "slow motion" how an algorithm works.
For example, in one Workshop applet, each time you push a button, a bar chart shows you one step in the process of sorting the bars into ascending order. The values of variables used in the sorting algorithm are also shown, so you can see exactly how the computer code works when executing the algorithm. Text displayed in the picture explains what's happening.
Another applet models a binary tree. Arrows move up and down the tree, so you can follow the steps involved in inserting or deleting a node from the tree. There are more than 20 Workshop applets—at least one for every major topic in the book.
These Workshop applets make it far more obvious what a data structure really looks like, or what an algorithm is supposed to do, than a text description ever could. Of course, we provide a text description as well. The combination of Workshop applets, clear text, and illustrations should make things easy.
These Workshop applets are standalone graphics-based programs. You can use them as a learning tool that augments the material in the book. (Note that they're not the same as the example code found in the text of the book, which we'll discuss next.)
standalone adj. 单独的
Java Example Code
The Java language is easier to understand (and write) than languages such as C and C++. The biggest reason for this is that Java doesn't use pointers. Although it surprises some people, pointers aren't necessary for the creation of complex data structures and algorithms. In fact, eliminating pointers makes such code not only easier to write and to understand, but more secure and less prone to errors as well.
Java is a modern object-oriented language, which means we can use an object-oriented approach for the programming examples. This is important, because object-oriented programming (OOP) offers compelling advantages over the old-fashioned procedural approach, and is quickly supplanting it for serious program development. Don't be alarmed if you aren't familiar with OOP. It's not that hard to understand, especially in a pointer-free environment such as Java. We'll explain the basics of OOP in Chapter 1.
The Software You Need to Use this Book
All the software you need to use this book is included on the accompanying CD-ROM. To run the Workshop applets you need a Web browser or an appletviewer utility such as the one in the Sun Microsystems Java Development Kit (JDK). Both a browser and the JDK are included on the CD-ROM. To compile and run the example programs you'll need the JDK. Microsoft Windows and various other platforms are supported. See the readme file on the included CD-ROM for details on supported platforms and equipment requirements.
今天开始,再把数据结构Java版弄一遍,以后非得把那些孙子整趴下!
DATA STRUCTURES AND ALGORITHMS IN JAVA
Table of Contents
Data Structures and Algorithms in Java
Introduction
Part I
Chapter 1 - Overview
Chapter 2 - Arrays
Chapter 3 - Simple Sorting
Part II
Chapter 4 - Stacks and Queues
Chapter 5 - Linked Lists
Chapter 6 - Recurion
Part III
Chapter 7 - Advanced Sorting
Chapter 8 - Binary Trees
Chapter 9 - Red-Black Trees
Part IV
Chapter 10 - 2-3-4 Trees and External Storage
Chapter 11 - Hash Tables
Chapter 12 - Heaps
Part V
Chapter 13 - Graphs
Chapter 14 - Weighted Graphs
Chapter 15 - When to Use What
Part VI Appendixes
Appendix A - How to Run the Workshop Applets and Example Programs
Appendix B - Further Reading
Back Cover
• Data Structures and Algorithms in Java, by Robert Lafore (The Waite Group, 1998) "A beautifully written and illustrated introduction to manipulating data in practical ways, using Java examples."
• Designed to be the most easily understood book ever written on data structures and algorithms
• Data Structures and Algorithms is taught with "Workshop Applets+ -animated Java programs that introduce complex topics in an intuitively obvious way
• The text is clear, straightforward, non-academic, and supported by numerous figures
• Simple programming examples are written in Java, which is easier to understand than C++
About the Author
Robert Lafore has degrees in Electrical Engineering and Mathematics, has worked as a systems analyst for the Lawrence Berkeley Laboratory, founded his own software company, and is a best-selling writer in the field of computer programming. Some of his current titles are C++ Interactive Course, Object-Oriented Programming in C++, and C Programming Using Turbo C++. Earlier best-selling titles include Assembly Language Primer for the IBM PC and XT and (back at the beginning of the computer revolution) Soul of CP/M.
Data Structures and Algorithms in Java
不重要[略去]
Introduction
This introduction tells you briefly
• What this book is about
• Why it's different
• Who might want to read it
• What you need to know before you read it
• The software and equipment you need to use it
• How this book is organized
What This Book Is About
This book is about data structures and algorithms as used in computer programming. Data structures are ways in which data is arranged in your computer's memory (or stored on disk). Algorithms are the procedures a software program uses to manipulate the data in these structures.
Almost every computer program, even a simple one, uses data structures and algorithms. For example, consider a program that prints address labels. The program might use an array containing the addresses to be printed, and a simple for loop to step through the array, printing each address.
The array in this example is a data structure, and the for loop, used for sequential access to the array, executes a simple algorithm. For uncomplicated programs with small amounts of data, such a simple approach might be all you need. However, for programs that handle even moderately large amounts of data, or that solve problems that are slightly out of the ordinary, more sophisticated techniques are necessary. Simply knowing the syntax of a computer language such as Java or C++ isn't enough.
This book is about what you need to know after you've learned a programming language. The material we cover here is typically taught in colleges and universities as a second-year course in computer science, after a student has mastered the fundamentals of programming.
What's Different About This Book
There are dozens of books on data structures and algorithms. What's different about this one? Three things:
• Our primary goal in writing this book is to make the topics we cover easy to understand.
• Demonstration programs called Workshop applets bring to life the topics we cover, showing you step by step, with "moving pictures," how data structures and algorithms work.
• The example code is written in Java, which is easier to understand than C,C++, or Pascal, the languages traditionally used to demonstrate computer science topics.
Let's look at these features in more detail.
Easy to Understand
Typical computer science textbooks are full of theory, mathematical formulas, and abstruse examples of computer code. This book, on the other hand, concentrates on simple explanations of techniques that can be applied to real-world problems. We avoid complex proofs and heavy math. There are lots of figures to augment the text.
Many books on data structures and algorithms include considerable material on software engineering. Software engineering is a body of study concerned with designing and implementing large and complex software projects.
However, it's our belief that data structures and algorithms are complicated enough without involving this additional discipline, so we have deliberately de-emphasized software engineering in this book. (We'll discuss the relationship of data structures and algorithms to software engineering in Chapter 1," Overview.")
de-emphasize [di:'emfəsaiz] vt. 不再重视,不再强调
Of course we do use an object-oriented approach, and we discuss various aspects of object-oriented design as we go along, including a mini-tutorial on OOP in Chapter 1. Our primary emphasis, however, is on the data structures and algorithms themselves.
Workshop Applets
The CD-ROM that accompanies this book includes demonstration programs, in the form of Java applets, that cover the topics we discuss. These applets, which we call Workshop applets, will run on many computer systems, appletviewers, and Web browsers. (See the readme file on the CD-ROM for more details on compatibility.) The Workshop applets create graphic images that show you in "slow motion" how an algorithm works.
For example, in one Workshop applet, each time you push a button, a bar chart shows you one step in the process of sorting the bars into ascending order. The values of variables used in the sorting algorithm are also shown, so you can see exactly how the computer code works when executing the algorithm. Text displayed in the picture explains what's happening.
Another applet models a binary tree. Arrows move up and down the tree, so you can follow the steps involved in inserting or deleting a node from the tree. There are more than 20 Workshop applets—at least one for every major topic in the book.
These Workshop applets make it far more obvious what a data structure really looks like, or what an algorithm is supposed to do, than a text description ever could. Of course, we provide a text description as well. The combination of Workshop applets, clear text, and illustrations should make things easy.
These Workshop applets are standalone graphics-based programs. You can use them as a learning tool that augments the material in the book. (Note that they're not the same as the example code found in the text of the book, which we'll discuss next.)
standalone adj. 单独的
Java Example Code
The Java language is easier to understand (and write) than languages such as C and C++. The biggest reason for this is that Java doesn't use pointers. Although it surprises some people, pointers aren't necessary for the creation of complex data structures and algorithms. In fact, eliminating pointers makes such code not only easier to write and to understand, but more secure and less prone to errors as well.
Java is a modern object-oriented language, which means we can use an object-oriented approach for the programming examples. This is important, because object-oriented programming (OOP) offers compelling advantages over the old-fashioned procedural approach, and is quickly supplanting it for serious program development. Don't be alarmed if you aren't familiar with OOP. It's not that hard to understand, especially in a pointer-free environment such as Java. We'll explain the basics of OOP in Chapter 1.
The Software You Need to Use this Book
All the software you need to use this book is included on the accompanying CD-ROM. To run the Workshop applets you need a Web browser or an appletviewer utility such as the one in the Sun Microsystems Java Development Kit (JDK). Both a browser and the JDK are included on the CD-ROM. To compile and run the example programs you'll need the JDK. Microsoft Windows and various other platforms are supported. See the readme file on the included CD-ROM for details on supported platforms and equipment requirements.
发表评论
-
Java SE_001(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)
2011-09-15 10:28 946Java SE 第001讲 Java SE:Java Sta ... -
Think in java 4th_English_Generics
2011-07-14 17:23 803Generics Ordinary classes and m ... -
WebService
2011-03-01 10:21 1224CXF_HOEM=E:\apache-cxf-2.2.2 ... -
liferay in action
2011-01-22 00:02 905http://wenku.baidu.com/view/99b ... -
360buy
2011-01-07 21:44 824HTML DOM clearTimeout() 方法 htt ... -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org
2010-09-15 11:45 10398<!DOCTYPE HTML PUBLIC " ... -
Data_Structures_And_Algorithms_In_Java_Robert_Lafore_2nd_Edition_Programming
2010-07-09 18:35 2977package chapter2; // 2.1 To ... -
解析算术表达式
2010-07-06 17:55 3770到现在为止,本章已经 ... -
java静态方法能否被重写
2009-11-21 17:58 11418讲java静态方法能否被重写 -
重要的知识
2009-11-11 16:23 799Singleton模式通常的两种表现形式: 第一种形式: ... -
良葛格学习笔记输入输入一章中的PushbackInputStream的补充
2009-09-10 14:23 1107在良葛格学习笔记输入输出一章中,本人感觉有些地方说的不是很清楚 ... -
DEBUG时,step into/step over/step return的区别
2009-08-25 14:23 1744DEBUG时,step into/step over/step ... -
单步执行命令step into/step out/step over的区别
2009-08-25 14:22 1122单步执行命令step into/step out/step o ... -
MySQL MUL
2009-08-20 17:31 30091. 如果Key是空的, 那么该列值的可以重复, 表示该列没有 ... -
inverse=“true”
2009-08-20 17:15 1266关于Hibernate中inverse=true的转载 1. ... -
gbk,gb2312,big5,unicode,utf-8,utf-16之间的关系
2009-08-14 10:32 0最近和同事讨论unicode的相关知识,同事说unicode是 ... -
Eclipse快捷键功能
2009-06-07 20:07 854Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功 ...
相关推荐
数据结构与算法是计算机科学的基础,对于理解和解决复杂问题至关重要。...通过阅读《数据结构与算法(JAVA语言版)》这本书,你将深入理解这些概念,并能熟练运用Java语言实现它们,从而提升你的编程能力。
Java作为广泛应用的编程语言,其在实现数据结构和算法时有着丰富的库支持和优秀的可读性。下面将对标题和描述中提到的一些关键知识点进行详细解释。 1. **数据结构**: - **稀疏数组**:当大量数据中大部分为零或...
本资源"数据结构与算法代码详解JAVA版"聚焦于使用Java语言来理解和实现这些核心概念。 首先,数据结构是组织和存储数据的方式,它为高效地执行各种操作提供了便利。常见的数据结构包括数组、链表、栈、队列、树(如...
总的来说,“数据结构与算法 Java版”涵盖了如何在Java环境中理解和实现各种数据结构及算法的知识,这对于Java程序员的技能提升和问题解决能力的培养至关重要。通过深入学习,不仅可以提高编程技巧,还能为解决复杂...
《Java数据结构与算法中文版》是一本深入探讨编程核心领域的书籍,主要针对Java程序员,旨在提升他们在数据处理和问题解决能力上的技能。这本书详细介绍了数据结构和算法的基础理论及其在Java语言中的实现,是Java...
本资源包含两部分:一本名为“数据结构与算法(JAVA语言版)”的PDF教程和一个“源码.zip”压缩包,提供了相关的Java实现。 1. 数据结构:数据结构是组织和存储数据的方式,它直接影响到算法的效率。常见的数据结构...
本资料包“数据结构与算法JAVA版”聚焦于这个核心主题,包含了用Java实现的各种数据结构和算法。 1. **数据结构**: - **数组**:是最基本的数据结构,提供了固定大小的存储空间,通过索引访问元素。Java中的数组...
数据结构与算法分析 java语言描述第三版 源代码数据结构与算法分析 java语言描述第三版 源代码数据结构与算法分析 java语言描述第三版 源代码数据结构与算法分析 java语言描述第三版 源代码数据结构与算法分析 java...
《数据结构与算法分析》是计算机科学领域的一本经典著作,尤其在Java版本中,它深入探讨了如何在Java编程语言中实现各种数据结构和算法。这本书不仅提供了理论知识,还通过提供源代码实例,帮助读者更好地理解和应用...
数据结构与算法是计算机科学的基础,对于理解和编写高效软件至关重要。C、C++和Java都是广泛使用的编程语言,它们在处理数据结构和算法时各有特点。以下是对这三种语言在数据结构与算法方面的一些关键知识点的详细...
7. **数据结构与算法基础**: - 数据结构的选择直接影响算法的效率。基础数据结构包括数组、链表、集合、映射等。算法设计包括搜索、排序、图论、动态规划等方法。 学习这些知识点,不仅能够提高编程技能,还能为...
《Java数据结构与算法.pdf》是一本中文版的教程,它涵盖了数据结构如数组、链表、栈、队列、树、图、哈希表等的基本概念和实现。这些数据结构是解决复杂问题的基础,比如搜索、排序、优化存储和提高查询效率。在Java...
关于数据结构和算法的详细书籍,为Java版本,超详细,超准确!
这份“Java数据结构与算法+源代码高清版”资源旨在帮助开发者深入理解并掌握这些关键概念。 首先,让我们来探讨数据结构。数据结构是组织和存储数据的方式,它为算法提供了基础。常见的数据结构包括数组、链表、栈...
《数据结构与算法分析:Java语言描述 第2版 》是国外数据结构与算法分析方面的经典教材 使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计) 随着计算机速度...
数据结构与算法分析 java语言描述 原书第3版 中午版
### 数据结构与算法分析Java版 #### 一、概述 《数据结构与算法分析Java版》是一本由Robert Lafore撰写的书籍,该书详细介绍了如何利用Java编程语言来实现和操作各种数据结构和算法。全书共分为六个部分,分别涵盖...
这个“Java版本的数据结构和算法(Linux社区版)”压缩包显然是一个专注于Java语言的数据结构与算法的学习资源,特别强调了其原创性,暗示内容可能具有独特性和深度。 数据结构主要包括数组、链表、栈、队列、树、...
本书“数据结构与算法(JAVA语言版)含源代码”旨在深入讲解这些概念,并通过Java语言实现来加强理解。以下将详细介绍书中可能涵盖的知识点。 1. **数据结构**: - **线性结构**:如数组、链表(单链表、双链表)...
数据结构与算法分析Java语言描述 第3版.pdf,包含书签