資料結構是計算機儲存、組織資料的方式。是指相互之間存在著一種或多種關係的資料元素的集合和該集合中資料元素之間的關係組成。簡單來說就是將資料按照特定的結構來儲存,也就是資料怎麼存
相鄰的資料元素存放的位址也是相鄰的,儲存密度等於1,比如陣列
儲存時的資料元素存放的位址不一定時相鄰的,使用指標實現元素之間的邏輯關係,儲存空間是動態分派的,儲存密度小於1
舉個例子,比如說我們去銀行辦理業務,若需要排隊辦理,那麼就要按照順序逐個辦理,並且要進行排隊,位置是固定不變的;還有另一種方式,根據辦理號碼來進行辦理,每個人都有乙個號碼,辦理人只需要等被叫號就可以,在這過程中可以找位置休息等待,不需要進行排隊;"排隊"的我們可以理解成順序儲存,"叫號"可以理解成鏈式儲存
資料元素之間的邏輯關係
集合結構中的所有的資料元素屬於乙個集合,他們之間是並列的關係
結構內的元素存在一對一的關係
結構上的元素存在一對多的關係
結構上的元素存在多對多的關係
是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。簡單來說就是解決問題的流程步驟;比如說數學中的 a² + b² = c²
指的是可以為乙個演算法提供0到多個資料
指的是每個演算法至少要有乙個輸出,乙個結果
乙個演算法在有限的執行時間中可以得到結果
結果的確定性,乙個輸入對應乙個輸出
乙個演算法可以解決實際問題
正確的解決問題
可以使其他人讀取
要有完整健壯的規則
演算法執行的時間
演算法執行時占用的記憶體
資料結構與演算法 一 概述
資料結構與演算法 二 稀疏陣列與佇列 資料結構與演算法 三 鍊錶 資料結構與演算法 四 棧 資料結構與演算法 五 遞迴 演算法是程式的靈魂,優秀的程式可以在海量資料計算時,依然保持高速計算 一般來講,程式會使用了記憶體計算框架 比如 spark 和快取技術 比如 redis 等 來優化程式 目前程式...
資料結構pintia 資料結構和演算法(一)概述
資料結構,用來描述資料間的關係 演算法,指解決某一特定問題的步驟 資料結構為演算法服務,演算法是特定問題下的解決辦法,故沒有通用性演算法,應具體問題具體分析 一 資料結構 以上為資料結構的邏輯結構,在計算機內部的物理儲存結構有 順序結構,鏈式結構 索引結構和雜湊結構。二 演算法 三 學習目標 資料結...
js資料結構和演算法(一)概述
程式設計 資料結構 演算法資料結構就是關係,沒錯,就是資料元素相互之間存在的一種或多種特定關係的集合。傳統上,我們把資料結構分為邏輯結構和物理結構。邏輯結構 是指資料物件中資料元素之間的相互關係,也是我們今後最需要關注和討論的問題。物理結構 是指資料的邏輯結構在計算機中的儲存形式。常用的資料結構有 ...