一下內容為個人理解,非專業出身,所以描述的不專業,比較偏向大白話。
日常當中很多資訊,大家在處理資訊的時候都會不自覺的使用一些資料結構思想。查字典就是一種,按照abcd的順序去初步定位到自己要查的字在哪個範圍,然後在逐一去看,最終找到自己想要的字。還有在網購的時候,都有一些篩選條件,比如你要哪個品牌的,多大尺寸的,什麼價位的等等。用了採用資料結構思想,可以節約查詢時間,加快增刪效率,總體目的就是提高工作效率。
資料結構,乙個是資料,乙個是結構。資料就是各種各樣的資訊,然後這些資訊相互關聯,構建出來的效果就是結構。
既然是程式設計師,應該聽過陣列結構,單向鍊錶結構,雙向鍊錶結構,雜湊表結構等等。這些結構中的資料,只取出乙個,不叫資料結構,單個的就是乙個乙個的資料,但是這些資料相互之間有關係,組合到一起就是各種各樣不同的資料結構。
陣列就是索引連續的,乙個挨著乙個的,實體地址連續的。
單向鍊錶就想單行道,只能從乙個方向往另乙個方向查詢。
雙向鍊錶就是雙行到,可以往兩個方向查詢。
雜湊表在hashmap集合裡面有詳細講解。
還有紅黑樹結構等
邏輯結構,就是說這些資料之間存在這邏輯關係,形成的邏輯結構。比如集合結構,線性結構,樹狀結構,圖形結構等等。
物理結構,是說這些資料在儲存的時候是什麼結構。
比如陣列就是實體地址連續儲存的,有序的。
鍊錶結構就是實體地址不連續的,也是有序的。
雜湊表是既有實體地址連續的部分,也有實體地址不連續的部分,它是無序的。
大概就是一下幾類,如果都掌握了,工作中基本都能滿足了
線性表:零個或多個資料元素的有序序列。例如arraylist,linkedlist。
佇列:只允許在一段插入,另一端刪除操作的線性表。例如handler訊息佇列。
堆疊:棧是限定在表尾插入和刪除操作的線性表。例如android中管理activity的任務棧。
樹:樹是n個節點的有序集,節點可以想樹一樣,越向葉子節點,就沒有交集。例如hashmap集合中如果單向鍊錶超過8個就會變成樹結構。
圖論:有頂點的又窮空集合,和頂點之間邊的集合組成。
排序和查詢演算法:排序是對資料進行順序排列,查詢是在大量資料中尋找我們需要的資料的過程。
簡述資料結構 超簡述演算法
程式由儲存資料的結構和解決問題的演算法組成,在計算機的世界裡,結構和演算法存在 相輔相成 的關係。程式根據演算法選擇最合適的儲存結構,演算法依賴儲存結構,選擇最優的策略處理資料,達到占用空間少 計算時間少的目的。打個比方,遇到乙個實際問題,需要解決兩個事情 1 如何將資料儲存在計算機中 2 用什麼方...
簡述題(資料結構)
資料結構重點研究 資料 還是 結構 重點研究結構。資料結構是一門研究非數值計算的程式設計問題中計算機操作物件 即資料元素 以及他們之間的關係和運算的學科。如何合理組織高效處理資料是資料結構主要研究問題。線性表的儲存結構膠順序表,線性表的鏈式儲存結構叫鍊錶,請簡述你對 順序表順序儲存 隨機讀取 鍊錶隨...
資料結構(c 版)
第一章 緒論 1.資料表示 資料儲存在計算機的記憶體中,核心是資料結構。資料處理 實際問題的求解必須滿足各項處理要求,核心是演算法。2.資料 資訊的載體,計算機中指所有能輸入到計算機中並能被電腦程式識別和處理的符號集合。資料元素 資料的基本單位。資料項 構成資料元素的不可分割的最小單位。資料結構 相...