数据结构和 Java 脚本:什么是数据结构?
数据结构和 Java 脚本:什么是数据结构?
什么是数据结构? 我一直对数据结构这个术语是一头雾水。 这到底是个什么东西?他就是有结构的数据吗?当然这本身也是另外一个同样让人搞不清的术语。 当我把我的迷惘告诉我的同事时,他们都会嘲笑我说:当然就是有结构的数据了。他们脸上那些满足的表情常常让我置疑我自己。我想那就是所有我应该知道的吧。。。
最终,我学会了用一个简单的重新改写这个短语的方式来解决这个概念:我将数据结构写成了数据的结构。 在这个上下文语境中,关注的焦点从数据(一件事)转移到了结构(组织)上了。这是一个细微的,但却是影响重大的细节。我们不能只关注,换言之,一个事物,而应该是关注管理这件事的流程上。 让我们假想我们正在谈讨的这一个事物是书籍。以下这样解释能让他更讲的通:书籍就是具有结构和组织的书本?在我印象里,后者应该更容易理解吧。正确的焦点是在组织上,而不是书本。 不同类型的数据结构。 书籍,类似于数据,可以用很多不同的方法来组织,排列。
让我们想象假如我们有20本书,我们应该怎么排列他们? 当我们需要某本书做参考的时候,我们想要能快速的找到他。我们就可以把这20本书按照字母顺序排在书架上。每次当需要一本书的时候,我们就可以利用已具有的知识快速定位,这些书是按字母顺序排列的。 如果我们想按某个特定的顺序读完所有的书,这意味着我们已经指定好了从第一本到最后一本各本书的顺序,于是我们按这个顺序排列好所有的书,而且我们也会强制把只按这个顺序的限制加到我们的读书过程中去。
如果我们不能保证把所有的书都保存在同一个房间内,也许我们会找到另外的方法去排列,以便于我们能快速的定位。 首先我们把这20本书放在家里的不同位上,然后我们创建一个具有两列的表:第一列是书的名字,第二列是该书存放的位置。 现在应该很清楚了:这里有很多不同的方法排列组织我们的书,所以可以说这有很多不同种类型的数据结构。我们所用在网站开发的数据结构,恰恰就象我们所举的书的例子,是根据我们的实际需要来的。
现在我们明白了现实中有很多种数据结构类型以满足我们不同的需求。我们也需要明白,其实无需任何那些所谓的高深编码知识,也可以使用或是创建数据结构。我们所有人,也包括那些没长着络腮胡子的(意指网络黑客们),都可以创建数据结构。我们所需要了解的就是那些很普通的 java脚本-- 原型(例如:布尔型)和引用类型(例如:对象)。
如果这些看上去仍然难以想象,也别担心。 我以前一直在考虑集合概念,一种数据结构,也就是集合。 一个集合不是一个事物; 而是一个赋予给了通过特定的方式组织在一起的数据的名称。还有明白一个重要的概念:集合是用对象创建出来的。 目标: 这一系列的Java 脚本数据结构的文章将会告诉你数据结构并不神秘,或是晦涩难懂的。其实,他们一直都能让我们程序员的日子更轻松点。我会试着在接下来的这个系列的每篇文章里,用一两个类似的例子来深化这个观点。
提纲:
因为在这个系列里面会包含足够多的数据类型,所以我们只会探索一小部分,但却是最常用的数据结构: 堆栈和队列 单向链表和双向链表。 树(深度优先搜索和广度优先搜索)。
总结:
当我们结束了这个系列时,我希望您不仅学会了如何运用这些常用的数据结构,你还能在我们的日常生活中发现他们被使用的实例。当你能意识到这些数据结构为了一些特定,有用的目的把所有的数据组织到一起时,你自然会更加感激他们了。你也会开始用些不同的方法来考虑你的数据,以及组织排列你的数据的方法。
不深思则不能造于道。不深思而得者,其得易失。
名人名言- 曾国藩
- By Cho S. Kim
- 2015-09-04
- 1852
- 公司新闻,网站开发,网站设计,UI