Java基礎 - 線性表基本概念__Java

來源:互聯網
上載者:User

從資料的邏輯結構來分,資料元素之間存在的關聯關係被稱為資料的邏輯結構。歸納起來,應用程式中的資料大致有如下四種基本的邏輯結構:

1、集合:資料元素之間“同屬於一個集合”的關係

2、線性結構:資料元素之間存在一個對一個的關係。

3、樹形結構:資料元素之間存在一個對多個的關係。

4、圖狀或網狀結構:資料元素之間存在多個對多個的關係。


對於常用的資料結構,可以將其簡單地分為線性結構和非線性結構。其中線性結構主要是線性表,非線性結構則主要是樹和圖。本次討論線性表。


線性表(Linear List)是由 n(n >= 0)個資料元素(節點)a1a2a3a4……an組成的有序序列。

線性表中的每個元素必須具有相同的結構(即擁有相同的資料項目)。線性表是線性結構中最簡單也是最常用的一種資料結構。很多人容易把線性表的資料元素理解成簡單的資料項目,其實不然。如下圖所示就是一個線性表。

員工編號 姓名 年齡 學曆
0001 孫悟空 500 專科
0002 豬八戒 400 本科
0003 沙和尚 300 本科
0004 唐三藏 40 碩士
…… …… …… ……

對於上表的資料而言,它本質上依然是線性表,只是他的每個資料元素都是一個“符合”的對象,每個資料元素包括四個資料項目(也被稱為Field):員工編號,姓名,年齡,學曆。


關於線性表還可以有如下定義:

1、線性表中包含的資料元素個數 n  被稱為表的長度,當線性表的長度為 0 時該表也被稱為空白表。

2、當 n > 0 時,表可以表示為:(a1,a2,a3,a4,a5,……an)


對於一個非空的、有限的線性表而言,它總具有如下基本特徵

(1)、總存在唯一的“第一個”資料元素。

(2)、總存在唯一的“最後一個”資料元素。

(3)、除第一個資料元素外,集合中的每一個資料元素都只有一個前驅的資料元素。

(4)、除最後一個資料元素外,集合中的每一個資料元素都只有一個後繼的資料元素。

(關於前驅和後繼的概念可以去查查有關有向圖中拓撲排序的書籍)。


如果要實現一個線性表,程式首先需要確定該線性表的每個資料元素。接下來,應該為該線性表實現如下操作:
(1)、初始化:通常是一個構造器,用於建立一個空的線性表。

(2)、返回線性表的長度:該方法用於返回線性表中資料元素的個數。

(3)、擷取指定索引處的元素:根據索引返回線性表中的資料元素。

(4)、按值尋找資料元素的位置:如果線性表中存在一個或多個與尋找值相等的資料元素,那麼該方法返回第一個搜尋到的值相等的資料元素的索引,如果沒有則返回 -1。

(5)、直接插入資料元素:向線性表的頭部插入一個資料元素,線性表的長度 +1、

(6)、向指定位置插入元素:向線性表的指定索引處插入一個資料元素,線性表的長度 +1、

(7)、直接刪除資料元素:刪除線性表頭部的資料元素,線性表的長度 -1.

(8)、刪除線性表中指定索引處的資料元素:刪除線性表中指定索引處的資料元素,線性表的長度-1.

(9)、判斷線性表是否為空白:該方法判斷線性表是否為空白,如果線性表為空白,則返回 true,如果不為空白,則返回 false。

(10)、清空線性表:將線性表清空。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.