C语言复杂数据结构
復雜數據結構
- 鏈表、哈希表、二叉樹、圖等
- 為什么需要更復雜的數據結構
- 數據結構和算法的關系
- 數據結構和算法應該如何學習
鏈表、哈希表、二叉樹、圖等
鏈表是最重要的,鏈表在linux內核中使用非常多,驅動、應用編寫很多時候都需要使用鏈表。所以對于鏈表必須要掌握到會自己定義結構體來實現鏈表,會寫鏈表的節點插入(前插、后插)、節點刪除、節點查找、節點遍歷等。
哈希表不是很常用,一般不需要自己寫來實現,而直接使用別人實現的哈希表比較多。對于我們來說最重要的是明白哈希表的原理、從而知道哈希表的特點、從而知道什么時候該用哈希表,當看到別人用了哈希表的時候要知道別人為什么要用哈希表、合適不合適?有沒有更好的選擇?
二叉樹、圖等,在嵌入式開發中用的很少,不用花費太多時間。
為什么需要更復雜的數據結構
因為現實中需要解決的問題是多種多樣的,問題的復雜度不同,所需要解決問題的算法和數據結構也不同。所以當處理一定復雜度的問題的時候就去針對性的研究解決問題的數據結構和算法。沒有遇到此類問題的時候,就不用去管這些數據結構了。
數據結構和算法的關系
數據結構的發明是為了配合一定的算法,算法是為了處理具體的問題,算法的實現依賴于響應的數據結構。
數據結構和算法應該如何學習
1.數據結構和算法是相輔相成的,要一起研究。<
總結
- 上一篇: 一级效能的冰箱有7个档夏天一般调到几档比
- 下一篇: C语言内存管理之堆