官术网_书友最值得收藏!

1.1 數據結構

先來聊聊數據。

數據是一個寬泛的術語,可以指代所有類型的信息。最基本的數據就是數和字符串。在簡單而又經典的“Hello World!”程序中,字符串"Hello World!"就是數據。事實上,即便最復雜的數據通常也是由數和字符串組成的。

數據結構指的是數據的組合方式。到后面你就會知道,同樣的數據也可以有多種組合方式。

來看如下代碼。

x = "Hello! "
y = "How are you "
z = "today?"
print x + y + z

這個簡單的程序會處理3條數據。它把3個字符串整合輸出到一條信息中。如果要描述這個程序中數據的組合方式,我們會說“有3個獨立的字符串,每個字符串都存儲在一個變量中”。

但是,同樣的數據也可以存儲在數組中。

array = ["Hello! ", "How are you ", "today?"]
print array[0] + array[1] + array[2]

后面你會學到,數據結構不僅僅是數據的組合方式,還會極大地影響代碼運行速度。你組合數據的方式可能會讓程序的運行速度提高或者降低幾個數量級。如果要寫一個處理大量數據的程序,或是開發一個允許上千人同時訪問的網頁應用,那么你選擇的數據結構可能直接決定軟件會不會因為負載太高而崩潰。

當你深刻理解數據結構對軟件性能可能造成的影響后,就能寫出快速而優雅的代碼了。這也能大幅提升你作為軟件工程師的能力。

本章會先分析兩種數據結構:數組和集合。雖然它們看起來差不多,但是你會學到分析兩者性能的方法。

主站蜘蛛池模板: 稷山县| 阿城市| 射洪县| 贺州市| 平潭县| 三原县| 丰台区| 苗栗县| 武平县| 任丘市| 游戏| 新丰县| 衡阳市| 长沙市| 海伦市| 六安市| 大方县| 丰原市| 岚皋县| 宁乡县| 晴隆县| 溧水县| 桑日县| 沁源县| 边坝县| 桑植县| 彭泽县| 屯昌县| 林甸县| 雅安市| 墨江| 肥东县| 合川市| 河北区| 明光市| 江门市| 沅江市| 临澧县| 甘泉县| 镇安县| 祁阳县|