考研數據結構面試題


  1. 數據結構:數據結構是相互有關聯的數據元素的集合。主要研究數據的邏輯結構,存儲結構以及數據的運算。

  2. 數據的邏輯結構:反映數據元素之間的邏輯關系。包括線性結構和非線性結構

  3. 數據的存儲結構:數據的邏輯結構在計算機存儲空間中的存放形式成為數據的存儲結構。常用的存儲結構包括順序、鏈接、索引等存儲結構

  4. 棧是限定僅在表尾進行插入和刪除操作的線性表

  5. 數組和鏈表的區別:

從邏輯結構來看:

  • 數組必須限定數組的長度,不能適應數據的動態增減情況。當數據增加的時,可能超過原先定義的元素的個數;當數據減少時,造成內存浪費。數組可以根據下標直接存取

  • 鏈表動態地進行存儲分配,可以適應數據動態增減情況,且可以方便地進行插入、刪除等操作。(數組中插入、刪除操作非常復雜)

從內存存儲來看:

  • (靜態)數組從棧中分配空間,對於程序員方便快捷,但是自由度小

  • 鏈表從堆中分配空間,自由度大,但是申請管理比較麻煩

  1. 什么是算法:是對特定問題求解步驟的一種描述

  2. 算法的時間復雜度:指算法執行過程中所需要的基本運算次數

  3. 算法的空間復雜度:指算法執行的過程中所需要的存儲空間

  4. 算法分析的目的是:分析算法的效率以求改進

  5. 線性表的定義:線性表是n個元素構成的有限序列。除第一個元素之外,每個元素有且只有一個前驅;除最后一個元素以外,每個元素有且僅有一個后繼

  6. 什么是棧?棧是一種只能在表的一端進行插入和刪除運算的的線性表。通常稱插入、刪除的一端為棧頂(Top

  7. 什么是隊列?隊列是只允許在一端刪除,在另一端插入的線性表。允許刪除的一端叫隊頭,允許插入的一端叫隊尾。隊列是先進先出的結構。

  8. 什么是線索二叉樹?指向節點前驅和后繼的指針,叫做線索。加上線索的二叉樹稱為線索二叉樹

  9. 什么是哈夫曼樹?在含有N個帶權葉子結點的二叉樹中,其中帶權路徑(WPL)最小的二叉樹稱為哈夫曼樹

  10. 串是零個或多個字符組成的有限序列

  11. 在一個串中任意個連續字符組成的子序列稱為該串的子川,包含子川的串稱為主串

  12. 模式匹配:(在順序串上子川的定位運算)是在主串中查找子串出現的位置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM