複習 軟體設計師之資料結構與演算法基礎

2022-08-27 08:33:10 字數 955 閱讀 1531

1.常用資料結構:

陣列(靜態陣列,動態陣列)

線性表鍊錶(單向鍊錶,雙向鍊錶,迴圈鍊錶)

佇列棧樹(二叉樹,查詢樹,平衡樹,線索樹,堆)

圖hash(儲存位址計算,衝突處理)

2.常用演算法

i:排序演算法,查詢演算法,數值計算法,字串處理方法,資料壓縮演算法,遞迴演算法,圖的相演算法

ii:演算法與資料結構的關係,演算法效率,演算法設計,演算法描述(流程圖,偽化碼,次策表),演算法的複雜性

基本資料結構圖1.0

3.線性表

單鏈表:每乙個鍊錶都有兩個域:資料域和指標域。

迴圈鍊錶:域單鏈表相似,但是在單鏈表中,最後乙個指標域為null,而迴圈鍊錶的指標域指向鍊錶頭部(head)。

雙鏈表:不止乙個指標,有兩個指標域,在兩頭都存在,從而將鍊錶連線。它為單鏈表不同在於可以從雙向延展。

一.單鏈表的操作:

1.單鏈表的借點刪除,鍊錶中的結點的前驅結點的指標域跳過,從而指向它的後繼結點,完成刪除操作。

2.單鏈表的插入:把新的結點從插入的位置的前驅結點指向該結點,然後由插入的結點指向該位置的後繼結點。

注意:插入位置的後繼節點可以用p——>next,插入過程應當先將插入的結點指向該位置後繼的結點,然後前驅結點指向改插入的結點。

二.雙鏈表的操作

1.雙鏈表的結點刪除

2.雙鏈表的結點的插入

5.順序表與鍊錶的比較:

例題:若迴圈佇列以陣列q(0,....,m-1)作為其儲存結構,變數rear表示迴圈佇列中隊尾元素的實際位置,其移動按rear=(rear+1) mod m 進行,變數length表示當前迴圈佇列中的元素個數,則迴圈佇列的隊首元素的實際位置是 c

a.rear-length  b.(rear-length+m) mod m

c.(1+rear-length) mod md.m-length

軟體設計師資料結構之線性結構複習小結

1.1 線性表的定義 乙個線性表是n n 0 個元素的有限序列,通常表示為 a1,a2,a3 an 非空線性表的特點如下 1 存在唯一的表頭和表尾 2 除第乙個元素外,序列中的每個元素均只有乙個直接前驅。3 除最後乙個元素外,序列中的每個元素均只有乙個直接後驅。1.2 線性表的儲存結構 線性表的儲存...

軟體設計師 資料結構

資料結構是指資料元素的集合及元素間的相互關係和構造方法。元素之間相互關係是資料的邏輯結構,資料元素及元素之間關係的儲存稱為儲存結構。資料結構是演算法設計的基礎,設計合理的資料結構可使演算法簡單高效。資料結構按邏輯關係分為線性結構和非線性結構。非線性結構又可分為樹結構和圖結構。一 線性結構 線性結構的...

軟體設計師複習(一)

1 常用的虛擬儲存器由 主存 輔存 兩級儲存器組成。2 中斷向量可提供 中斷服務程式的入口位址 3 為了便於實現多級中斷巢狀,使用 堆疊 來保護斷點和現場最有效。4 dma工作方式下,在 主存與外設 之間建立了直接的資料通路。5 利用報文摘要演算法生成報文主要的目的是 防止傳送的報文被篡改 6 防火...