数据结构java朱战立pdf_数据结构使用C语言 朱战立,刘天时编著.pdf
第 章 緒 論
計算機是對各種各樣數據進行處理的機器 。在計算機 中如何組織數據 ,如何處理數據 ,從
而如何更好地利用數據是計算機科學的基本研究 內容 。掌握數據在計算機 中的各種組織和處
理方法是繼續深入學習的基礎 。
數據結構 的基本概念
數據 結構( )研究的是計算機所處理的數據元素間的結構關系及其操作實
現 的算法 。
早期的計算機都用于進行數值計算 ,數值計算 的特 點是數據元素間的關系簡單 ,但計算復
雜。隨著計算機應用范圍的擴展, 目前計算機更多地被用于非數值處理,如管理、控制等領域,
非數值處理 問題 的特 點是數據元素間的關系復雜 ,而計算較簡單 。
數據元素間的結構關系 (或稱邏輯結構 )有幾種基本形式 。最簡單 的是線性結構,這時其
有關結構 的性質可 以歸納為下述一些 問題 :哪一個數據元素是線性表 中的第一個數據元素 ?
哪一個數據元素是線性表 中的最后一個數據元素 ?某一個數據元素 的前驅和后繼各是哪一個
數據元素等等 。更為復雜 的結構關系有樹形結構 表示著等級和分枝 的關系 ,還有 圖形結
構 表示著更復雜 的客觀事物之間的關系 。
為 了有效地在計算機上解決具有各種 結構關系 的實 際問題 ,我們還必須研 究這種具有結
構關系的數據在計算機 內部的存儲方法 (或稱存儲結構 )以及在計算機 中處理這樣 的具有結構
關系數據所需進行的操作和操作 的實現方法 。
我們先來看一個最簡單 的線性表關系的例子 。
例 建立一個住院病人押金情況表 。住院病人押金情況表包括:姓名、性別、年齡 、住
院押金。要求:每當病人住院時,插入一條記錄;每當病人出院時,刪去該病人的記錄。
分析 每個病人 的數據為一條記錄 ,每個記錄包括姓名、性別、年齡 、住院押金 四個數據
項 。所有病人 的記錄構成一個線性表 。這構成 了該 問題 的邏輯數據結構 。
線性表上要求有插入 、刪 除一條記錄 的操作 。插入操作和刪 除操作構成 了該線性表 的操
作集 合 。
線性表可 以選用不 同的存儲結構 。具體到這個線性表可 以有兩種存儲結構 :
)順序存儲結構 :即把所有記錄依次存儲在一個數組 中。如
數組下標 姓名 性別 年齡 住院押金
張 三
李 四
)單鏈存儲結構 :即把每個記錄看作一個結點,讓所有結點依次鏈接 。如
顯然 ,存儲結構不同則實現操作的算法就不同。
由此可見,一個具體 問題的軟件設計通常包括三個步驟: 分析和確定該 問題 的邏輯數
據 結 構 ; 設計該問題的具體存儲結構; 設計該 問題在具體存儲結構下的操作實現算法 。
下邊我們較為準確地定義我們所 引進 的幾個基本術語 :
數據 在計算機 中這個術語含義非常廣泛 ,可 以認為它是描述客觀事物的數字、字符 以及
所有能輸入到計算機 中并能為計算機所接受的符號集 。
數據元素 數據的基本單位 ,是計算機進行輸入輸出操作的最小單位 。大多數情況下,一
個數據元素 由若干個數據項組成 。數據項是數據不可分割的最小單位 。
數據結構 是指計算機處理 的數據元素 的組織形式和相互間關系 。從數據元素之 間的不
同特性分 ,數據結構有三種基本類型:線性結構、樹形結構和圖形結構 。從不同的抽象層次看,
數據結構可分為邏輯數據結構和物理數據結構 (或稱存儲結構 )。存儲結構主要有兩種基本類
型:順序存儲結構和鏈式存儲結構。
操作 是指數據結構上需要或能夠進行的處理 。對一個具體 問題來說 ,存儲結構不 同則
操作的具體實現算法就不同;相 同的存儲下也可有許多種不同的操作實現算法 。
我們研究數據結構 ,需要研究如下問題 :一個具體 問題的邏輯數據結構是什么 ?適宜選用
什么樣 的存儲結構 ?采用什么樣 的操作實現算法效率更高 ?由此我們可 以說 ,數據結構是一
研究非數值處理 問題 的軟件設計 中計算機 的操作對象 以及它們之 間的關系和操作實現等 的
學科 。換句
總結
以上是生活随笔為你收集整理的数据结构java朱战立pdf_数据结构使用C语言 朱战立,刘天时编著.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VIVO NEX3高层预热,差0.4到1
- 下一篇: Eventide发布SplitEQ,工作