數(shù)據(jù)結(jié)構(gòu)和算法為什么那么重要 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法有什么用?
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法有什么用?比如說,八皇后問題(即在8*8的國際棋盤上放8個(gè)皇后,那些要求互不能吃到),如果絕對不會(huì)數(shù)據(jù)結(jié)構(gòu)和算法,那肯定不能用窮舉了(嚴(yán)格說,遞歸也一種算法……),毫無效率,要是會(huì)數(shù)
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法有什么用?
比如說,八皇后問題(即在8*8的國際棋盤上放8個(gè)皇后,那些要求互不能吃到),如果絕對不會(huì)數(shù)據(jù)結(jié)構(gòu)和算法,那肯定不能用窮舉了(嚴(yán)格說,遞歸也一種算法……),毫無效率,要是會(huì)數(shù)據(jù)結(jié)構(gòu)和算法,就可以快的的用深搜或者寬搜來解決的辦法。
再諸如,最短路徑問題,也如此。
為什么我聽不懂?dāng)?shù)據(jù)結(jié)構(gòu)與算法?
這東西沒什么太大的竅門,就是多練。如果你的教材是嚴(yán)蔚敏的《數(shù)據(jù)結(jié)構(gòu)(C語言版)》,我勸你換一本書看一下,是因?yàn)槟潜緯娴氖腔逎y懂。幫我推薦《數(shù)據(jù)結(jié)構(gòu)與算法分析: C語言描述》:
2后再好好的看懂書上的各個(gè)源碼,如果不是可以,這個(gè)可以做部分習(xí)題。(別說自己沒有時(shí)間,我們都是過來人,總之也可以想各種辦法給自己整出時(shí)間)。
數(shù)據(jù)結(jié)構(gòu)和算法對于一個(gè)程序員重要到什么程度?
老板說別吹牛b。要切實(shí)際。要做阿里云計(jì)算。全球第二。這是實(shí)際。QPS五十萬能秒殺下單后,這是實(shí)際。天天上吹吹高并發(fā),最終QPS僅有五千,甚至連一千QPS都就沒的,還還不如畢業(yè)生
嘛,這個(gè)是判斷你30多歲以后還能否不再一定要堅(jiān)持技術(shù)路線的根本,不然的話沒有辦法往項(xiàng)目管理靠,不然很難失業(yè)保障金。
為什么程序和數(shù)據(jù)結(jié)構(gòu)有關(guān)?
數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)學(xué)科,曾獲圖靈獎(jiǎng)的Pascal之父NicklausWirth提出來過一個(gè)有名的公式:
算法數(shù)據(jù)結(jié)構(gòu)程序
足以證明在計(jì)算機(jī)程序中,數(shù)據(jù)結(jié)構(gòu)是擁有的土地很有用的位置的。就像是從計(jì)算機(jī)能解決問題時(shí),大概是需要經(jīng)以下幾個(gè)步驟:
(1)從具體看問題中抽象化出數(shù)學(xué)模型;
(2)依據(jù)什么數(shù)學(xué)模型設(shè)計(jì)算法;
(3)將算法用程序語言實(shí)現(xiàn)程序。
算法是人腦通過邏輯思考以后的產(chǎn)物,這樣要如何高效穩(wěn)定的利用算法,就需要一個(gè)好的數(shù)據(jù)結(jié)構(gòu)來對數(shù)據(jù)進(jìn)行存儲(chǔ)及操作。
為什么互聯(lián)網(wǎng)公司對大學(xué)生面試都是考數(shù)據(jù)結(jié)構(gòu)和算法?
項(xiàng)目經(jīng)驗(yàn)也不怎么問,語言基礎(chǔ)也很少很少,把英語學(xué)好數(shù)據(jù)結(jié)構(gòu)和算法要高智商嗎?
我給新人的時(shí)候都是考數(shù)據(jù)結(jié)構(gòu)。首先說下為什么不考數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是開發(fā)人員的基礎(chǔ),數(shù)據(jù)結(jié)構(gòu)學(xué)不好的或說用不好,就會(huì)引響程序的邏輯,實(shí)現(xiàn)程序的效率,的或說是否能基于程序的基本功能。立即說下語言的問題。語言重要性次之,各編程語言都是相容的,接受新的語言都很很簡單,語言只是因?yàn)閷?shí)現(xiàn)功能的手段當(dāng)然不太重要的是。后來說下項(xiàng)目經(jīng)驗(yàn),你一個(gè)剛畢業(yè)的學(xué)生,外界項(xiàng)目的可能性較小,是學(xué)校的作業(yè),小作品,沒有太大意義。