單純對于數(shù)據(jù)結(jié)構(gòu)和算法來說,其實(shí)兩者是一個抽象的東東,并不綁定在某個語言之上。換句話說,數(shù)據(jù)結(jié)構(gòu)和算法可以理解為數(shù)據(jù)的領(lǐng)域。因此,其實(shí)幾乎所有語言所支持的數(shù)據(jù)結(jié)構(gòu)和算法可以理解成一樣。
先說數(shù)據(jù)結(jié)構(gòu),比如常見的數(shù)據(jù)結(jié)構(gòu),數(shù)組、鏈表、棧、隊(duì)列和樹等等,這些數(shù)據(jù)結(jié)構(gòu)每種語言都可以實(shí)現(xiàn),只是實(shí)現(xiàn)細(xì)節(jié)上可能不同而已。以鏈表為例,在C語言中通常以指針的方式實(shí)現(xiàn),而在Python中根本就沒有指針的概念,但可以通過其它方式實(shí)現(xiàn)。
再說一下算法,算法更是與語言無關(guān),算法就是一些對數(shù)據(jù)的處理邏輯,因此用任何語言都可以實(shí)現(xiàn)。如果語言實(shí)現(xiàn)不了某些邏輯,顯然是有問題。
總體來說,數(shù)據(jù)結(jié)構(gòu)和算法并不是語言相關(guān)的。但是有一點(diǎn),除了數(shù)據(jù)結(jié)構(gòu)外,還有數(shù)據(jù)類型的概念,比如整型、字符、浮點(diǎn)等等,這些內(nèi)容在不同的語言中,實(shí)現(xiàn)上可能會有差異。