版本號:2018/09/25-1(23:00)
特別鳴謝兄弟提供的幫助:
jun shibata 丶
sank
1、資料結構的定義是什麼?
資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。2、用自己的話簡單講講什麼是資料結構?
一組資料的儲存結構3、演算法的定義是什麼?
演算法(algorithm)是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。4、用自己的話簡單講講什麼是演算法?
運算元據的一組方法5、資料結構和演算法有什麼關係?
相輔相成的關係6、為什麼二分查詢演算法適用於陣列而不適用於鍊錶?資料結構是為演算法服務的
演算法需要作用在特殊的資料結構上
陣列具有隨機訪問的特點。7、什麼是隨機訪問?鍊錶不支援隨機訪問, 本身是順序訪問的。
鍊錶也可以使用二分查詢,但是查詢過程中效率低下,已經失去了二分查詢的優勢。
資料在記憶體中是按順序存放,可以通過下標直接定位到某乙個元素存放的位置8、什麼是二分查詢演算法?如: a[3]、a[10]
二分查詢也稱折半查詢(binary search),是一種效率較高的查詢方法。9、資料結構和演算法最重要的概念是什麼?演算法要求:
必須採用順序儲存結構(如陣列就是順序儲存,能夠隨機訪問)。
必須按關鍵字大小有序排列(需要有序或者先進行排序)。
演算法介紹:
如果將一組資料從小到大的順序排序(
a[0]~a[10]
),然後計算出中間索引值(5
)。然後標膠目標值target
和a[5]
的大小。如果targeta[5]
,則在中間索引值的右邊範圍內尋找(a[6]~a[10]
)。如果target=a[5]
, 則返回中間索引值(5)。如此反覆。
複雜度分析10、時間複雜度越高,執行效率就越低嗎?佔據了資料結構和演算法的半壁江山
是一種能夠分析效率和資源消耗的方法
理論上時間複雜度越高,執行效率就越低。資料結構的定義是什麼?但實際上時間複雜度與執行時間並不劃等號
一定場景中o(logn)要比o(1)演算法還要快(目前我還不知道,王爭在後面會去講)
用自己的話簡單講講什麼是資料結構?
演算法的定義是什麼?
用自己的話簡單講講什麼是演算法?
資料結構和演算法有什麼關係?
為什麼二分查詢演算法適用於陣列而不適用於鍊錶?
什麼是隨機訪問?
什麼是二分查詢演算法?
資料結構和演算法最重要的概念是什麼?
時間複雜度越高,執行效率就越低嗎?
【☆】什麼是順序訪問?
鍊錶在記憶體中不是按順序存放的,而是通過指標連在一起,為了訪問某一元素,必須從鏈頭開始順著指標才能找到某乙個元素
【☆】什麼是順序儲存結構?
順序儲存結構是儲存結構型別中的一種【☆】什麼是隨機儲存結構?該結構是把邏輯上相鄰的結點儲存在物理位置上相鄰的儲存單元中,結點之間的邏輯關係由儲存單元的鄰接關係來體現。
如鍊表,邏輯上節點是順序訪問的,但是在儲存時可能儲存在不連續的記憶體區域中
資料結構 演算法基本概念
1 有窮性 2 確定性 3 可行性 4 輸入 5 輸出 1 時間複雜度 它定性描述演算法的執行時間。乙個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數多,它花費時間就多。乙個演算法中的語句執行次數稱為語句頻度或時間頻度,記為t n 時間複雜度又分為 最壞時間複雜度,平均時...
資料結構和演算法 01 基本概念
資訊的載體,是描述客觀事物的數值 字元以及所有能輸入到計算機中並被電腦程式識別的處理的符號的集合。是資料的基本單位 在計算機中,通常把資料元素作為乙個整體進行處理。eg.乙個資料元素可由若干個資料項組成,資料項是構成資料元素的不可分割的最小單位。eg.一組相同性質的資料元素的集合。eg.相互之間存在...
資料結構與演算法基本概念
一 基本資料結構 基本資料結構的定義 特性 運算 演算法。基本資料結構的分類 邏輯結構 1 線性結構 線性表 棧 佇列 雙佇列 陣列 廣義表 串 2 非線性結構 樹 二叉樹 圖 網 儲存結構 1 順序儲存 向量 一維陣列 2 鏈式儲存 鍊錶 二 演算法 查詢 順序 折半 分塊 雜湊 二叉排序樹 排序...