IOS中的數據結構的概念(1)

IOS中的數據結構的概念(1)

一 數據(類)

描述現實世界事物的符號,在計算機中就是我們常用的對象嘍,例如NSObject 、UIImageView、 Int、自定義的任何類對象都是數據。

特點:

  • 可以輸入到計算機中。
  • 能被我們編寫的程序處理。

數據元素(對象)

組成數據的單位 例如男人、女人是人類的數據元素;跑車、三輪車、電瓶車,自行車是車類的數據元素。


數據項(屬性)

組成數據元素的單位


數據對象

性質相同的數據元素集合,數據的子集 (屬性相同的對象集合)簡稱“數據”

性質:

  • 換成oc就是屬性

數據結構

  • 結構 == 關係

    • 不同的數據元素(對象)之間存在特定的關係 這個關係就是結構
  • 數據結構

    • 相互間存在一種或者多種的特定關係的 數據元素(對象)的集合

邏輯結構

數據元素(對象)間的相互關係

  • 集合結構

    • 集合H : {對象(數據元素)a,對象b,對象c,對象d…..}
    • a,b,c,d除了同屬於H集合,他們之間不再有其他關係
  • 線性結構

    • 線性結構中的數據元素(對象)是一對一的關係

    • 比如 a—b—c—d

  • 樹形結構

    • 數據元素(對象)間 一對多的關係
  • 圖形結構

    • 多對對的關係
    • 有方向 用個箭頭表示

物理結構

計算機中的存儲形式

順序存儲結構(數組)

  • 把數據元素(對象)放在 地址連續的存儲單元裏。
  • 數據間的 邏輯關係 和物理 關係是一致的。
  • 想一想:NSArray 爲什麼不能插入 和 修改 單元元素

    1. 在內存中分配一段固定的地址連續的存儲單元。
    2. 這個固定的存儲空間不可改變,如果可以修改,那麼在磁盤上的每一個數據所佔位置都要移動,或者增加和減少這會消耗性能,是不合理的。

    鏈式存儲結構:

  • 將數據元素(對象)放在 任意的存儲單元,可以是連續的也可以是不連續的
  • 前一個元素的末尾有一個存放地址的空間,來存放下一個元素的地址。
  • 再想一想NSMutableArray
    1. 在內存中隨意分配地址存儲單元
    2. a,b中間插入元素c,對已分配的存儲地址沒有任何影響,只需要將a元素末尾指針指向c,c末尾的指針指向b,這樣他們就聯繫起來了。對性能幾乎沒有消耗,因爲沒有動內存地址!

數據類型

數據類型 按照各自的取值範圍來劃分 ,比如int double 都有各自的取值範圍和各自所能進行的操作


原子類型

  • 不可再分化的基本類型
    • int
    • double
    • char等

結構類型

  • 比如整形數組裝的 若干個int型的數據

抽象數據類型

  • NSData
  • Type
    • 比如自己定義 的枚舉,每一個枚舉值其實是數值,我們把它抽象出來代表一個種類
  • CGRect
    • 位置和大小 由座標和寬高來代表,抽象出來一個x,y,w,h
  • CGPoint
    • 抽象 出橫座標和縱座標組成一個集合(x,y)
發佈了50 篇原創文章 · 獲贊 8 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章