資料結構基礎訓練

2021-10-25 19:42:28 字數 2155 閱讀 5644

資料結構基礎訓練

二、二維陣列

三、字串

心得體會

利用陣列和字串進行簡單的資料結構練習,以leetcode程式題為物件,以c#作為開發語言,從而總結兩者的異同。

(1)題目分析

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

(2)設計思想

若目標在陣列中,直接返回下標,若不在,則先將其插入,從小到大排序後返回該元素的下標。

(3)核心**

public

static

intsearchinsert

(int

nums,

int target)

}

nums1[nums.length]

= target;

for(

int i =

0; i < nums1.length; i++)}

temp = nums1[y]

; nums1[y]

= nums1[i]

; nums1[i]

= temp;

}for

(int i =

0; i < nums1.length; i++)}

return x;

}

(4)效能分析

(1)題目分析

若m × n矩陣中某個元素為0,則將其所在的行與列清零。

(2)設計思想

先確定矩陣中元素為0的位置,再遍歷進行置零。

(3)核心**

public

static

void

setzeros

(int

matrix)}}

for(

int i =

0; i < n; i++)}

}}

(4)效能分析

(1)題目分析

翻轉後的字串首尾不含空格,每個單詞之間只允許乙個空格,單詞內的字元順序不變。

(2)設計思想

對原字串進行預處理,保證首尾無空格,單詞間只有乙個空格;儲存處理後的字串,再以單詞為整體倒序輸出。

(3)核心**

public

class

solution

public

static

string

reversewords

(string s)}}

if(s[^1

]!=' ')

x = x.

trim()

; y = x.

split()

;for

(int j =

0; j < y.length; j++)}

return m;

}

(4)效能分析

1.陣列可以修改,字串不能修改。進行刪除,也只能刪除整個字串。

2.二維陣列的陣列元素為陣列,訪問和普通陣列類似。陣列,字串均可以用索引進行訪問,都有.length屬性,操作符也有很多相同的。

3.陣列可以動態分配記憶體空間,二維陣列可以進行矩陣操作。

4.在效能分析上,程式占用記憶體比較少,若減少迴圈的次數,可以極大程度優化時間複雜度。對於程式細節,可以通過多次測試修改確定。

資料結構基礎訓練

1.陣列簡介 2.二維陣列簡介 3.字串簡介 1尋找陣列的中心索引 2旋轉矩陣 3最長公共字首 1.尋找陣列的中心索引 給你乙個整數陣列 nums,請編寫乙個能夠返回陣列 中心下標 的方法。陣列 中心下標 是陣列的乙個下標,其左側所有元素相加的和等於右側所有元素相加的和。如果陣列不存在中心下標,返回...

資料結構基礎訓練

字串相關題目練習 總結集合 由乙個或多個確定的元素所構成的整體。集合的特性 1.集合裡的元素型別不一定相同。2.集合裡的元素沒有順序。列表 列表是一種資料項構成的有限序列,即按照一定的線性順序,排列而成的資料項的集合,在這種資料結構上進行的基本操作包括對元素的的查詢,插入,和刪除。列表的特性 它具有...

資料結構基礎訓練 陣列與字串

kmp雙指標 1,理解陣列的 基本概念 及其 操作方式 2,理解 二維陣列 的基本概念,熟悉二維陣列的使用 3,了解 字串 的概念以及字串所具有的不同特性 4,理解字串匹配中的 kmp 演算法 5,能夠運用 雙指標 解決實際問題。集合是爺爺,列表是爸爸,字串是兒子 陣列的查詢 按位置查詢 時間複雜度...