最近開始打磨本身的基礎知識,包括java相關,數據結構等。也是爲後面考試打好基礎。今天主要是對數據結構進行一些概述,主要是對知識人總結,方便本身之後的複習。首先聲明一下,本篇以及後續的博客內容會摘自《大話設計模式》或相關書籍或博客,若是看到有重複內容,請不要噴我。本着一個原則:總結學習知識,方便本身
查閱,若能對他人有所幫助,深表榮幸!java
學習以前,先理解一下基本概念。數據結構能夠分爲兩部分理解,一個是數據,一個是結構。設計模式
數據,是指描述客觀事物的符號,是計算機中可操做的對象,能被計算機識別並處理的符號集合。好比整型等數值類型,還包括一些字符而及聲音、圖像、視頻等非數值類型。
數據其實就是符號,可是要具有兩個前提數據結構
數據元素是組成數據的、有必定意義的基本單位。就是數據的基本單位。學習
通常來講,一個數據元素能夠由若干個數據項組成。數據項也可稱爲字段、域、屬性等。
數據項是數據不可分割的最小單位。設計
數據對象,是性質相同的數據元素的集合,是數據的子集。視頻
結構,簡單的理解就是就是關係,好比分子結構,就是說組成分子的原子之間的排列方式。嚴格來講,結構是指各個組成部分相互搭配和排列的方式。在現實生活中,不一樣數據元素之間不是獨立的,而是存在特定的關係,咱們將這些關係稱爲結構。
那麼,數據結構就是相互之間存在一種或多種特定關係的數據元素的集合。對象
按照視點的不一樣,能夠將數據結構分爲邏輯結構和物理結構。blog
邏輯結構,是指數據對象中數據元素之間的相互關係。邏輯結構爲四種,以下圖:
內存
用示意圖表示數據的邏輯結構時,注意點:博客
物理結構是指數據的邏輯結構在計算機中的存儲形式。數據是數據元素的集合,根據定義,實際就是如何把數據元素存儲到計算機的存儲器中。存儲器是針對內存而言的,像硬盤、軟盤、光盤等外部存儲器的數據一般經過文件結構來描述。
數據結構的存儲結構形式有兩種:順序存儲和鏈式存儲。
順序存儲結構
順序存儲結構是把數據元素存放在地址連續的存儲單元裏,其數據間的邏輯關係和物理關係是一致的。以下圖:
鏈式存儲結構
鏈式存儲結構是把數據元素存放在任意的存儲單元裏,這組存儲單元能夠是連續的,也能夠不連續的。以下圖:
這是整理書上的一些基本概念,作個筆記。在看其餘人的博客的時候,也看到了一些熟悉的內容,相信不少人看過這本書,也作了記錄。別人的學習記錄是別人的,本身學習要整理本身的……