數(shù)據(jù)算法與結(jié)構(gòu) 為什么剛?cè)腴T的程序員沒有感覺到算法和數(shù)據(jù)結(jié)構(gòu)的重要性?
為什么剛?cè)腴T的程序員沒有感覺到算法和數(shù)據(jù)結(jié)構(gòu)的重要性?關(guān)于這個(gè)問題,首先,我非常遺憾地告訴你兩點(diǎn)。首先,能夠問這個(gè)問題意味著你不是一個(gè)程序員。只能說你才剛剛開始學(xué)習(xí)編程(即使你有一份編程工作,你也不能
為什么剛?cè)腴T的程序員沒有感覺到算法和數(shù)據(jù)結(jié)構(gòu)的重要性?
關(guān)于這個(gè)問題,首先,我非常遺憾地告訴你兩點(diǎn)。
首先,能夠問這個(gè)問題意味著你不是一個(gè)程序員。只能說你才剛剛開始學(xué)習(xí)編程(即使你有一份編程工作,你也不能改變這一點(diǎn))。就像說一個(gè)剛學(xué)了三個(gè)月吉他的人不能稱自己為吉他手(但他可以說是吉他手或吉他手)。
其次,我很抱歉地告訴你,你還沒有開始。入門的先決條件之一是理解程序?qū)嶋H上是一個(gè)算法數(shù)據(jù)結(jié)構(gòu)。所以你說你是一個(gè)入門級(jí)程序員,但你不覺得算法和數(shù)據(jù)結(jié)構(gòu)的重要性。那么我想問一下,除了算法和數(shù)據(jù)結(jié)構(gòu)之外,程序中還有什么重要的東西。
這些算法,比如hash算法、hash算法等等,只是為了了解數(shù)據(jù)結(jié)構(gòu)。這些都是經(jīng)典的算法和數(shù)據(jù)結(jié)構(gòu)。
你寫的程序,不能有任何這些經(jīng)典的數(shù)據(jù)結(jié)構(gòu)和算法,那么,你的程序沒有算法和數(shù)據(jù)結(jié)構(gòu)嗎?你的程序必須解決一個(gè)問題或做些什么。這些東西,你首先需要在計(jì)算機(jī)世界建立一個(gè)模型,這個(gè)模型就是數(shù)據(jù)結(jié)構(gòu)?;谶@些數(shù)據(jù),您的程序需要執(zhí)行一些指令,這些指令是作為一個(gè)整體的算法。因此,program=algorithm數(shù)據(jù)結(jié)構(gòu)就是在這個(gè)廣義上說的。
正是因?yàn)椤俺绦?算法數(shù)據(jù)結(jié)構(gòu)”,所以沒有了算法和數(shù)據(jù)結(jié)構(gòu),程序中就沒有殘留。至于算法和數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系,我不在這里討論??傊瑳]有數(shù)據(jù),算法就沒有對(duì)象和基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)和合理性將影響算法的性能。
為什么你感覺不到?答案是我答案開頭的兩點(diǎn)。我說的話似乎有點(diǎn)殘忍,但實(shí)際上沒什么。繼續(xù)學(xué)習(xí)。
程序員需要終身學(xué)習(xí)。
數(shù)據(jù)結(jié)構(gòu)和算法,哪個(gè)好?
他們都很好。它們有不同的特點(diǎn)。他們不怕可比性。