c語言數(shù)據(jù)結(jié)構(gòu)棧括號匹配 為什么有些算法崗位,需要用C 而不是python?
為什么有些算法崗位,需要用C 而不是python?C/C是一種相對低級的語言,它可以很好地控制CPU/內(nèi)存和其他計(jì)算機(jī)資源,尤其是硬件。在算法運(yùn)算最精細(xì)的時(shí)候使用它們是很自然的。但它們的優(yōu)點(diǎn)也是缺點(diǎn)
為什么有些算法崗位,需要用C 而不是python?
C/C是一種相對低級的語言,它可以很好地控制CPU/內(nèi)存和其他計(jì)算機(jī)資源,尤其是硬件。在算法運(yùn)算最精細(xì)的時(shí)候使用它們是很自然的。
但它們的優(yōu)點(diǎn)也是缺點(diǎn)。精細(xì)的操作自然需要精細(xì)的編程,精細(xì)的編程自然需要復(fù)雜的語言設(shè)置,比如什么是指針,什么是指針函數(shù),什么是函數(shù)指針當(dāng)你理解了這些概念,你可能就沒有編寫代碼的沖動(dòng)了。更重要的是,如果你想編寫高性能的代碼,你必須精通這些概念
Python的一個(gè)非常重要的特性就是所謂的“粘合語言”,也就是說它可以將用不同語言編寫的代碼模塊組合起來,然后通過Python調(diào)用它們。實(shí)際上,大多數(shù)算法庫都是用C/C語言編寫的,然后提供Python接口供用戶使用。畢竟,大多數(shù)人只需要知道如何調(diào)用封裝的算法。但是如果你想實(shí)現(xiàn)你自己的算法,你必須知道C/C
例如,Python就像一個(gè)電視遙控器,C/C就像遙控器中的電路板。通常,如果你想換臺(tái),只需按一下按鈕。但有一天你只需要一個(gè)將屏幕旋轉(zhuǎn)90度的功能,遙控器沒有這個(gè)功能,但可以通過卸下遙控板,插入幾個(gè)組件來實(shí)現(xiàn)。你是做什么的?
大一上剛自學(xué)完c語言,接下來是再去學(xué)c ,java之類的還是去學(xué)一些算法?。?/h2>
這取決于你未來的發(fā)展方向。
如果你想從事低層次的業(yè)務(wù)開發(fā),比如嵌入式、編譯器、桌面軟件、操作系統(tǒng)、大型游戲開發(fā),那么你就學(xué)好C、C。
?,F(xiàn)在加入我們
怎么提高C語言算法能力?
你好,我很高興為你回答。
其實(shí)算法和語言是不相伴的,算法就是算法,語言就是語言。學(xué)好算法很難,學(xué)好語言也很難。但是當(dāng)你把算法學(xué)好的時(shí)候,即使語言學(xué)不是很好,也不會(huì)影響你。因?yàn)樗惴ㄊ撬枷?,語言是實(shí)踐。
所以針對你的問題,我想說,如果你想提高算法能力,你應(yīng)該多看看,多思考,多實(shí)踐。大多數(shù)人在學(xué)習(xí)算法時(shí)都有一個(gè)非常糟糕的問題:按照書中的內(nèi)容鍵入代碼。敲了半天,程序跑完了,有成就感,所以不但沒有掌握算法思想,也沒有提高編程能力。因此,要記住學(xué)習(xí)算法,就必須充分了解算法的思想和實(shí)現(xiàn)步驟,徹底了解如何解決問題。然后考慮如何用語言實(shí)現(xiàn)它。