Dsa Using Java 简明教程

DSA using Java - Overview

What is a Data Structure?

数据结构是组织数据的一种方法,可以有效地利用数据。以下术语是数据结构的基础术语。

Data Structure is a way to organized data in such a way that it can be used efficiently. Following terms are foundation terms of a data structure.

  1. Interface − Each data strucure has an interface. Interface represents the set of operations that a datastructure supports.An interface only provides the list of supported operations, type of parameters they can accept and return type of these operations.

  2. Implementation − Implementation provides the internal representation of a data structure. Implementation also provides the defination of the alogrithms used in the opreations of the data structure.

Characteristics of a Data Structure

  1. Correctness − Data Structure implementation should implement its interface correctly.

  2. Time Complexity − Running time or execution time of operations of data structure must be as small as possible.

  3. Space Complexity − Memory usage of a data structure operation should be as little as possible.

Need for Data Structure

随着应用程序变得复杂且数据丰富,如今应用程序面临三个常见问题。

As applications are getting complex and data rich, there are three common problems applications face now-a-days.

  1. Data Search − Consider an inventory of 1 million(106) items of a store. If application is to search an item. It has to search item in 1 million(106) items every time slowing down the search. As data grows, search will become slower.

  2. Processor speed − Processor speed although being very high, falls limited if data grows to billon records.

  3. Multiple requests − As thousands of users can search data simultaneously on a web server,even very fast server fails while searching the data.

为了解决上述问题,数据结构派上了用场。可以将数据组织到数据结构中,使得可能无需搜索所有项目,并且可以几乎立即搜索所需数据。

To solve above problems, data structures come to rescue. Data can be organized in a data structure in such a way that all items may not be required to be search and required data can be searched almost instantly.

Execution Time Cases

有三个案例通常用于以相对的方式比较各种数据结构的执行时间。

There are three cases which are usual used to compare various data structure’s execution time in relative manner.

  1. Worst Case − This is the scenario where a particular data structure operation takes maximum time it can take. If a operation’s worst case time is ƒ(n) then this operation will not take time more than ƒ(n) time where ƒ(n) represents function of n.

  2. Average Case − This is the scenario depicting the average execution time of an operation of a data structure. If a operation takes ƒ(n) time in execution then m operations will take mƒ(n) time.

  3. Best Case − This is the scenario depicting the least possible execution time of an operation of a data structure. If a operation takes ƒ(n) time in execution then actual operation may take time as random number which would be maximum as ƒ(n).