日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构知识点汇总

發布時間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构知识点汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、用鏈表表示線性表的優點是(便于插入和刪除操作)

2、單鏈表中,增加頭結點的目的是(方便運算的實現)

3、棧和隊列的共同特點是(只允許在端點處插入和刪除元素)

4、棧通常采用的兩種存儲結構是(線性存儲結構和鏈表存儲結構)

5、隊列具有(先進先出)的特征,棧具有(后進先出)的特征。

6、鏈表(插入和刪除不需要移動元素,但是無法隨機訪問任一元素)

7、循環鏈表的主要優點是(從表中任一結點出發都能訪問到整個鏈表)

8、線性表(除了第一個和最后一個元素外,其余每個元素都有一個直接前驅和直接后繼)

9、線性表的順序存儲結構和線性表的鏈式存儲結構分別是(隨機存取的存儲結構、順序存取的存儲結構)

10、深度為5的滿二叉樹中,葉子結點的個數為(16)。其共有(31)個結點。

? ? ? ?設一棵完全二叉樹共有699個結點。則該二叉樹的葉子結點數為(350)個。?

? ? ? ? ? ? ?#完全二叉樹總的結點數為N,若N為奇數,則葉子結點數為(N+1)/2;若N為偶數,則葉子結點數為N/2。

11、具有3個結點的二叉樹有(5)種形態。 #高度為2層的是:根-左-右。高度為3層的是:根-左-左、根-左-右、根-右-右、根-右-左。

12、一棵二叉樹中有3個葉子結點,有8個度為1的結點,則該二叉樹中總的結點數為(13)個。

? ? ? #葉子結點數n0與度為2的結點數n2的關系是:n0=n2+1,所以度為2的結點個數為3-1=2。所以總的結點數為 n=n0+n1+n2, 8+2+3=13.

13、已知二叉樹的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是(cedba)。#過程見文章:點擊打開鏈接

14、已知二叉樹的前序遍歷序列是abdgcefh,中序遍歷序列是dgbaechf,它的前序遍歷序列是(gdbehfca)。

15、算法是指(解決方案的準確而完整的描述)。

16、算法由(順序、選擇、循環)控制結構組合而成。

17、算法的時間復雜度是指(算法執行過程中所需要的基本運算次數)。

18、算法的空間復雜度是指(執行過程中所需要的存儲空間)。

19、算法分析的目的是(分析算法的效率以求改進)。

20、數據的存儲結構是指(數據的邏輯結構在計算機中的表示)。

21、數據的邏輯結構是指(反映數據元素之間邏輯關系的數據結構)。

22、根據數據結構中各元素之間前后件關系的復雜程度,可將數據結構分為(線性結構和非線性結構)。

線性結構一般是首無前驅,尾無后繼,中間元素有唯一的前驅和后繼。主要有:列表、鏈表、隊列、棧。

非線性結構主要有1、沒有對應關系的 集合。2、一對多關系的 樹。3、多對多關系的 圖。

23、(隊列,循環隊列,順序表)不具有記憶功能,(棧)具有記憶功能。

24、遞歸算法一般需要用(棧)來實現。

#在遞歸算法的運行過程中,需要利用棧來保存其運算結果、參數和返回地址等。

25、算法的五個基本特征是:可行性,確定性,和擁有足夠的情報

有限性:算法在執行有限步后必須終止。

確定性:算法的每個步驟都需要精確地定義,嚴格地、無歧義的運行。

輸入:算法在運行之前賦給它的量。

輸出:算法運行結束時的結果。

可行性:算法原則上能夠精準地運行,而且人們用紙和筆做有限次運算后即可完成。

26、由兩個棧共享一個存儲空間的好處是(節省存儲空間,降低上溢發生的概率)。

為了不發生上溢錯誤,就必須給每個棧分配一個足夠大的存儲空間。但實際中,很難準確地估計,若每個棧都分配過大的存儲空間,勢必造成系統空間緊張;若讓多個棧共用一個足夠大的連續存儲空間,則可利用棧的動態特性使它們的存儲空間互補

27、需要打印機輸出數據時,一般將打印作業放在一個(隊列)中。

28、非空的循環單鏈表head的尾結點(由?p?所指向) ,滿足(p->next=head?)。

29、與單鏈表相比,雙向鏈表的優點是(更容易訪問相鄰結點)。

30、

31、N個頂點的連通圖中邊的條數至少為(N-1)條。#將所有頂點連成一條線即可

32、N個頂點的強連通圖中邊的條數至少為(N)條。#將所有頂點連成一條圈

33、對長度為n的線性表進行順序查找,最壞情況下需要比較(N)次。

34、最簡單的交換排序是(冒泡排序)。

35、對長度為n的線性表進行順序冒泡排序,最壞情況下需要比較(n(n-1)/2)次。

? ? ? ? #一共比較n-1遍,第1遍需要比較n-1次,第1遍需要比較n-2次,........最后一遍需要比較1次。是一個等差序列,對其進行求和即可。

36、在序列基本有序的情況下,效率最高的方法是(A) #如果將插入排序換為冒泡排序,則選冒泡排序

? ? ? ? ?A.插入排序 ??B.選擇排序 ??C.快速排序 ??D.堆排序

? ? ? ??插入排序通過數據元素的交換來逐步消除線性表中的逆序,所以比較的次數與初始排列次序有關,在待排序的元素序列基本有序的前提下,效率最高。而選擇排序和堆排序的比較次數與初始排列次序無關。快速排序雖然與初始排列次序有關,但在待排序的元素序列基本有序的前提下,效率低于插入排序。

37、希爾排序屬于(插入類排序),堆排序屬于(選擇類排序)。

38、在下列幾種排序方法中,要求內存量最大的是(D).
?

? ? ? ? A.插入排序 ?B.選擇排序 ?C.快速排序 ?D.歸并排序

? ? ? ??快速排序的基本思想是,通過一趟排序將待排序記錄分割成獨的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,再分別對這兩部分記錄繼續進行排序,以達到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依次插入到已經有序的線性表中,從而得到一個新的序列;選擇排序的基本思想是:掃描整個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應有的位置),然后對剩下的子表采用同樣的方法,直到表空為止;歸并排序是將兩個或兩個以上的有序表組成合成一個新的序列表。

39、已知數據表 A中每個元素距其最終位置不遠,為節省時間, 應采用(直接插入排序)。

40、數據結構是指相互有關聯的( 數據元素 )的集合。

41、數據元素之間的任何關系都可以用 (前驅和后繼) 關系來描述。

42、順序存儲方法是把邏輯上相鄰的結點存儲在 (物理位置) 相鄰的存儲單元中。

43、棧的基本運算有三種:入棧、退棧與讀棧頂元素。

44、隊列主要有兩種基本運算:入隊和退隊。

45、在實際應用中,帶鏈的棧可以用來收集計算機存儲空間中所有空閑的存儲結點,這種帶鏈的棧稱為 (可利用棧) .

46、棧和隊列通常采用的存儲結構分別是 鏈式存儲和順序存儲。

47、當循環隊列非空且隊尾指針等于對頭指針時, 說明循環隊列已滿,不能進行入隊運算。這種情況稱為 (上溢)?

48、當循環隊列為空時, 不能進行退隊運算, 這種情況稱為 (下溢)。

49、在一個容量為 25 的循環隊列中, 若頭指針 front=16 , 尾指針 rear=9 , 則該循環隊列中共有 18 個元素。 ? ? ? ?注: 當 rear<front 時, 元素個數=總容量-( front -rear );?當 rear>front 時,元素個數= rear -front 。

50、判斷一個鏈表是否存在環:點擊打開鏈接

? ? ? ??單鏈表中元素的反轉:點擊打開鏈接

? ? ? ? 判斷兩個數組中是否有相同的數字:點擊打開鏈接

? ? ? ? 從一個子序列中找出其最大子序列的和:點擊打開鏈接

? ? ? ? 按單詞反轉字符串:點擊打開鏈接

? ? ? ? 刪除數組中重復的元素:點擊打開鏈接

?

1、數組和鏈表的區別

? ? ? 數組不允許動態地定義其大小,只能夠將其定義成足夠大小,這樣可能會造成空間的浪費。

? ? ? 數組在內存中是順序的存儲,可以以O(1)時間查找元素,但是需要O(n)時間插入和刪除元素(因為其后面的元素都需要跟著移動)。

? ? ? 鏈表可以動態地定義其大小。其在內存中是鏈式的存儲,訪問元素是需要從頭開始向后順序訪問,所以需要O(n)時間查找元素;如果在所需位置直接插入或刪除元素,需要O(1)時間,如果在需要先找到所需位置再插入或刪除元素,需要O(n)時間。

2、鏈表的基本操作:反轉,是否存在環,循環鏈表點擊打開鏈接和雙向鏈表點擊打開鏈接的查找、插入、刪除操作。

3、棧的入棧和出棧:點擊打開鏈接,隊列的入隊和出隊:點擊打開鏈接

4、二叉樹的基礎知識:點擊打開鏈接及其三種遍歷(遞歸和非遞歸實現):點擊打開鏈接

5、圖的基礎知識:點擊打開鏈接

6、常用散列函數和沖突消解機制:點擊打開鏈接

?

7、排序算法中基本的冒泡排序、選擇排序、插入排序需要很快地用代碼實現。堆排序、歸并排序、快速排序需要掌握其主要思想,并熟悉常用排序算法的時間和空間復雜度,及其應用范圍:

? ? (1) 當數據規模較小時,直接采用直接插入排序或直接選擇排序。

? ??(2) 當數據已經基本有序時,可以用直接插入排序或冒泡排序。

? ? (3) 當數據規模較大時,可以用快速排序。當記錄隨機分布時,快速排序的平均時間最短。當最壞情況時,其時間復雜度為O(n2),空間復雜度為O(n)。

? ???(4) 堆排序所需的輔助空間比快排少,但這兩種方法都不穩定。

? ? ?(5) 歸并排序既可以用于內部排序,也可以用于外部排序,是一種穩定的算法。

8、能熟練寫出二分查找的程序。

9、熟悉算法的思想:貪心算法,動態規劃,分治算法。

?

?

參考:https://www.cnblogs.com/houjun/p/4896268.html

總結

以上是生活随笔為你收集整理的数据结构知识点汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。