1.數(shù)據(jù)結(jié)構(gòu)和算法的關(guān)系
? ? (1)數(shù)據(jù)結(jié)構(gòu)是一門研究組織數(shù)據(jù)方式的學科敷硅,有了編程語言也就有了數(shù)據(jù)結(jié)構(gòu)寥粹。學好數(shù)據(jù)結(jié)構(gòu)可以編寫出更加漂亮更加有效率的代碼
? ? (2)要學習好數(shù)據(jù)結(jié)構(gòu)就要多多考慮如何將生活中遇到的問題用程序去實現(xiàn)解決
? ? (3)程序=數(shù)據(jù)結(jié)構(gòu)+算法
? ? (4)數(shù)據(jù)結(jié)構(gòu)是算法的基礎(chǔ),想要學好算法就必須學好數(shù)據(jù)結(jié)構(gòu)
2.數(shù)據(jù)結(jié)構(gòu)包括
? ? 線性結(jié)構(gòu)和非線性結(jié)構(gòu)
2.1線性結(jié)構(gòu)
? ? (1)線性結(jié)構(gòu)作為最常用的數(shù)據(jù)結(jié)構(gòu)跳纳,其特點是數(shù)據(jù)元素之間存在一對一的線性關(guān)系
? ? (2)線性結(jié)構(gòu)有兩種不同的存儲結(jié)構(gòu)套硼,即順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)兵钮。
? ? ? ? ? ? 順序存儲的線性表稱為順序表河咽,順序表中的存儲元素是連續(xù)的
? ? ? ? ? ? 鏈式存儲的線性表稱為鏈表,鏈表中的存儲元素不一定是連續(xù)的赋元,元素節(jié)點中存放數(shù)據(jù)元素以及相鄰的地址信息忘蟹。
? ? (3)線性結(jié)構(gòu)常見的有:數(shù)組飒房、隊列、鏈表和棧
2.2非線性結(jié)構(gòu)
? ? 非線性結(jié)構(gòu)包含:二維數(shù)組媚值、多維數(shù)組狠毯、廣義表、樹結(jié)構(gòu)褥芒、圖結(jié)構(gòu)