C语言复杂数据结构
復(fù)雜數(shù)據(jù)結(jié)構(gòu)
- 鏈表、哈希表、二叉樹(shù)、圖等
- 為什么需要更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)結(jié)構(gòu)和算法的關(guān)系
- 數(shù)據(jù)結(jié)構(gòu)和算法應(yīng)該如何學(xué)習(xí)
鏈表、哈希表、二叉樹(shù)、圖等
鏈表是最重要的,鏈表在linux內(nèi)核中使用非常多,驅(qū)動(dòng)、應(yīng)用編寫(xiě)很多時(shí)候都需要使用鏈表。所以對(duì)于鏈表必須要掌握到會(huì)自己定義結(jié)構(gòu)體來(lái)實(shí)現(xiàn)鏈表,會(huì)寫(xiě)鏈表的節(jié)點(diǎn)插入(前插、后插)、節(jié)點(diǎn)刪除、節(jié)點(diǎn)查找、節(jié)點(diǎn)遍歷等。
哈希表不是很常用,一般不需要自己寫(xiě)來(lái)實(shí)現(xiàn),而直接使用別人實(shí)現(xiàn)的哈希表比較多。對(duì)于我們來(lái)說(shuō)最重要的是明白哈希表的原理、從而知道哈希表的特點(diǎn)、從而知道什么時(shí)候該用哈希表,當(dāng)看到別人用了哈希表的時(shí)候要知道別人為什么要用哈希表、合適不合適?有沒(méi)有更好的選擇?
二叉樹(shù)、圖等,在嵌入式開(kāi)發(fā)中用的很少,不用花費(fèi)太多時(shí)間。
為什么需要更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)
因?yàn)楝F(xiàn)實(shí)中需要解決的問(wèn)題是多種多樣的,問(wèn)題的復(fù)雜度不同,所需要解決問(wèn)題的算法和數(shù)據(jù)結(jié)構(gòu)也不同。所以當(dāng)處理一定復(fù)雜度的問(wèn)題的時(shí)候就去針對(duì)性的研究解決問(wèn)題的數(shù)據(jù)結(jié)構(gòu)和算法。沒(méi)有遇到此類(lèi)問(wèn)題的時(shí)候,就不用去管這些數(shù)據(jù)結(jié)構(gòu)了。
數(shù)據(jù)結(jié)構(gòu)和算法的關(guān)系
數(shù)據(jù)結(jié)構(gòu)的發(fā)明是為了配合一定的算法,算法是為了處理具體的問(wèn)題,算法的實(shí)現(xiàn)依賴于響應(yīng)的數(shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)結(jié)構(gòu)和算法應(yīng)該如何學(xué)習(xí)
1.數(shù)據(jù)結(jié)構(gòu)和算法是相輔相成的,要一起研究。<
總結(jié)
- 上一篇: 一级效能的冰箱有7个档夏天一般调到几档比
- 下一篇: lc振荡电路工作原理视频讲解(lc振荡电