數據結構和 Java 腳本:什么是數據結構?
數據結構和 Java 腳本:什么是數據結構?
什么是數據結構? 我一直對數據結構這個術語是一頭霧水。 這到底是個什么東西?他就是有結構的數據嗎?當然這本身也是另外一個同樣讓人搞不清的術語。 當我把我的迷惘告訴我的同事時,他們都會嘲笑我說:當然就是有結構的數據了。他們臉上那些滿足的表情常常讓我置疑我自己。我想那就是所有我應該知道的吧。。。
最終,我學會了用一個簡單的重新改寫這個短語的方式來解決這個概念:我將數據結構寫成了數據的結構。 在這個上下文語境中,關注的焦點從數據(一件事)轉移到了結構(組織)上了。這是一個細微的,但卻是影響重大的細節。我們不能只關注,換言之,一個事物,而應該是關注管理這件事的流程上。 讓我們假想我們正在談討的這一個事物是書籍。以下這樣解釋能讓他更講的通:書籍就是具有結構和組織的書本?在我印象里,后者應該更容易理解吧。正確的焦點是在組織上,而不是書本。 不同類型的數據結構。 書籍,類似于數據,可以用很多不同的方法來組織,排列。
讓我們想象假如我們有20本書,我們應該怎么排列他們? 當我們需要某本書做參考的時候,我們想要能快速的找到他。我們就可以把這20本書按照字母順序排在書架上。每次當需要一本書的時候,我們就可以利用已具有的知識快速定位,這些書是按字母順序排列的。 如果我們想按某個特定的順序讀完所有的書,這意味著我們已經指定好了從第一本到最后一本各本書的順序,于是我們按這個順序排列好所有的書,而且我們也會強制把只按這個順序的限制加到我們的讀書過程中去。
如果我們不能保證把所有的書都保存在同一個房間內,也許我們會找到另外的方法去排列,以便于我們能快速的定位。 首先我們把這20本書放在家里的不同位上,然后我們創建一個具有兩列的表:第一列是書的名字,第二列是該書存放的位置。 現在應該很清楚了:這里有很多不同的方法排列組織我們的書,所以可以說這有很多不同種類型的數據結構。我們所用在網站開發的數據結構,恰恰就象我們所舉的書的例子,是根據我們的實際需要來的。
現在我們明白了現實中有很多種數據結構類型以滿足我們不同的需求。我們也需要明白,其實無需任何那些所謂的高深編碼知識,也可以使用或是創建數據結構。我們所有人,也包括那些沒長著絡腮胡子的(意指網絡黑客們),都可以創建數據結構。我們所需要了解的就是那些很普通的 java腳本-- 原型(例如:布爾型)和引用類型(例如:對象)。
如果這些看上去仍然難以想象,也別擔心。 我以前一直在考慮集合概念,一種數據結構,也就是集合。 一個集合不是一個事物; 而是一個賦予給了通過特定的方式組織在一起的數據的名稱。還有明白一個重要的概念:集合是用對象創建出來的。 目標: 這一系列的Java 腳本數據結構的文章將會告訴你數據結構并不神秘,或是晦澀難懂的。其實,他們一直都能讓我們程序員的日子更輕松點。我會試著在接下來的這個系列的每篇文章里,用一兩個類似的例子來深化這個觀點。
提綱:
因為在這個系列里面會包含足夠多的數據類型,所以我們只會探索一小部分,但卻是最常用的數據結構: 堆棧和隊列 單向鏈表和雙向鏈表。 樹(深度優先搜索和廣度優先搜索)。
總結:
當我們結束了這個系列時,我希望您不僅學會了如何運用這些常用的數據結構,你還能在我們的日常生活中發現他們被使用的實例。當你能意識到這些數據結構為了一些特定,有用的目的把所有的數據組織到一起時,你自然會更加感激他們了。你也會開始用些不同的方法來考慮你的數據,以及組織排列你的數據的方法。
不深思則不能造于道。不深思而得者,其得易失。
名人名言- 曾國藩
- By Cho S. Kim
- 2015-09-04
- 1480
- 公司新聞,網站開發,網站設計,UI