2020考研資料結構 408演算法2023年真題

2021-09-13 19:11:57 字數 739 閱讀 3402

1.第一步,現將首元素設為標記位flag,次數出現最多的元素設為maxelem,初始flag=陣列首元素,flag將標記位乙個乙個的與陣列每個元素比較,若相等,count++,

第二步,將陣列的第二個元素設為標記位,依次迴圈標記

第三部,若第二次的比第一次的count大,將最大的次數count設為最多位數,在迴圈時就比較,同時將maxelem等於迴圈時的元素

第四部,函式返回最多出現的次數,如果次數大於陣列長度一半時,函式返回最多元素maxelem,否則返回-1

#include#define maxsize 100

typedef struct sqlistsqlist;

int find(sqlist &l)

}if(min>(l.length/2))

return zuiduo;

else

return -1;

}int initsqlist(sqlist &l){

int n;

printf("順序表要輸入的個數:");

scanf("%d",&n);

printf("\n");

l.length=n;

for(int i=0;i3.時間複雜度:o(n^2)

空間複雜度,o(n)

資料結構考研 KMP演算法

廢話少說,時間緊任務重,直接來。參考阮一峰的日誌 字串匹配的kmp演算法 只要求出部分匹配值 字首,字尾共有的最長的那個 也就是它到底移動幾位,也就解決了 移動位數 已匹配的字元數 對應的部分匹配值 部分匹配值 就是 字首 和 字尾 的最長的共有元素的長度。以 abcdabd 為例,a 的字首和字尾...

資料結構 考研 Floyd演算法

floyed 演算法與 dijkstra 演算法的思想完全一樣,遍歷整個鄰接矩陣,比較每一條邊可否加入迴圈中的兩邊之間來短接。floyed 演算法基於動態規劃演算法,可以允許有負權值,但不可以有帶負權值的邊存在。首先,初始化乙個鄰接矩陣,初始化乙個 dp 矩陣,初始化乙個頂點的前趨矩陣prev。de...

考研 資料結構 查詢演算法

查詢演算法 1.順序查詢 typedef struct sstable intsearch seq sstable s,int k return 1 增加哨兵 intsearch seq 02 sstable s,int k 2.折半查詢 僅適用於有序的順序表 o log2 n 公升序排列 intb...