算法与数据结构(稀疏数组)
稀疏數組 Sparse Array
當一個數組中有大量元素相同時,可以用稀疏數組來表示,通過將有用信息記錄在小規模的數組中來縮減程序規模
原數組:
[0000102000300000004000000023000]\left[ \begin{matrix} 0 & 0 & 0 & 0 & 1 \\ 0 & 2 & 0 & 0 & 0 \\ 3 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 4 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 23 & 0 & 0 & 0 \\ \end{matrix} \right] ?????????003000?0200023?000000?000400?100000??????????
大小為:5×6=305 \times 6 = 305×6=30
稀疏數組:
第一行記錄原數組中所有的行數、列數以及所有的非零值個數。剩下的行依次記錄非零點信息
| 6 | 5 | 5 |
| 0 | 4 | 1 |
| 1 | 1 | 2 |
| 2 | 0 | 3 |
| 3 | 3 | 4 |
| 5 | 1 | 23 |
只記錄有用的值及其位置,大小為:3×6=183 \times6 = 183×6=18
相關章節
第一節 簡述
第二節 稀疏數組 Sparse Array
第三節 隊列 Queue
第四節 單鏈表 Single Linked List
第五節 雙向鏈表 Double Linked List
第六節 單向環形鏈表 Circular Linked List
第七節 棧 Stack
第八節 遞歸 Recursion
第九節 時間復雜度 Time Complexity
第十節 排序算法 Sort Algorithm
第十一節 冒泡排序 Bubble Sort
第十二節 選擇排序 Select Sort
第十三節 插入排序 Insertion Sort
第十四節 冒泡排序,選擇排序和插入排序的總結
第十五節 希爾排序 Shell’s Sort
第十六節 快速排序 Quick Sort
第十七節 歸并排序 Merge Sort
總結
以上是生活随笔為你收集整理的算法与数据结构(稀疏数组)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一、【绪论】数据结构的基本概念
- 下一篇: 算法与数据结构(约瑟夫问题)