数据结构介绍
1. 什么是數據結構
算法+數據結構=程序設計
數據結構是由數據和結構兩方面組成,下面舉一個例子可以讓大家很快地理解數據結構:
比如我們實驗樓的課程管理系統,每一門課程由課程號、課程名、類別、作者等組成,每門課的課程號是唯一的,但不同的課程可能屬于同一個類別,或者是同一個作者寫的,由此我們可以建立一張按課程號順序排列的課程表和兩張按類別和作者名順序排列的索引表,如下圖所示,這樣我們就可以按課程號或課程名或類別或作者名快速地找到我們想要學的那門課程。
在這個例子中,數據就是課程、類別和作者,結構就是課程與類別和作者的關系,它體現了一種最簡單的線性關系,除了線性結構外,還有集合結構和更為復雜的樹形結構和圖結構,簡單來說,數據結構是一門研究非數值計算的程序設計問題中計算機的操作對象以及它們之間的關系和操作等的學科,,學好數據結構可以使計算機更高效地工作。
2. 數據的邏輯結構和物理結構
數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成。
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。
一、數據的邏輯結構:指反映數據元素之間的邏輯關系的數據結構,其中的邏輯關系是指數據元素之間的前后件關系,而與他們在計算機中的存儲位置無關。邏輯結構包括:
1.集合二、數據的物理結構:指數據的邏輯結構在計算機存儲空間的存放形式。
數據的物理結構是數據結構在計算機中的表示(又稱映像),它包括數據元素的機內表示和關系的機內表示。由于具體實現的方法有順序、鏈接、索引、散列等多種,所以,一種數據結構可表示成一種或多種存儲結構。
數據元素的機內表示(映像方法): 用二進制位(bit)的位串表示數據元素。通常稱這種位串為節點(node)。當數據元素有若干個數據項組成時,位串中與個數據項對應的子位串稱為數據域(data field)。因此,節點是數據元素的機內表示(或機內映像)。
關系的機內表示(映像方法):數據元素之間的關系的機內表示可以分為順序映像和非順序映像,常用兩種存儲結構:順序存儲結構和鏈式存儲結構。順序映像借助元素在存儲器中的相對位置來表示數據元素之間的邏輯關系。非順序映像借助指示元素存儲位置的指針(pointer)來表示數據元素之間的邏輯關系。
3. 常用結構
數組(1)有且僅有一個結點 K0,他對于關系N來說沒有前驅,稱K0為樹的根結點。簡稱為根(root)。 (2)除K0外,K中的每個結點,對于關系N來說有且僅有一個前驅。
(3)K中各結點,對關系N來說可以有m個后繼(m>=0)。
總結
- 上一篇: IDEA编译时出现 Informatio
- 下一篇: 【问题记录】eclipse启动web项目