我沒有系統的學習過數據結構,沒有辦法長篇大論的談論數據結構,不過能夠輔助理解一些涉及到數據結構的東西,例如集合數組
數據結構數據結構
定義一:數據元素集合(也可稱數據對象)中各元素的關係.學習
定義二:相互之間存在一種或多種特定關係的數據元素集合spa
數據指針
定義:是對客觀事物的符號表示,在計算機科學中是指全部能輸入到計算機中並被計算機程序處理的符號總稱對象
數據元素索引
定義:數據的基本單位,在計算機程序中一般做爲一個總體進行考慮和處理隊列
數據對象內存
定義:性質相同的數據元素的集合,是數據的一個子集計算機科學
元素或結點
定義:在計算機中表示信息的最小單位是二進制的一位數,咱們能夠用一個由若干位組合起來造成的一個位串表示一個數據元素,一般稱這個位串爲元素或結點
數據域
定義:當數據元素由若干數據項組成時,位串中對應於各個數據項的子位串成爲數據域
數據結構分邏輯結構和物理結構
邏輯結構分爲:
1.集合---------數據元素之間除了同屬於一個集合以外再無其餘關係,也能夠說是鬆散的關係
2.線性結構-----數據元素具備一對一的先後關係
1).線性表:一個線性表是n個數據元素的有序序列
線性表的順序表示指的是用一組地址連續的存儲單元一次存儲線性表的數據元素.增刪慢,例如在表的中段添加一個結點,須要移動其後的全部結點位置,刪除相似;改查快,能夠根據索引直接找到結點的位置.
線性表的鏈式表示存儲結構的特色是用一組任意的存儲單元存儲線性表的數據元素.增刪快,在表中增長一個節點,不須要改動其餘結點的位置,只須要更改結點的指針域.
爲了表示每一個數據元素a1與其直接後繼數據元素a2之間的邏輯關係,對數據元素a1來講,除了存儲器自己的數據信息以外,還需存儲一個指示其直接後繼的信息.這兩部分嘻嘻組成數據元素a1的存儲映像,稱爲結點.它包裹兩個域:其中存儲數據信息的域稱爲數據域;存儲直接後繼存儲位置的域稱爲指針域.指針域存儲的信息稱做指針或鏈.
循環鏈表:表中最後一個結點的指針域指向頭結點
雙向鏈表:結點中存在兩個指針域,一個指向上一個元素,一個指向下一個元素
棧:是限定僅在表尾進行插入或刪除操做的線性表,後進先出
隊列:只容許在表的一端進行插入,而在另外一端刪除元素.先進先出
3.樹形結構-----數據元素具備一對多的父子關係 有且僅有一個特定的稱爲根的結點.
二叉樹:每一個節點至多隻能有兩個子節點
4.網狀結構-----數據元素具備多對多的交叉映射關係
物理結構分爲:
1.順序存儲結構,也稱爲數組結構
數據元素放在一塊連續的存儲空間,數據關係與物理關係是一致的.
2.鏈式存儲結構
數據元素放在內存空間的任意位置,數據元素之間經過指針鏈接.