資料結構學習 線性表

2021-08-03 14:44:41 字數 1069 閱讀 7177

這一系列部落格的目的在於複習鞏固資料結構的基礎知識,為考研面試筆試做準備,所以重在原理,**實踐不是重點。

參考書籍有嚴蔚敏老師的《資料結構(c語言版)》,《c/c++資料結構與演算法速學速用大辭典》

線性表迴圈鍊錶

雙向鍊錶

//將s結點插入p結點之前

s = (dlistnode*)malloc(sizeof(dlistnode));

if(!s)

return-1;

s->

data

= e;

s->prior = p->prior;

p->prior->next = s;

s->next = p;

p->prior = s;

//刪除p結點

p->prior->next = p->next;

p->next->prior = p->prior;

free(p);

出局0人 序號

出局0人 數列

出局1人 序號

出局1人 數列00

(n-1)-m+101

1(n-1)-m+21…

………m-1

m-1mm0

mm+1

m+11

m+1………

…xxx-mx…

………n-2

n-2(n-2)-m

n-2n-1

n-1(n-1)-m

n-1

假設第x個數是n個數的解,第x-m個數(n-1)時

f(n) = ( f(n-1) + m ) % n;//考慮到迴圈,取模

int f[n];//f[i]表示剩餘i個人的情況

f[1] = 0;//只剩乙個數,這個數序號為0,也就是遊戲順利的那個數

for(i=2; i<=n; i++)

f[i] = ( f[i-1] + m ) % i;//剩餘i個數的情況是對i取餘

cout<<"winner:"

<

資料結構學習 線性表

線性表一般分為順序結構和鏈式結構。順序表裡面元素的位址是連續的,如陣列 鍊錶裡面節點的位址不是連續的,是通過指標連起來的,如單鏈表 順序結構 優點 易於查詢,索引快 list n 這樣的操作,o 1 複雜度。缺點 擴充套件性弱,不易刪除 插入,這兩項操作均是o n 的時間複雜度 鍊錶結構 優點 擴充...

資料結構學習 線性表

考試前複習下資料結構,把一些知識點整理在這!主要參考了殷人昆主編的 資料結構 用物件導向方法與c 語言描述 這本書,以及中山大學劉聰老師的課件內容!鍊錶雙鏈表 線性表 linear list 是由n n 0 個資料元素 結點 a 0 a 1 a 2 a n 1 組成的有限序列。維基百科 線性表是乙個...

資料結構學習 線性表

鏈式儲存用指標表示邏輯結構,可以很方便的表示各種邏輯結構。順序儲存結構中,插入和刪除結點需要大量的移動元素,效率很低。順序儲存結構既可以順序訪問也可以隨機訪問,而鏈式結構只可以順序訪問。對n個元素進行排序的時間複雜最快也要o n 初始有序 通常是o nlog2n 或o n 2 單鏈表只能順序查詢插入...