一 線性結構

2021-06-28 01:00:19 字數 821 閱讀 6558

基礎知識:

1.陣列;

2.帶頭結點的雙向鍊錶:

---head

---first

3.迴圈佇列

例一:最小值問題

問題描述:

實現乙個n個元素的線性表,每次可以修改其中乙個元素,也可以詢問閉區間[q,p]中元素的最小值。

(1<=n,m<=100000)

分析:設塊長l,則一共有n/l塊;

維護陣列b,儲存每個塊的最小值。

(每次修改元素的時候,重算x所在塊的最小值,即更新b。)

例二:最接近的值:

問題描述:

給乙個n個元素的線性表a,對於每個數ai,找到它之前的數中,和它最接近的數。

分析:法一:當每個數字表示的值較小的時候,可以使用陣列來進儲存:f[i]=1;之後向前向後尋找第乙個值為1的數字即可;

法二:   先排序;

根據從小到大的順序構造雙向鍊錶,從後往前依次計算c6,c5...等,每計算乙個,將這個數字從當前鍊錶中刪除。

例三:移動視窗:

問題描述:

有乙個長度為n的陣列,還有乙個k<=n的視窗,視窗一開始在最左邊的位置,能看到1-k的元素,每次向右移動乙個元素,

直到視窗的右邊界達到陣列的元素n。

分析:分開考慮:

最小值:

當視窗內部為 2 3 5 4 的時候,則仍然儲存5是不明智的,因為5會始終被4壓制,只要4出現,則5就沒必要繼續存在。

那麼,我們可以將5從表中刪除!

啟發:算最小值的有用元素即可,進而會形成乙個遞增序列,最小值就是對首元素。

關鍵:視窗右移操作,使用鍊錶儲存視窗內的有用元素。

(一)線性模型

基本形式 給定由d個屬性描述的特徵 x 其中x 是在第i個屬性位置上的取值,這樣就形成了乙個線性函式,定義如下 令 x 1 1寫成向量形式如下 我們的目標就是去求這些引數,如何確定引數,關鍵在於如何去衡量 h x 和y之間的差別。均方誤差是回歸任務中最常用的效能度量,因此我們可以試圖讓均方誤差最小化...

資料結構 一 線性表

一 線性表的定義 線性結構的特點是 在資料元素的非空有限集中,1 存在唯一的乙個被成為 第乙個 的資料元素 2 存在唯一的乙個被成為 最後乙個 的資料元素 3 除了第乙個之外,其他的元素均只有乙個前驅,除了最後乙個以外,其他的元素均只有乙個後繼 線性表是最常用且最簡單的一種資料結構,乙個線性表是n個...

20162302 實驗一《線性結構》實驗報告

1.測試arraylist和linkedlist 2.實現有序線性表的合併 3.用陣列實現線性表list 4.用鍊錶實現線性表list 5.原始碼分析 首先要在幫助文件裡面找到這兩個類的用法 分別是arraylist類的add remove isempty 以及linkedlist類的add rem...