數(shù)據(jù)結(jié)構(gòu)第三版課后題詳細(xì)答案 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),有什么好的書籍可以推薦?
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),有什么好的書籍可以推薦?計(jì)算機(jī)專業(yè)從事軟件開發(fā)多年,學(xué)校開設(shè)了數(shù)據(jù)結(jié)構(gòu)課程?;旧?,我第一次學(xué)C語言版的數(shù)據(jù)結(jié)構(gòu)的時候,腦子都快暈了,因?yàn)槲也粫?看不懂來回指的指針,后來問一位前輩怎么學(xué)
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),有什么好的書籍可以推薦?
計(jì)算機(jī)專業(yè)從事軟件開發(fā)多年,學(xué)校開設(shè)了數(shù)據(jù)結(jié)構(gòu)課程?;旧?,我第一次學(xué)C語言版的數(shù)據(jù)結(jié)構(gòu)的時候,腦子都快暈了,因?yàn)槲也粫?看不懂來回指的指針,后來問一位前輩怎么學(xué)這個東西。首先徹底理解了指針,然后學(xué)習(xí)了數(shù)據(jù)模型,最后一步直接用C語言代碼實(shí)現(xiàn)。起初,我不能 不試一試,我是不會理解的?;A(chǔ)不夠,很難理解透徹。所以我花時間研究了一下C語言的指針。因?yàn)楫?dāng)時網(wǎng)上沒有那么多資料,只能在網(wǎng)上找一些抽象的例子來研究。對指針的透徹理解是看了芮林博士寫的高質(zhì)量C/C編程,對指針的介紹特別深刻。從此指針慢慢被理解了。
掌握指針后,搞數(shù)據(jù)結(jié)構(gòu)比以前容易多了,不要 不要急于嘗試直接從事代碼工作。先了解數(shù)據(jù)模型,數(shù)據(jù)模型是連接數(shù)據(jù)、鏈表、隊(duì)列、棧、二叉樹等概念的橋梁,再了解每個數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)和需要做的動作。在編寫代碼之前,先弄清楚這些數(shù)據(jù)模型要做什么,然后再嘗試編寫代碼。一般來說,第一個模型很難寫,然后類推。萬事開頭難。數(shù)據(jù)結(jié)構(gòu)書籍主要分為多種編程語言,包括C語言、C語言和Java版本數(shù)據(jù)機(jī)構(gòu)。這類書講解起來沒有太大區(qū)別,沒必要太追求那本書,主要是模型思路和代碼實(shí)現(xiàn)。
什么?;學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)有什么用?現(xiàn)在就你所從事的行業(yè)來說,C/C,數(shù)據(jù)結(jié)構(gòu)是一個基本功。設(shè)計(jì)一個功能模塊除了選擇編程語言,剩下的就是構(gòu)造一個數(shù)據(jù)模型,在C語言里叫結(jié)構(gòu),在C里叫類,怎么設(shè)計(jì)有時候取決于數(shù)據(jù)結(jié)構(gòu)里的基本模型。常見編程模型中更多使用隊(duì)列和鏈表,通用設(shè)計(jì)模型中涉及消息隊(duì)列。它是一個典型的數(shù)據(jù)模型。如果你有數(shù)據(jù)結(jié)構(gòu)基礎(chǔ),這些東西理解起來會很快。所謂編程基礎(chǔ),除了基本的編程語法基礎(chǔ),還包括數(shù)據(jù)模型等基礎(chǔ)。
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)對算法的理解也很有幫助。即使最復(fù)雜的算法也是由基本的數(shù)據(jù)結(jié)構(gòu)算法構(gòu)造的。任何算法都不是空中樓閣。沒有這些基礎(chǔ),直接從事算法的學(xué)習(xí)幾乎是不可能的。
了解了通用的數(shù)據(jù)結(jié)構(gòu)模型,就更容易理解大型項(xiàng)目的代碼。要得到一個源代碼,首先要整理的是里面的函數(shù)列表和數(shù)據(jù)內(nèi)容的傳輸。理解數(shù)據(jù)結(jié)構(gòu)對理解框架非常有益。玩大型項(xiàng)目要從了解基礎(chǔ)代碼開始,研究代碼需要一定的基礎(chǔ)。有了模型的概念,我們可以更快的用一個框架來研究代碼。剛?cè)胄械臅r候,經(jīng)常聽老程序員說,一個新的功能模塊,只需要整理好數(shù)據(jù)結(jié)構(gòu)就可以了?,F(xiàn)在,你可以考慮寫代碼了。唐 不要看功能模塊中的小類或小結(jié)構(gòu)。其中的每個變量都可能串聯(lián)一系列的功能,所以在設(shè)計(jì)一個結(jié)構(gòu)的時候,基本的功能模塊都會設(shè)計(jì)的很清楚。
很多初學(xué)者都有這樣一個壞習(xí)慣,邊寫代碼邊設(shè)計(jì)思路,這是編程大忌。編程首先要有清晰的思路,代碼只顯示你的思路。具體實(shí)施要看基本功。不同功能的設(shè)計(jì)師會有完全不同的效果,性質(zhì)不同,實(shí)現(xiàn)效果也不同。本質(zhì)上是實(shí)力的差異。所以寫代碼是為了實(shí)現(xiàn)既定的思路,數(shù)據(jù)結(jié)構(gòu)是設(shè)計(jì)結(jié)構(gòu)或類的基本依據(jù)。
希望能幫到你。
學(xué)Java和大數(shù)據(jù),好找工作嗎?能做哪些崗位?
大數(shù)據(jù)行業(yè)的發(fā)展空間和待遇越來越好。很多想轉(zhuǎn)行大數(shù)據(jù)的新手,對大數(shù)據(jù)相關(guān)的工作并不確定。今天加米谷的大數(shù)據(jù)是一個大概的想法。
1.大數(shù)據(jù)開發(fā)工程師
開發(fā)、構(gòu)建、測試和維護(hù)架構(gòu),負(fù)責(zé)公司的開發(fā)和維護(hù);;的大數(shù)據(jù)平臺,并負(fù)責(zé)平臺的架構(gòu)設(shè)計(jì)和產(chǎn)品開發(fā),以持續(xù)集成相關(guān)工具。
2.數(shù)據(jù)分析師
收集、處理和執(zhí)行統(tǒng)計(jì)數(shù)據(jù)分析;利用工具提取、分析和呈現(xiàn)數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的商業(yè)意義,需要業(yè)務(wù)理解和工具應(yīng)用能力。
3.數(shù)據(jù)挖掘工程師
數(shù)據(jù)建模、機(jī)器學(xué)習(xí)和算法實(shí)現(xiàn);商業(yè)智能、用戶體驗(yàn)分析、流失用戶預(yù)測等。除了過硬的數(shù)學(xué)和統(tǒng)計(jì)知識,對算法的代碼實(shí)現(xiàn)也有很高的要求。
4.數(shù)據(jù)架構(gòu)師
需求分析、平臺選擇、技術(shù)架構(gòu)設(shè)計(jì)、應(yīng)用設(shè)計(jì)與開發(fā)、測試與部署;高級算法設(shè)計(jì)和優(yōu)化;數(shù)據(jù)相關(guān)系統(tǒng)的設(shè)計(jì)和優(yōu)化需要平臺級開發(fā)和架構(gòu)設(shè)計(jì)能力。
大數(shù)據(jù)相關(guān)專業(yè)崗位及主要工作內(nèi)容:
相關(guān):大數(shù)據(jù)技術(shù)的應(yīng)用方向