`
kingaragorn
  • 浏览: 118290 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据结构与算法(Java版)【2010/7/3】【0】

    博客分类:
  • Java
阅读更多
本人小硕,现在的公司的都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数据结构与算法.pdf

    Java作为广泛应用的编程语言,其在实现数据结构和算法时有着丰富的库支持和优秀的可读性。下面将对标题和描述中提到的一些关键知识点进行详细解释。 1. **数据结构**: - **稀疏数组**:当大量数据中大部分为零或...

    数据结构与算法代码详解JAVA版

    本资源"数据结构与算法代码详解JAVA版"聚焦于使用Java语言来理解和实现这些核心概念。 首先,数据结构是组织和存储数据的方式,它为高效地执行各种操作提供了便利。常见的数据结构包括数组、链表、栈、队列、树(如...

    数据结构与算法(Java语言版)含有源码

    本资源包含两部分:一本名为“数据结构与算法(JAVA语言版)”的PDF教程和一个“源码.zip”压缩包,提供了相关的Java实现。 1. 数据结构:数据结构是组织和存储数据的方式,它直接影响到算法的效率。常见的数据结构...

    数据结构与算法JAVA版

    本资料包“数据结构与算法JAVA版”聚焦于这个核心主题,包含了用Java实现的各种数据结构和算法。 1. **数据结构**: - **数组**:是最基本的数据结构,提供了固定大小的存储空间,通过索引访问元素。Java中的数组...

    数据结构与Java算法第四版

    《数据结构与Java算法第四版》是一本以Java为编程语言的教科书,适用于系统学习数据结构和算法的基本原理与应用。这本书特别关注于数据结构与算法的设计、分析和实现过程。在IEEE/ACM 2001计算机科学课程标准框架下...

    C、C++、JAVA数据结构与算法电子书

    数据结构与算法是计算机科学的基础,对于理解和编写高效软件至关重要。C、C++和Java都是广泛使用的编程语言,它们在处理数据结构和算法时各有特点。以下是对这三种语言在数据结构与算法方面的一些关键知识点的详细...

    数据结构与算法(java版)

    7. **数据结构与算法基础**: - 数据结构的选择直接影响算法的效率。基础数据结构包括数组、链表、集合、映射等。算法设计包括搜索、排序、图论、动态规划等方法。 学习这些知识点,不仅能够提高编程技能,还能为...

    Java版本的数据结构与算法

    关于数据结构和算法的详细书籍,为Java版本,超详细,超准确!

    Java 数据结构与算法+源代码 高清版

    这份“Java数据结构与算法+源代码高清版”资源旨在帮助开发者深入理解并掌握这些关键概念。 首先,让我们来探讨数据结构。数据结构是组织和存储数据的方式,它为算法提供了基础。常见的数据结构包括数组、链表、栈...

    Java数据结构和算法.pdf

    Java数据结构和算法.pdf

    Java版本的数据结构和算法(Linux社区版)绝对原创

    这个“Java版本的数据结构和算法(Linux社区版)”压缩包显然是一个专注于Java语言的数据结构与算法的学习资源,特别强调了其原创性,暗示内容可能具有独特性和深度。 数据结构主要包括数组、链表、栈、队列、树、...

    数据结构与算法(JAVA语言版)含源代码

    本书“数据结构与算法(JAVA语言版)含源代码”旨在深入讲解这些概念,并通过Java语言实现来加强理解。以下将详细介绍书中可能涵盖的知识点。 1. **数据结构**: - **线性结构**:如数组、链表(单链表、双链表)...

    数据结构与算法java版-不是很高清,不过还算全

    "数据结构与算法java版"这个资源虽然清晰度不高,但内容较为全面,涵盖了数据结构和算法的核心概念。 1. **数据结构**:数据结构是指在计算机中组织和存储数据的方式,它允许我们以高效的方式访问和修改数据。主要...

    数据结构与算法分析(java语言描述)中文第二版以及习题答案

    本文将探讨《数据结构与算法分析(Java语言描述)中文第二版》及其习题答案的重要性,以及Java语言特有属性在这方面的应用,帮助读者深刻理解数据结构与算法分析在Java编程中的实用价值。 首先,让我们聚焦于数据...

    Java数据结构和算法

    Java数据结构和算法 Java数据结构和算法 Java数据结构和算法 Java数据结构和算法 Java数据结构和算法 Java数据结构和算法 Java数据结构和算法 Java数据结构和算法

    数据结构与算法分析(Java语言描述)习题答案(第三版).docx

    在《数据结构与算法分析(Java语言描述)》(第三版)这本教材中,我们看到涉及了关于数据结构、算法以及程序设计的基础概念。在给出的文档中,部分题目和答案涵盖了递归、数学推理、文件处理以及计算理论等多个方面...

    数据结构与算法java语言版电子书

    数据结构与算法java语言版电子书

    数据结构与算法 Java语言版

    学习大数据的必备课程,数据结构与算法学好了,想去大公司就容易很多了

    数据结构和算法5.0.pdf

    数据结构和算法5.0.pdf

Global site tag (gtag.js) - Google Analytics