數據結構學習筆記_0
阿新 • • 發佈:2018-04-23
存儲方式 進行 自動 什麽是 類型變量 數據類型 二叉 轉換 使用 什麽是數據結構
將生活中大量的復雜的問題轉化成特定的數據類型和特定的存儲結構存儲在主存儲器(內存)中。為了完成某個目標(排序,求和等)而執行特定的操作。
針對同一個目標,如果用不同的數據類型和存儲結構。就需要采用不同的算法進行計算。
如:從一個線性表中找出最大值。使用數組與使用鏈表它們對應的查找代碼肯定是不一樣的。
站在數據結構的角度看平時的一些基本概念
什麽叫堆內存,棧內存
棧內存:系統以壓棧出棧(先進先出)的方式分配的內存叫棧內存
堆內存:系統以堆排序的方式分配的內存叫堆內存
根本原因是分配內存的算法不同
什麽叫隊列
是為例解決時間先後順序的一種數據結構,凡是涉及到線程先後順序問題的都有用到隊列
語法樹是什麽
編譯原理中有個語法樹這個概念,它是一種樹結構。
數據庫是什麽
數據庫是數據結構的一個狹隘版,它研究的是數據的存儲問題。也是每條數據的數據結構和多條數據之間的關系。
程序是什麽
程序 = 數據的存儲 + 數據的操作 + 可以被計算機執行的語言。
指針
cpu與內存 用三根總線連接。它們分別是:
地址線:管理著當前CPU可以訪問的內存地址
控制線:管理著當前CPU是:可讀,可寫。
數據線:cup處理後的數據
結構體
在定義一個結構體類型變量時,系統會自動為變量分配好內存空間,它是一個靜態變量。
一般在方法間傳遞結構體類型變量時,是傳遞指針,這樣避免消耗內存
數據結構在邏輯上分為線性,非線性
線性結構:數組,鏈表。
數組和鏈表是線性數據的一種存儲方式
棧和隊列是線性結構的一種表現形式。
什麽是樹
樹有節點和邊(指針)組成。
每一個節點都有一個父節點,但它可以有多個子節點。
根節點是個例外,它沒有父節點
二叉樹研究的問題是什麽
是如何將非線性數據存儲到線性存儲空間內
平時存儲的二叉樹是完全二叉樹,通過先,中,後序原則將完全二叉樹轉換成線性數據存儲到線性存儲器中。
完全二叉樹的存儲容器分為:順序存儲,鏈式存儲。
數據結構學習筆記_0