基礎知識:
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...