官术网_书友最值得收藏!

1.2 數據結構的基本概念

視頻二維碼(掃碼觀看)

數據結構作為計算機的一門學科,主要研究和討論以下三個方面的問題:

(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構;

(2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;

(3)對各種數據結構進行的運算。

討論以上問題的目的:

(1)提高數據處理的速度;

(2)盡量節省在數據處理過程中所占用的計算機存儲空間。

一、什么是數據結構

【定義】數據結構是指相互有關聯的數據元素的集合。

數據元素具有廣泛的含義:

描述一年四季的季節名:春、夏、秋、冬

表示數值的各個數:18、11、35、23、16…

表示家庭成員的各成員名:父親、兒子、女兒

數據處理:對數據集合中的各元素以各種方式進行運算,包括插入、刪除、查找、更改等運算,也包括對數據元素進行分析。

【注意】作為某種處理,其中的數據元素一般具有某種共同特征,一般情況下,在具有相同特征的數據元素集合中,各個數據元素之間存在有某種關系,這種關系反映了該集合中的數據元素所固有的一種結構。

1數據的邏輯結構

(1)定義

反映數據元素之間邏輯關系的數據結構。一個數據結構應包含以下兩方面的信息:

表示數據元素的信息;

表示各數據元素之間的前后件關系。

(2)數據的邏輯結構有兩個要素:

一是數據元素的集合,通常記為D;

二是D上的關系,它反映了D中各數據元素之間的前后件關系,通常記為R;

即一個數據結構可以表示成B=(D,R)。

【例4】一年四季的數據結構可以表示成

B=(D,R)

D={春,夏,秋,冬}

R={(春,夏),(夏,秋),(秋,冬)}

2數據的存儲結構

定義:數據的邏輯結構在計算機存儲空間中的存放形式。

【注意】

各數據元素在計算機存儲空間中的位置關系與它們的邏輯關系不一定是相同的,而且一般也不可能相同。

在數據的存儲結構中,不僅要存放各數據元素的信息,還需要存放各數據元素之間的前后件關系的信息。

常用的存儲結構有順序、鏈接、索引等存儲結構。

采用不同的存儲結構,其數據處理的效率是不同的。

二、數據結構的圖形表示

一個數據結構除了用二元關系表示外,還可以直觀地用圖形表示。

(1)對于數據集合D中的每一個數據元素用中間標有元素值的方框表示,一般稱之為數據結點,并簡稱為結點;

(2)對于關系R中的每一個二元組,用一條有向線段從前件結點指向后件結點,有時箭頭可省去。

圖1-1 一年四季數據結構的圖形表示圖(線性)

圖1-2 家庭成員間關系數據結構的圖形表示(樹型結構)

【考題】下列敘述中正確的是(  )。

A.線性表是線性結構

B.棧與隊列是非線性結構

C.循環鏈表是非線性結構

D.二叉樹是線性結構

【答案】A

【解析】選項A正確;選項B,棧和隊列都是線性結構,二者區別是,棧只允許在一端插入和刪除,隊列只允許在一端插入,在另一端刪除;選項C,循環鏈表是線性表的鏈式存儲結構;選項D,二叉樹是一種典型的非線性結構。

三、線性結構與非線性結構

根據數據結構中各數據元素之間前后件關系的復雜程度,一般將數據結構分為兩大類型:線性結構與非線性結構。

如果一個非空的數據結構滿足下列兩個條件:

(1)有且只有一個根結點;

(2)每一個結點最多有一個前件,也最多有一個后件。

則稱該數據結構為線性結構,線性結構又稱線性表。

【注意】在一個線性結構中插入或刪除任何一個結點后還應是線性結構。如果一個數據結構不是線性結構,則稱之為非線性結構。

【考題】設數據集合為D={1,3,5,7,9},D上的關系為R。下列數據結構B=(D,R)中為非線性結構的是(  )。

A.R={(5,1),(7,9),(1,7),(9,3)}

B.R={(9,7),(1,3),(7,1),(3,5)}

C.R={(1,9),(9,7),(7,5),(5,3)}

D.R={(1,3),(3,5),(5,9)}

【答案】D

【解析】如果一個非空的數據結構滿足下列兩個條件:有且只有一個根結點;每一個結點最多有一個前件,也最多有一個后件。則該數據結構為線性結構。

選項A:5是根結點,5的后件是1,1的后件是7,7的后件是9,9的后件是3,故選項A是線性結構;

選項B:9是根結點,9的后件是7,7的后件是1,1的后件是3,3的后件是5,故選項B是線性結構;

選項C:1是根結點,1的后件是9,9的后件是7,7的后件是5,5的后件是3,故選項C是線性結構;

選項D:1是根結點,1的后件是3,3的后件是5,5的后件是9,7也是根結點,沒有前件也沒有后件,線性數據結構第一個條件不滿足,故選項D是非線性結構,即選項D正確。

推薦閱讀
  1. 2019年11月全國計算機技術與軟件專業技術資格(水平)考試《系統集成項目管理工程師(中級)》復習全書【核心講義+歷年真題詳解】
  2. 全國職稱計算機考試標準教材與專用題庫:Excel 2007中文電子表格
  3. 2020年3月全國計算機等級考試《四級軟件工程》復習全書【核心講義+歷年真題詳解】
  4. 2014年全國計算機等級考試3年真題精解與過關全真訓練題:二級公共基礎知識
  5. 全國計算機等級考試全真模擬考場:二級C語言
  6. 2014年全國計算機等級考試3年真題精解與過關全真訓練題:二級C語言程序設計
  7. 全國計算機等級考試《二級C語言程序設計》專用教材【考綱分析+考點精講+真題演練+強化習題】
  8. 2014年全國計算機等級考試3年真題精解與過關全真訓練題:二級Java語言程序設計
  9. 5天通過職稱計算機考試(考點視頻串講+全真模擬):中文Windows XP操作系統(第2版) (全國專業技術人員計算機應用能力考試指導叢書)
  10. 2023年全國計算機等級考試上機考試題庫二級C語言
  11. 全國會計從業資格考試應試指南·真題·預測三合一:財經法規與會計職業道德
  12. 信息系統項目管理師歷年真題解析(第4版)
  13. 全國職稱計算機考試講義·真題·預測三合一:PowerPoint 2003中文演示文稿
  14. 2020年3月全國計算機等級考試《三級嵌入式系統開發技術》專用教材【考綱分析+考點精講+真題演練】
  15. 全國職稱計算機考試講義·?真題?·預測三合一:PowerPoint 2003中文演示文稿
主站蜘蛛池模板: 井冈山市| 淮南市| 刚察县| 麦盖提县| 丹棱县| 长丰县| 和平区| 万山特区| 连城县| 贡嘎县| 宝鸡市| 通道| 克东县| 广东省| 馆陶县| 太谷县| 诏安县| 岳阳市| 承德市| 永安市| 西充县| 呼图壁县| 沙坪坝区| 柳州市| 凤阳县| 安岳县| 永新县| 繁峙县| 汕头市| 伊春市| 乡宁县| 井冈山市| 黄骅市| 团风县| 林西县| 花垣县| 恩平市| 屏东市| 喀什市| 上饶市| 阿图什市|