再訪資料結構

2021-10-03 09:28:16 字數 1356 閱讀 6346

資料結構是我當年難以逾越的一道溝…

多年以後,先從最簡單的線段樹下手吧

寫了乙個 洛谷線段樹的模板題 區間加 和 區間求和 很簡單,算是留念吧

//

// created by dell on 2020/3/1.

//#include

#include

#include

#include

#define maxn 100005

#define ll long long

using

namespace std;

struct seg_ment_treetre[maxn <<2]

;void

built

(int now,

int l ,

int r)

int mid = l + r >>1;

built

(now <<

1,l,mid)

;built

(now <<1|

1,mid +

1,r)

; tre[now]

.sum = tre[now <<1]

.sum + tre[now <<1|

1].sum;

}inline

void

pushdown

(int now)

void

modify

(int now,

int l,

int r,

int val)

if(tre[now]

.lazy )

pushdown

(now)

;int mid = tre[now]

.l + tre[now]

.r >>1;

if(l > mid)

modify

(now <<1|

1,l,r,val)

;else

if(r <= mid)

modify

(now <<

1,l,r,val)

;else

tre[now]

.sum = tre[now <<1]

.sum + tre[now <<1|

1].sum;

}ll query

(int now,

int l,

int r)

intmain

(int argc,

char

* ar**)

if(opt ==2)

}break;}

return0;

}

再論 無鎖資料結構(下)

上回說到實現了乙個無鎖的 wrrm 的指標保護演算法,但存在乙個問題是 寫執行緒在更新指標之後,更新游離物件引用計數之前,被強制殺死,會造成讀取執行緒的活鎖,這有悖乙個原則 好像叫什麼 寫無關原則 即使乙個執行緒崩潰也不該對其他執行緒造成太大影響 當然,所有執行緒全部被殺的話,啥演算法都玩完 下面的...

資料結構期末考試再複習

這次是幫別人複習複習資料結構。重新看這些問題,除了圖論的那些演算法,有些東西還真的是忘記了,不過看了下書還好想起來了。1 10個元素的有序表,等概率條件下折半查詢成功的平均查詢長度是29 10。畫出判定樹,其實就是二分轉二叉樹 數量 層數累加即可。2.設有序順序表中的元素依次為 017,094,15...

資料結構之線性表再思考

資料結構學起來妙不可言,賊有意思。很久沒寫部落格了,今天來一篇長的。前面寫的關於線性表的 和思路,經過我多次反覆思考,又有了新的收穫,與大家一起分享。1 線性表的定義 首先要明白什麼是線性表,一種常用且最簡單的資料結構。資料結構通俗來說就是 裝水的杯子,有的是圓的 有的是方的。官方定義 線性表是n個...