資料結構考研學習(1)順序表

2021-08-21 20:32:39 字數 743 閱讀 2706

1)插入操作:

在i的位置上插入乙個新的元素x,演算法實現如下:

void insert(seqlist l,int i, elemtype x)

if(i<1 || i>l.length+1)

for(j=l.length; j>=i; j--)

l.data[j] = l.data[j-1];

l.data[i-1] = x;

l.length++;

}

最好情況:表尾插入,時間複雜度為o(1)

最差情況:表頭插入,時間複雜度為o(n)

平均情況:第i個位置插入乙個元素後移執行的次數為n-i+1,e(n) = n/2=o(n)

2)刪除演算法:

elemtype delete(seqlist l, int i)

if(i最好情況:刪除表尾元素,時間複雜度為o(1);

最壞情況:刪除表頭元素,時間複雜度為o(n);

平局情況:刪除第i個元素,時間複雜度為(n-1)/2= o(n);

3)查詢演算法:

a)按位查詢:

elemtype get(seqlist l, int i)

else return l.data[i-1];

}

b)按值查詢:

int locate(seqlist l, elemtype x)

考研資料結構之順序表 待續

順序表專題 include include define maxsize 100 結構體定義 typedef structsqlist function 將元素e插入在順序表中的第i個位置上 param sqllist 待插入的順序表 e 待插入元素 i 插入位置 return 返回成功的標記 in...

資料結構 1 順序表

資料結構的基礎知識 1968年美國克努特教授開創了資料結構的最初體系 資料結構是指資料的邏輯結構和儲存結構及其操作 資料結構是一門綜合性的專業客場,是一門介於數學 計算機硬體 計算機軟體之間的一門核心課程。是設計和實現編譯系統 作業系統 資料庫系統及其他系統程式和大型應用程式的基礎 資料的邏輯結構 ...

資料結構 1 順序表

目錄 順序表1.順序表的概念及結構 2.特點 3.動態順序表的實現 3.1 順序表初始化 3.2 順序表銷毀 3.3 順序表列印 3.4 檢查空間,如果滿了,進行增容 3.5 順序表尾插 3.6 順序表尾刪 3.7 順序表頭插 3.8 順序表頭刪 3.9 順序表查詢 3.10 順序表在pos位置插入...