更新時間:2020-08-31 08:32:28 來源:動力節(jié)點 瀏覽1411次
近期有不少朋友在問小編,哪有數據結構與算法視頻下載?里面有哪些知識點?
動力節(jié)點就推出了數據結構與算法視頻,數據結構是指相互之間存在一種或多種特定關系的數據元素的集合,數據結構也是計算機存儲、組織數據的方式,通常情況下,良好的的數據結構可以帶來更高的運行或者存儲效率,往往與性能、優(yōu)化話題相關 。
1. 鏈表是一種由節(jié)點組成的線性數據集合,每個節(jié)點通過指針指向下一個節(jié)點。它是 一種由節(jié)點組成,并能用于表示序列的數據結構。
2. 單鏈表:每個節(jié)點僅指向下一個節(jié)點,最后一個節(jié)點指向空
3. 雙鏈表:每個節(jié)點有兩個指針p,n。p指向前一個節(jié)點,n指向下一個節(jié)點,最后一個 節(jié)點指向空。
4. 循環(huán)列表:每個節(jié)點指向下一個節(jié)點,最后一個節(jié)點指向第一個節(jié)點。
5. 時間復雜度:索引:O(n),查找:O(n),插入:O(1),刪除:O(1)
1. 棧是一個元素集合,支持兩個基本操作:push用于將元素壓入棧,pop用于刪除棧頂元素。
2. 后進先出的數據結構
3. 時間復雜度:同上
1. 隊列是一個元素集合,支持兩種基本操作:enqueue用于添加一個元素到隊列, dequeue用于刪除
2. 先進先出的數據結構
3. 時間復雜度:同上
1. 樹是無向的聯通的無環(huán)圖
2. 二叉樹:是一個樹形數據結構,每個節(jié)點最多可以有兩個子節(jié)點,稱為左子節(jié)點和 右子節(jié)點。
3. 滿二叉樹:二叉樹中每個節(jié)點有0或者2個子節(jié)點。
4. 完美二叉樹:二叉樹中每個節(jié)點有兩個子節(jié)點,并且所有的葉子節(jié)點的深度是一樣 的
5. 完全二叉樹;二叉樹中除最后一層外,其他各層的節(jié)點數均達到最大值,最后一層 的節(jié)點都連續(xù)集中在最左邊。
1. 是一種二叉樹,其任何節(jié)點都大于等于左子樹中的值,小于等于右子樹中的值。
2. 時間復雜度:索引查找插入刪除均為O(log(n))
1. 又稱為基數樹或前綴樹,是一種用于存儲鍵值為字符串的動態(tài)集合或關聯數組的查 找樹。樹中的節(jié)點并不直接存儲關聯鍵值,而是該節(jié)點在樹中的位置決定了其關聯 鍵值,一個節(jié)點的所有子節(jié)點都有相同的前綴,根節(jié)點則是空字符串。
1. 又稱為二進制索引樹,其概念上是樹,但以數組實現,數組中的下標代表樹中的節(jié) 點,每個節(jié)點的父節(jié)點或子節(jié)點的下標可以通過運算獲得。數組中的 每個元素都 包含了預計算的區(qū)間值之和,在整個樹更新的過程中,這些計算的值也同樣會被更 新。
2. 時間復雜度:區(qū)間求和:O(log(n)),更新:O(log(n))
1. 線段樹是用于存儲區(qū)間和線段的樹形數據結構。它允許查找一個節(jié)點在若干條線段 中出現的次數。
2. 時間復雜度:同上
1. 堆是一種基于樹的滿足某些特征的數據結構,整個堆中的所有父子節(jié)點的鍵值都滿 足相同的排序條件。堆分為最大堆和最小堆。在最大堆中,父節(jié)點的鍵值永遠大于 所有子節(jié)點鍵值,根節(jié)點的鍵值是最大的。最小堆中,父節(jié)點的鍵值永遠小于子節(jié) 點鍵值,根節(jié)點的鍵值是最小的。
2. 時間復雜度:索引查找插入刪除:同上,刪除最大最小:O(1)
1. 哈希用于將任意長度的數據映射到固定長度的數據。哈希函數的返回值被稱為哈希 值哈希碼或者哈希。如果不同的主鍵得到相同的哈希值,則發(fā)生了沖突。
2. Hash Map:hashmap是一個存儲鍵值關系的數據結構,hash map通過哈希函數將鍵 值轉化為桶或者槽中的下標,從而便于指定值的查找。
3. 沖突解決:鏈地址法:在鏈地址法中,每個桶是相互獨立的,每個索引對應一個元 素列表。處理hashmap的時間就是查找桶的時間與遍歷列表元素的時間之和。
4. 開放地址法:在開放地址法中,當插入新值時,會判斷該值對應的哈希桶是否存在, 如果存在則根據某種算法依次選擇下一個可能的地址,直到找到一個未被占用 的地址。開放地址即某個元素的位置并不永遠由其哈希值決定。
1. 圖是G=(V,E)的有序對,其包括頂點或節(jié)點的集合V以及邊或弧的集合E,其中E包 括了兩個來自V的元素。
2. 向圖:圖的鄰接矩陣是對稱的,因此如果存在節(jié)點u到節(jié)點v的邊,那節(jié)點v到 節(jié)點u的邊也一定存在。
3. 有向圖:圖的鄰接矩陣是非對稱的
以上就是數據結構與算法視頻教程中大家需要掌握的知識點,如果想了解更多Java視頻教程,可以到官網的視頻頁面中下載相關教程。